AI Programmers or Programmers with AI
The debate around whether artificial intelligence will replace human programmers has been heating up lately. While some fear AI could make coding jobs obsolete, the prevailing view seems to be that AI will become more of a programmer’s sidekick — boosting productivity rather than taking over completely. Given AI’s current limitations, this seems reasonable enough for now. After all, today’s AI still makes plenty of coding errors and struggles to grasp the big picture of complex software projects.
But we shouldn’t get too comfortable. As the saying goes, “AI today is as worst as it’ll ever be.” And even at its “worst,” the progress of generative AI over just the past year has been mind-blowing. It’s hard to even imagine where the technology could be in another year or two, especially considering the massive amounts of brainpower and money being poured into AI development worldwide.
As the saying goes, “AI today is as worst as it’ll ever be.” And even at its “worst,” the progress of generative AI over just the past year has been mind-blowing.
Historically, groundbreaking technologies tend to be adopted first as assistants or companions before potentially taking on bigger roles. We’re seeing this play out now with tools like GitHub Copilot, which aims to be a helpful coding buddy rather than a replacement for human devs. ELEKS did a great breakdown of Copilot’s current capabilities and limitations that you can find here.
But as the tech improves, it will likely be trusted to handle more and more programming tasks independently. We’re already seeing early-stage projects that aim to automate basic coding work, like GPT Pilot and Devin. While still in their infancy, these projects hint at AI’s potential to take on larger chunks of the development process. You can find my in-depth review of GPT Pilot here.
Looking ahead, it seems increasingly likely that AI will eventually take over a significant portion of routine coding tasks. This includes both repetitive, large-scale programming work (like implementing standard features across multiple projects) and many of the foundational tasks typically assigned to junior developers (such as writing basic functions or debugging simple code). This shift could dramatically reshape the software development landscape.
In this future, we might see two main categories of human developers emerge:
Specialized developers: These highly skilled programmers will tackle the most complex, novel, and creative aspects of software development. They’ll focus on high-level architecture, cutting-edge innovations, and problems that require deep human insight. For example, they might design new AI algorithms, create innovative user interfaces, or develop complex systems that integrate multiple emerging technologies.
AI managers: These developers will specialize in working with and directing AI coding systems. They’ll be experts at prompting, guiding, and overseeing AI agents that handle the bulk of day-to-day coding tasks. This could involve crafting precise instructions for AI to generate entire modules, reviewing and refining AI-generated code, or orchestrating multiple AI agents to collaborate on larger projects.
The most successful developers will likely be those who can adapt to this new paradigm, combining their own coding expertise with the ability to effectively leverage AI tools. While there will still be a place for human programmers, the nature of the job could change significantly.
For now, embracing AI as a productivity-boosting companion seems like the smart move for most programmers. But it would be unwise to assume the status quo will remain forever. The pace of progress in AI is staggering, and the programming world would do well to stay adaptable as the technology evolves.
In conclusion, while AI won’t completely replace human programmers anytime soon, it’s poised to take over a significant portion of coding work in the future. The developers who thrive will be those who can navigate this new landscape, either by specializing in areas where human creativity and problem-solving still reign supreme, or by becoming skilled managers of AI coding agents. The future of programming likely lies not in a competition between humans and AI, but in finding the most effective ways for the two to work together.