The Compiler Moment, Again
History doesn’t repeat, but it rhymes.
I see a lot of doom and gloom by software developers about the advent of agentic programming. They feel an existential crisis as our craft rapidly changes. I feel it myself.
However like many I have also felt a jubilance at the freedom to build anything. No longer am I constrained by the syntax and eccentricities of a language. Of course now the question is: what do I build?
Now that anyone can be a programmer developers are worried about their relevance. Over the last few days I’ve watched my partner wrestle with Claude Cowork to automate a part of her job. Her company is doing an AI research spike and forcing everyone to program (for better or worse). Helping her revealed just how wide the gap in knowledge is between developers and those who’ve never seen a terminal before. It’s also revealed how early we are; so much knowledge is still required to build. She needed plenty of help. Don’t worry devs! We’re still needed.
This shift has reminded me of another time in software history that I learned about in class: the introduction of the FORTRAN compiler.
Prior to compilers, programmers had to write assembly by hand. This was a laborious process, and was limited to machine specialists. Initially, programmers were skeptical of the idea of a compiler. They didn’t believe it could produce code as fast or efficient as humans could.
For an expression like A = (B + C) * (D - E) the compiler would have to understand syntax, order of operations, and manage limited registers. None of these concepts existed. Now they are basic compiler theory.
When the FORTRAN compiler rolled out in 1957 it produced code that ran 90% as efficient as manually crafted code. All of a sudden:
- Scientists and engineers could write programs themselves using language
- Programs could be written 10x faster than before
- Software size and complexity rapidly increased
Computing shifted from machine operation to problem solving.
Before FORTRAN, programmers distrusted automatic code generation. After, compilers became standard tools.
Sound familiar?
Compilers enabled many more people to build with computers. Did the programming profession shrink? No- it became less specialized and expanded to included many more people. Eventually children were able to build HTML pages and make them publicly accessible via a global internet. Who would have imagined that in 1957?
Today, the LLM revolution is taking us one step higher in abstraction. One giant leap, in fact. We have become language agnostic, as our forefathers became machine agnostic.
The number of people who can write software is now exploding. Its being written faster than ever before, and complexity is growing exponentially. No longer simple HTML pages, people are building entire web applications with a few prompts.
The software development profession isn’t going away, but it is changing. We will always need problem solvers. Software is more networked and distributed than ever: instead of crafting syntax you’ll be crafting prompts and system architecture. You’ll no longer worry about spaces or tabs. You’ll never have to centre another div.
Some will mourn the diminishing need for handcrafted code. I feel the loss as well, as part of my profession fades into irrelevance. Yet I believe this shift will further expand the need for software developers.
Compilers greatly expanded the number of people who could program. The profession grew to include people of many different backgrounds who needed computers to do their job. LLMs will enable anyone, including mom and pop shops, to develop bespoke internal tools or automation.
Software requires maintenance and infrastructure, and will always need trusted experts to fix things when they go wrong.
Like the assembly programmers in the 1950s, we may see the title of “software developer” being broken out into a spectrum of professions that service this new paradigm. My intuition is that more will lean on non-technical skills.
The industrial revolution created net more jobs, but also brought with it volatility as people struggled through the transition. During the AI Revolution the most important thing for everyone is to keep learning to make their transition as smooth as possible.