AI and Individual Contributors

How is the day-to-day experience of the individual contributor changing with the adoption of AI tooling? The tool capabilities remain limited, but are growing rapidly. They do well on relatively simple tasks and fall down on complex problems. And yet the scope of work they can accomplish continues to expand. How can individual contributors ride this wave? What aspects of your work will grow in importance?

In what follows I focus on programming. That’s just one area of AI adoption. This technology is very broadly applicable, and the impact on other roles will be analogous.

Architectural Savvy #

The direct coding capability of the tools will radically reduce the work of coding. I already use the tools extensively to code initial versions of programs that need a few quick iterations to work correctly. Not vibe coding, but creating a simple utility I would use in a production setting. The tools cannot yet handle architecture-level decisions or interesting refactoring. They require stepwise instruction to get from point A to distant point B. But they can save time. And they will beget tools that are more deterministic in their quality, less subject to hallucinatory error, and capable of solving most problems that have been solved competently already.

Architectural savvy is the ability to quickly understand a system at the right level. This means zooming in and out through the layers of abstraction and finding the appropriate level for the question at hand to gain the insights you need.

Until AI capabilities reaches a much higher level, architectural savvy will remain at a premium. You ability to detect BS in the output of the tools depends on it. As simple programming tasks are reliably automated away, architectural savvy will grow in relative importance.

Product Focus #

The past adoption of programming frameworks offers useful lessons in what to expect with AI adoption. Framework native programmers know much more about how to use their favorite framework than they do about the underlying implementations. I used to ask entry-level programmers about UNIX file permissions. Now very few newbies have a clue about them. A framework allows programmers to operate at a higher level, covering ground more quickly provided they stay within its capabilities.

The downside of framework adoption is loss of understanding of implementation. Most framework users have little knowledge of what goes on under the hood. They trust the framework to take care of the details. Maybe it does. (Ask anyone who worked on a major Python project about their encounters with the GIL. Look at when node implemented exec.)

The upside of framework adoption was a greater focus on what to build rather than how. This emphasizes effectiveness over efficiency. Perfect efficiency working toward the wrong objective is useless, therefore effectiveness ultimately dominates efficiency. So this shift in emphasis is a welcome development, even though it introduces trade-offs about lock-in, implementation quality, runtime efficiency, capabilities limitations, framework trustworthiness, loss of modularity, and so on.

The adoption of AI will similarly relieve programmers of the need to understand the underlying details, and let them operate at a higher level. This doesn’t mean that understanding those details has no value. It does mean that such understanding will become more of a niche skill. Like with framework adoption, focus will shift toward effectiveness. So programmers should focus more on what to build, that is, product.

Soft Skills #

The economic drivers around AI adoption are no different from those around past disruptive technologies. The main difference with AI adoption is its broad scope of application and rapid pace. As with technological disruptions of the past, this one will leave us more specialized than before. There will be more niches to occupy, and you will need to find how your comparative advantage maps onto them.

Comparative advantage is not an isolated characteristic. It occurs in the context of trade. And so exploiting your comparative advantage requires soft skills, the ability to communicate, coordinate, and execute with others. As specialization increases, the scope of your hard skills will narrow, and the relative importance these soft skills will grow.

Advice #

If you are a young (or even not so young) individual contributor, here is my general advice: