Understand Abstractions

Obsessing over endless details is unwise no matter how we look at it.

First, the scope may be too large. When the domain is too vast, we won’t have enough time to achieve mastery of it.

Second, a narrower scope can rapidly change in proportion to its novelty. The current hot trend is machine learning, but even name-dropping Cursor, Gemini, or Sora AI will date this essay. Books on those subjects will likely be entirely obsolete in 10 years.

And, when a topic is narrower and time-tested, that domain can often become obsolete. Paper-making has been around for a few thousand years, but knowing how to make it won’t serve much use unless you have a job in it.

So, unless you want to throw out everything you learned after a few years, the only domains worth learning are narrow, time-tested, and won’t likely grow obsolete in 50 years. It’s a small list.

What to learn, then?

Obviously, we must learn something to make ourselves better at our craft, and I propose the one form of knowledge which surpasses all the others is “abstraction”.

I would define an abstraction as “the essence of the thing, as understood in the mind, when all nonessential components of the thing have been removed”. This term makes “abstraction”, “primitive”, and “high-level concept” close synonyms.

In many ways, understanding the logic of a JavaScript library, the taxonomy of species, or how the periodic table of the elements works is a practical philosophical exercise in metaphysics.

While this sounds simple, I’m obviously writing an essay on it, and that’s because it really isn’t.

This isn’t common

Most people in STEM don’t have a natural intuition for primitives because the realm is a vast composite of hyper-specialization.

I’ll use OS development as an example:

  1. The computers industry itself is a sprawling realm of the broader niche of electronics. Electronics, in turn, is a subset of a subset of electrical engineering, which we could broadly group as “electrical work” if we wanted.
  2. Inside the computer world, hardware and software branch off. Software development is a further subset. Data science and cybersecurity straddle alongside software development, and the terms can sometimes overlap. This doesn’t even scratch the adjacent domains of sound engineering, web design, graphic design, CAD, UX, and other inter-related engineering disciplines.
  3. This expands further into cultural distinctions. The tech industry is disproportionately loaded with mid/high-functioning autism spectrum. One of the idiosyncrasies of ASD is an absolute obsession (and often mastery) of certain domains, with a complete disregard for related domains. They’ll frequently explore precisely what they like (e.g., OS development) and disregard everything else (e.g., app development).

Holistic vs. specific

We tend to learn much more by connecting two bits of unrelated information than from learning related information. Learning a little bit about every protocol, for example, is a faster way to understand networking than learning every tiny detail about one specific protocol.

However, if we’re going to be honest here, broad understanding doesn’t make as much money as short-term, granular skills. Therefore, sub-sub-niche information is usually more desirable on a rèsumè:

  1. Most of the business world treats workers more like a replaceable cog, but workers are more like an adaptable memory metal. On occasion, some managers discuss “soft skills” (e.g., customer service, teamwork), and then promptly ignore this fact to keep measuring the human condition with numbers.
  2. Craftsmanship requires exploring hands-on skills and cerebral work in a non-optimized way. Learning the thing invariably means we suck at it. A handwritten OS is educational, and shouldn’t be used in production.
  3. “Tribal knowledge” is the broad list of endless small details that nobody will ever bother documenting. It’s a big part of why we can’t easily automate most labor. It’s also why skilled professionals will often philosophically extrapolate across domains more easily than unskilled people develop skills.
  4. Well-designed technology gives the luxury of not having to understand how things work. Over time, the workplace culture consists more of affordably-priced “operators” than professionally-priced “experts”.

Most industries have this type of natural ignorance, but STEM more room to foster this niche-focused mindset.

Our time on this planet is limited, so we must be picky about how much information we gather.

Most trivia becomes obsolete in a decade or two, but some information (e.g., web standards, physical limitations) are nearly timeless. If you understand those things, the endless slew of over-information that destroys our sanity won’t sweep you up with it.

Breadth creates remixes

Beyond skill progression, there’s another less measurable reason for prioritizing abstractions over niche expertise.

All our creations draw from our environment to make something new. Everything ever made is simply a remix of everything else that becomes more useful to a specific purpose.

From a raw technical standpoint, brilliant ideas aren’t as clever as they first appear. The inventor was simply educated about 2 unrelated things at once, then the spark came when they found a pattern they could exploit.

  • Machine code is purely logic-based, compounded into 2-based numbers, so everything in computers is gradations of black-and-white true/false (excepting quantum computing).
  • All automation (such as programming functions) are a technical abstraction of how habits work, which mean it runs the same abstracted cycle of formation and adaptation. It also eventually creates catastrophe when the anticipated triggers or inputs deviate too strongly from actual triggers or inputs.

Some of the most brilliant hacks come from combining formerly unrelated domains:

  • Ride-sharing combines the need for people to take a one-way trip and how people are willing to work a side job.
  • Some hackers have redirected the extra processing heat from mining crypto or machine learning to heating their home.
  • Cheap hardware (e.g., embedded systems) can be a web server, email client, plant waterer, weather station, and more.

But abstractions are hard

We wish to believe the myths and follow the fashions of a brilliant solution, and smart people are extra skilled at avoiding hard work.

Unfortunately, abstractions are much more difficult to learn than trivia. Rote memorization doesn’t require rewiring our brains much. By contrast, abstractions require understanding.

    The dull sausage-making of success is less exciting than the glamorous get-absurdly-rich tech entrepreneur story. Understanding abstractions isn’t easy, and often isn’t as stimulating, but it creates better results.

    • A 10,000-foot view of what you’re working on makes all future learning easier.
    • Your understanding can help you to avoid wasting time with fashions that will render themselves obsolete within 5 years.
    • A simpler view of everything permits you to see absurdly simple solutions for complicated problems, which will make you look like some sort of genius.

    All this will mean you’ll live a more complete, fulfilling life on the things that you want to do.