Column Whenever I read the news these days, I see the same warning to developers: Watch out, AI is going to replace you.
I’m not buying it and wonder why so many have fallen for the trope that the machines’ first target will be those who created the machines? Is it ironic wishful thinking? Or a misunderstanding of what programmers actually do.
I spent the first decade of my career writing code, first assembly language, then C and C++. A lot has changed since I developed software for a living, but I still write code because it gives me a way to play with many of my ideas. Friends who do code for a living tell me "Plus ça change..." The tools evolve, as they always have, but the people and the job remain much the same.
Here are three reasons why coders will survive.
Writing code is the smallest part of the job
A professional developer does not work in a vacuum. Often they're part of a vast organization with existing processes, systems, capabilities, and resources – all of which impact what developers do and when they do it. The endless rounds of meetings devs invariably complain about mean they must carefully consider many matters long before sitting down to write a first line of code.
Being in the room (or Zoom) – present, listening, responding with a workable plan – is when the work begins. Do all of that right and actually writing code, if not exactly straightforward, at least makes sense in the context of the organization at which the code will perform a desired function. That's the real job of the developer – and, bizarrely, one thing that hardly shows up in "tests" administered to job candidates.
Coding is what nobody has coded before
Because many coding tasks involve routine implementation of plumbing, myriad libraries and automation tools exist to make sure developers don’t have to re-invent the wheel every day.
That’s because the main job for a developer is speculative – answering the question “Could we?" and going where no coder has been before in search of an answer.
Well beyond any frontier, there's no map for these territories, no Stack Exchange nor Reddit in these parts. None of the AI coding "assistants" – trained on those resources – can offer any help. The developer must find their own way, working by trial and error and gut instinct. This sort of specific and stubbornly human task may be the most satisfying work a coder ever gets to do.
- Meta's AI, built on ill-gotten content, can probably build a digital you
- Apple has locked me in the same monopolistic cage Microsoft's built for Windows 10 users
- Ignorance really is bliss when you’re drowning in information
- Memories fade. Archives burn. All signal eventually becomes noise
There’s so much more to code
Finally, we find ourselves in a position where we've stuck processor silicon into nearly everything we manufacture - something that proved problematic during the Great Microcontroller Drought wrought by pandemic supply-chain disruptions. The use cases for silicon-based monitoring, control, and connectivity have grown exponentially over the last quarter of a century.
The quality of the code running in all of these devices leaves a lot to be desired, both on grounds of reliability and security.
We need to be better at that, and the best way to be better is to grow a generation of coders who understand the context of all those connected devices, write software to the right contexts, then maintain that code as the context evolves.
Coding isn't a one-off, or something that can best be left to the bots. It's a conversation between the coder, their machines, and the world in which they operate – and the AIs we have now can't understand everything about that world.
We've cluttered the world with those machines and their code. To believe that we will suddenly need fewer coders just as we hit this exponential point would be folly, as noted by my good friend John Allsopp: "I see almost NO ONE getting the point the most 'software' traditionally has not been written by developers. It's spreadsheets and Visual Basic and FoxBASE Pro and FileMaker. That's what vibe coding will replace."
So maybe don't fire your coders just yet. ®