The Real Job of Developers: More Than Just Coding
Whenever I read the news these days, I’m met with the same warning to developers: beware, AI is coming for your job. I’m skeptical about this claim and wonder why many have fallen for the idea that machines will first target those who created them. Is it ironic wishful thinking, or a misunderstanding of what programmers actually do?
I spent my first decade as a professional coder, writing in assembly language, C, and C++. While the tools have evolved since then, the essence of the job remains largely the same. Friends who still code for a living tell me, “Plus ça change…” – the more things change, the more they remain the same.
Three Reasons Coders Will Survive the AI Revolution
1. Writing Code is Just the Tip of the Iceberg
A professional developer doesn’t work in isolation. They’re often part of a large organization with existing processes, systems, and resources that impact their work. The numerous meetings that developers often complain about are crucial – they’re where the real work begins. Being present, listening, and responding with a viable plan is when the actual job starts. Writing code is the final step, and it’s only straightforward when done in the context of the organization’s needs.
2. Coding the Uncharted Territory
Many coding tasks involve routine implementation, which is where libraries and automation tools come in handy. However, a developer’s main job is often speculative – answering the question “Could we?” and venturing into uncharted territory. This is where AI coding assistants fall short, as they’re trained on existing resources like Stack Exchange and Reddit. In unexplored areas, developers must rely on their instincts, trial and error, and human judgment – tasks that are stubbornly difficult for AI to replicate.
3. The Expanding World of Code
We’ve reached a point where nearly everything we manufacture contains processor silicon. The use cases for monitoring, control, and connectivity have grown exponentially over the past quarter century. However, the quality of code in these devices leaves much to be desired, particularly in terms of reliability and security. We need more skilled coders who understand the context of these connected devices, can write appropriate software, and maintain it as contexts evolve. Coding isn’t a one-off task; it’s an ongoing conversation between the coder, their machines, and the world they operate in – a nuance that current AI systems struggle to grasp.
As we continue to clutter the world with connected devices and their code, it would be folly to believe we’ll need fewer coders. The job requires a deep understanding of context, human collaboration, and the ability to navigate unexplored territories – skills that are uniquely human and currently beyond AI’s capabilities.