Surviving and thriving as a software developer in the age of AI
Since artificial intelligence and large language models became advanced enough to gain the ability to write code, many developers started to panic. It’s not surprising at all, considering that every social media platform is now full of posts about the so-called “vibe coding” and how various companies are not hiring any new developers because of AI.
But is it really the case that software developers will soon become obsolete? The good news is that the answer is definitely “no”. The bad news is that the answer is “yes” for certain categories of developers.
In this article, I will provide a detailed explanation of why AI can’t possibly replace developers any time soon. I will also tell you what kinds of developers are in real danger of being replaced and what you can do to protect yourself against the AI.
So, let’s begin by debunking some of the popular claims about AI.
Why AI will not replace competent developers
The biggest reason people say AI will replace developers is that it can now produce code. Not only this, but also that it’s getting better and better at producing code. Tools like ChatGPT and Cursor do it faster than any developer can type. And a whole bunch of code can be generated via a simple prompt.
So, why can’t it replace a competent developer? After all, software development is all about writing code, right?
Wrong! Software development is primarily about solving problems. Writing code, while being an important part of software development, is only a relatively small part of it. And it’s those other parts that AI can’t do at all. Making AI do these things would be very hard, and there is no evidence that I’ve seen that would indicate that anyone is even trying to move AI in that direction.
Code is nothing more than a concrete implementation of a particular solution to a specific problem. However, there’s also the whole process of figuring out how to solve this problem. A competent software engineer would probably spend much more time thinking than they would writing code.
But there are many other parts to the process, too. Depending on the complexity of the requirements, there are countless planning meetings to refine those requirements and reduce the ambiguity. As professional software is rarely built by individual developers, there’s a lot of communication that goes on inside the team and across teams.
None of the AI models can do any of this. AI can’t solve the problem for you. It can only generate the code based on a detailed description of the solution, but it can’t figure out the solution. It also can’t understand the subtleties of the project and build interpersonal relationships. It’s incapable of sufficiently understanding the context of complex projects, so it could come up with a proper solution. But this is precisely where competent software engineers shine.
So, at best, AI is the tool that will save a developer the grunt work of having to manually type the code. It’s useful, as it’s an equivalent of using power tools for construction instead of manual tools. However, just like a power drill cannot replace a builder, AI cannot replace a software developer.
And all of these facts are based on an assumption that AI is at least good enough to consistently produce good-quality code based on prompts that are descriptive enough. But this is far from being the case. AI constantly hallucinates and makes mistakes. Therefore, a developer is still needed to check the code it produces.
However, not all developers are safe. AI will indeed replace certain categories of developers and is already doing so.
What kind of developers will AI replace
So, we have already established that AI is reasonably good at producing code. Yes, it makes mistakes, but so do the human coders. So, you may have already guessed what kind of developers AI can replace. That’s right. It’s the ones who only focus on coding and believe that everything else isn’t their job.
Don’t get me wrong. This is not a criticism, and I am not trying to put anyone down. Also, the role of a pure coder used to be a perfectly good role not so long ago. It still required a lot of knowledge and expertise. However, a pure coding role is quickly becoming obsolete now.
Gone are the days when a developer could rely on a business analyst to provide them with overly specific requirements that they could then translate into working software. The function of translating specific requirements into code can now be done by AI. Therefore, those who say that doing anything else besides writing code is not their job will soon be left without a job.
Another large category of developers who will be made obsolete by AI are the programmers working for the cheap outsourced team. The reasons are pretty much the same. These programmers are typically hired purely to help with the grunt work of writing code. AI can now do all the grunt work instead.
However, this category of developers will probably suffer much more than competent coders. There’s a reason cheap outsourcing is cheap. More often than not, it directly correlates with the level of skills of the developers and the quality of code they can deliver. AI is now capable of writing code of a much better quality than a typical outsourced team.
The other major category of developers to suffer is junior developers. This is unfortunate because without junior developers, there won’t be competent senior developers in the future.
And it’s not their fault. Usually, a developer’s career progresses from heavy dependence on pure technical skills towards more and more usage of soft skills. At the beginning of their careers, most developers are primarily coders. Therefore, their main skill set is something AI can already do.
We already see evidence of this. At the time of writing, there are nowhere near as many junior-level software developer vacancies as there are senior ones. This is bad, and it’s primarily the result of companies’ shortsightedness.
Yes, using AI is cheaper than hiring a junior developer. However, this cost-saving today comes at the price of not being able to find a competent software engineer in the future when such a need inevitably arises.
However, what organizations do with their hiring practices is something you can’t control. What you can control, however, is whether or not your skills are future-proof, so you will not only survive in the era of AI, but thrive.
You may have already gotten a hint of what skills will save you (such as not limiting yourself to just writing code), but there’s much more to it than we already discussed. So, let’s see what those are. You may be surprised by some.
Moreover, I won’t just give you a random list of skills. I will give you a framework you can follow and integrate into your own professional development process.
Skills to master to future-proof yourself
Keep reading with a 7-day free trial
Subscribe to Fiodar’s Tech Insights to keep reading this post and get 7 days of free access to the full post archives.