The future of programming in the AI era
Will AI Make Programmers Obsolete?
I’m involved in AI research and development and, as programmer, I’m interested in the future of programming in the dawn of this new era. Obviously I’m also interested in the future of AI and try to gather as much as possible information concerning it.
One of the hot topic in the field of generative AI is the question of which roles AI will render obsolete. One of the most popular opinions is that programmers are becoming obsolete, suggesting that we are heading towards the ‘End of Programming’ as we know it, and the advent of AI programmer Agents that will replace humans.
In the video Will AI Make Programmers Obsolete? by Matthew Berman, he well explains the reasons why this could happen.
Matthew, based on his programming experience, highlights three main considerations in the evolution of software development:
- Programming languages and tools have evolved to be more human-friendly and accessible and such evolution continuing without pause because programming remains challenging due to complex systems, syntax, and the inherent difficulty of coding for most people.
- The first big impact of AI in programming field has been advent of tool like GitHub Co-pilot that are a game-changer by increasing productivity and improving code quality considering that it works by understanding the context of the entire codebase, significantly easing the coding process.
- The new focus of AI development toward definition and usage of “Autonomous AI Coder Agents“ offers advantages over human programmers, such as scalability, cost-effectiveness, and proficiency in coding tasks.
He states that currently he adopts a development process where he plays the role of orchestrator between ChatGPT code generation, Copilot review and Test like described in picture below
He also envisions a future where a human project manager interfaces with an AI team of coders and testers, leading to a significant reduction in the need for human programmers as shown in picture below
My thoughts about this vision
I work in IT by almost 30 yrs and I still involved in develop software but mostly I play role of software architect. I believe that say “End of programming” in this moment is just a catchy phrase.. I agree that the IT world is changing very fast (again) but, as always, every statement must be tuned depending on the context that we are analysing.
I use AI and it help me so much (more then i ever could imagine) but currently I see that AI agents, when involved in developing of entire applications, they develop applications like Snake game or Web Sites. I believe that in the transition from requirements to code it misses architectures design that is needed for develop applications in complex environment.
What is missing in the big picture is that, alongside the human PM, there should be SW Architects who are experts of the target environments that will be able to translate requirements in order to drive Agents on the right way. For example when We develop Cloud Application typically we have to decide which kind of databases (Sql,noSql, mix model) , cache strategies, security infrastrucure, external integrations, whether use serverless functions rather than microservices, etc.
Just to clarify, roles such as: Integration Architect, Security Architect, Technical Architect, DevOps Architect should be in the picture. Below a new diagram that involve architects in the process
Conclusion
In my experience, I have found that the most successful architects I know began their careers by developing software. This leads me to wonder:
if AI eliminates the need for programming, how will it affect the professional growth of the new software architects generation?
I believe that AI will not be the “End Of Programming” but it will definitely revolutionise the way programming will be done in the future. I don’t know exactly how it will change, but I am excited to see and understand the impact it will have and embrace the new challenges that this changes will imply. In the meanwhile enjoy coding! 👋