Why AI Isn't Replacing Software Developers Anytime Soon
I hear people talk about how AI will replace us software developers all the time. Even people who work as software developers like to make such statements, especially about frontend developers (which is a big part of what I do). Somehow AI is bound to take my job, yet every time I decide to use it to accelerate my workflow - and mind you, this is not even close to letting it do all the work by itself without supervision - I always end up wasting more time trying to get it to do something remotely close to what I need than actually doing it manually.
I’ve heard some people say the opposite: that AI is particularly bad at frontend development - or anything involving graphical interfaces, for that matter. They claim it’s because LLMs already struggle to understand the meaning of what they’re saying, let alone see what they’re coding (which is not at all what they were trained to do). I have heard these people claim that therefore, backend developers are easier to replace.
Are we sure we want to replace backend developers? You mean the people in charge of interacting with the database? Are we talking about the same thing here?
The kinds of people who make these claims
But these aren’t even the “hot takes” I despise. Oh no, it gets worse. It’s often times people who have no idea about where to start to develop software who propagate their educated conclusions about the future of software development. They claim to be able to code themselves through the help of AI because they were able to create a - very poor - clone of some popular arcade game, or create a small HTML site with a form and a couple of buttons.
The logical inference is as clear as day: if AI is able to create a three-page website in HTML with a couple of forms, it must be able to handle working on something much bigger, given enough time. Right?
Right?
What these people fail to consider is the immense increase in complexity and number of challenges that the developer faces once the project hits new milestones in terms of scale. And the project doesn’t even have to be colossal for these issues to arise. Even a relatively small-scale personal project that a developer might work on in their free time will incur in important design choices which have to be taken, many dependencies, the need for clean code, the need for efficiency, and this is just scraping the surface.
I quite frankly don’t like hearing these ill-informed opinions of people who have no idea what they’re talking about. It’s fine if you hear a university student studying computer science making these claims. Even though a student may not know what software is really like at scale, they think they do, and that suffices for convincing them that their opinion is valid.
And that’s great! I really believe everybody should express their opinion freely.
What I will say, however, is that I wonder how people who have no idea about computers in general - without even considering software or computer science - after careful reflection, truly believe that their so-called “opinion” - if you can even call it that at this point - is something other than a guess. A leap in the dark.
How can you possibly express your opinion and present it as educated when you have no idea what you are talking about.
I most often heard great things about AI and its applications in software development from people who don’t understand what an operating system is. People whose use of a computer doesn’t go beyond Microsoft Word’s “Home” tab.
People who don’t understand that the computations required to generate an answer by they’re loved LLMs are not performed on their computer, but on a server in an enormous datacenter.
Why AI is overhyped
Once you listen to these people talk, and you find out that this actually represent a significant chunk of the population, you start to realize why everybody is so convinced: people literally hype each other up.
If you hear other people enthusiastically propagating your opinion - and since the average person is technically uninformed, in the eyes of the average person, it’s the majority - you will naturally think that you must be in the right and that only a fool would disagree. The proof is all the people who agree with you.
The work of software developers often gets reduced to some over-simplification, but that is not an accurate depiction of reality. Software developers do much more than just “typing out the code” (which is what many people think). Think about how most people describe programming to people who don’t know anything about computers.
“Programmers are people who take ideas in human language and translate them in a language the computer understands.”
I’m sure you’ve heard that somewhere.
There has never been anything more false. No wonder people think we’re so easily replaced.
Conclusion
Thank you for reading my rant. Software development is not going anywhere anytime soon.
You can sleep calmly now.