Should AI replace software developers?

I have written blog posts about computer engineering and software development since i have started writing this blog. Some of these posts were based on my experience and some of them were sharing my knowledge about something i have learned. In this post, i will write about whether artificial intelligence should replace software developer or not, based on my expertise and predictions. You have probably seen and heard that artificial intelligence tools come up with a revolution almost every week. One of the affected area of expertise, which could be the most affected, due to this fast changes and developments is the software development field. There are preposterous claims nowadays that soon all the software will be developed by artificial intelligence. I will analyze this subject with the help of my 10 years of software developer experience and 4 years of educator experience. Long story short, i am not against artificial intelligence, i am against surrendering all the control to it. If you wonder why, keep on reading.

I would advice you to read couple of my old posts before reading this one. First, you can take a look at the post where i asked what is the software. Then you can read about the developer who realizes the software. I have also written about software architects, which requires vast experience. Finally, i have written about software trainings, based on my educator experience. After reading these posts, you will realize that software is not a field that to be taken lightly. You will see that the software developer must have abilities across a wide range of subjects and must stay up to date. You will see how area of responsibility grows up and the term "expertise" become crucial when you start dealing with software architecture. Among all these, i also think that you would understand that becoming a developer takes a lot of effort and you would get lost without a guide leading you.

Now, let's divide the subject into 3 categories. 1. Let's ask what is artifical intelligence and what does it do. 2. Let's talk about how competent can artificial intelligence be in the software development field. 3. Let's mention the possible consequences of delegating the processes and responsibility and authority to artificial intelligence. 4. Let's create an anti-AI cult and start living in a cave :)

What is AI and what does it do?

AI is a inference machine. What is inference? When you have 2 balls in your head, distinguishing the colors of them is intellect. Making an educated guess about what the third ball's color is inference. In order to infer, you need some preset data or statistics or inference. This way, you can produce new things based on the information you already have. It is actually quite simple. We don't have to dig much deeper than this. As a matter of fact, i am not an expert on this subject too. But back in the day, i have learned about classifications in machine learning and applied it in a java project. This application was my master thesis and it was able to label emotions in human faces. For this, i was teaching how emotions look on human faces. Then i was sitting in front of the camera and making faces. Then it was comparing my face with what it already know and giving me an approximate result.

So where this simple logic can be used in our daily lives, what can AI do? Actually, AI can be incorporated into almost every aspects of our lives. Because there is always data flowing around us. Let me give you very basic examples: Sales numbers or statistics, ratios of cars being broken down in the mechanic shops, the shopping data of people, people who are people hanging out with, the pictures we take with our phones, medical imagings, molecular structures, battle tactics, languages that humans use... This list can go on for long. All of these areas produce or contain some form of data according to their nature. There is usually a classification where data exists. For example, you can consider selling 1000 cars a success but 50 as a failure. See we have already started classifying. This shows that if we can define the data we produce and classify it, we can feed it to AI. Then AI can tell us that selling 70 cars can be considered as failure.

Here i will repeat a question which i have repeatedly been asking for years. How did the AI tools today acquired this much information? Because wen you are talking to the AI tools like ChatGPT, Gemini, Perplexity, Depseek, you realize that they have detailed information about lots of matters. I wonder if they are acquiring this data without our consent or us being unaware of we are consenting? Anyway, you are not the address of this question. And i don't think the relevant people would hear me, yet :)

So we can say that AI can be used in all areas of life where we produce data. There are lots of projects when you search for a ChatBot. There are tools that converts your text into an image or a video. These are the biggest revolutions since the invention of the internet. (We will talk about the agents later) We now have like 100 folds of more potential. When we want to learn or produce something, AI provides us more than a Google search. It can guide us an teach us things and also correct our mistakes. We are living in land of opportunities age to develop ourselves. Therefore i think that everyone should be touching to AI more or less. For example, i have asked for some sample questions in french to learn, and it gave me an excel file. I have also received book and writer suggestions.

AI and software

Let's start talking about the software side of things. Sometimes, coding is like cooking and it is mostly gathering ingredients as much as they needed. Actually, we don't show much of a skill bringing 4-5 lines of code together. Furthermore, some of the software codes are so mainstream these days, you can't even tell if it is a junior or senior developer's code. As a matter of fact, some boilerplate code is repeating in all the software projects again and again in the same form. So why did i roasted software development now? :)

Actually, my intention is not to underrate software development. I have said that AI is inferring new things with some sort of algorithm based on its preset information. When it comes to coding, AI can amazingly have more information than any human brain can take, can evaluate these and can come up with a right solution. This is an undeniable fact. No human can ever oversee as much code as AI can. So why this time i have roasted humans now? :)

In fact, i am not saying anything bad. Of course AI can operate on billions of code found over the internet and also tell which code is good or bad. This is exactly what a software developer needs. But notice here that i am prioritizing benefiting from AI. I don't think it makes sense to put all the work on AI and sit lazily, trusting in AI's abilities. You would lose your abilities that way and losing abilities is costly and requires money to be replaced.

Now with the light of my old posts about software development, i would like to ask a couple of questions. Have you ever asked AI to make changes as minimal as possible in a project without breaking any functionality? Or have you asked AI to update a module of a project having to use an old library? Or have you asked AI if there are libraries that could effect each other when used together? Or have you asked AI to get rid of the unnecessary code of a project while taking into all the other related projects into account and analyze them Or have you ever asked which background service can be related to an error that occurs when you are applying for a credit in your bank's mobile application?

Look, i am not challenging or dueling with AI here. In the days of me writing this post, there are autonomy AI tools like Manus. They can create you an entire application with only one command. I am sure it can do something about the questions above, as long as it has the codebase in its reach. But i want to continue asking questions.

For example, have you asked how a certain programming language behaves under heavy load? Have you asked, when thousands of people liking a video on youtube, how and where the like count should be stored, how the interface should handle this, how it should talk to the backend database? Or have you asked how to make changes to a reactjs code without breaking it and solving an unexpected re-render problem? Or have you ever asked why cascade relations in hibernate cause transaction errors in one-to-many relationships when used in the frontend?

I am sure AI would have ideas about these too. Actually we are still lagging behind AI as humans. Even the best and most capable software developer is nowhere near as functional as AI. But do you notice something about the questions? All of my questions require some level of software development knowledge or systems knowledge or project experience. I mean i can't even ask these questions without my 10 years of experience. Then i would have no idea what kind of code it is producing when i ask it. And then i would struggle with the nonsense called "Vibe Coding" for eternity. I would tremble with the fear of AI possibly adding mistakes upon mistakes in the code. I would keep on praying to AI gods to understand the code perfectly and leave no responsibility to me. I would end up hopping on a car that i have no idea who the driver is and where is he going. This is the risk.

Risks

There is a term called fullstack developer today which already undermines the expertise in software development. Then there emerged people who claims to "develop all". Now the most dangerous one: They think there is no need to write code now. Just because AI has a reach to billions of lines of code, it is believed that it has the vision and experience too. Software development is presented as some child's level mainstream gig, which was already devoid of its value. Of course there is an element of AI tools' marketing too.

A normal developer first designs the project. Then grows the project without losing the vision and keeping an eye on the possible errors. When the project is finished and requires updates, recreates modules without losing the vision again or creating complexity, or adds new modules by leveraging flexible architectures. The developers carries on all these responsibilities while taking the business requirements into account. Developer establishes relationships with others, conducts research or estimates for all the work ...etc And this is a very basic software developer.

Now you can ask me this. Let's ask the possible errors or handicaps to AI too. Let's give it the project documentation as well. Let is teach us the language of the project by guiding us. People assume they can ask key questions to AI and get all the details of a subject. Therefore they think they can be an expert on whatever subject they want in a short amount of time. Let's assume that AI listed the milestones of learning Java. Then it explained all these. Will this give you experience of working in a project? Will this give you insight or vision of working on a system? Let's assume you asked AI to document every little detail of the project too. Now there is a whole project that you didn't write and you probably don't much understand. Well congratulations, you have acquired a legacy project in 10 minutes. If you ever have to touch this code, which is quite possible if AI prices go sky rocket, you have a big pile of work to deal with. You need to learn the language, its details to avoid mistakes, also you need to understand all the project documentation. But in the end, you have become a junior-mid developer already :)

Let's push it further. You have kicked the old developers because they have high salaries. Then you have made the junior developers to create big complex projects with AI. If these developers don't improve themselves, you won't have any experienced developers in 5-6 years. You will be slaves of AI. Or you are going to have to work night and day like startups and rewrite the codes from scratch or you will try to download experience to unexperienced developers from heavens.

Let's assume you want to use AI to learn things. You wanted your developers to learn development by talking to AI. This way you can employ low salary employees. There is a trouble in education side. Education is not something that you can make it happen by reading or watching. You have to dip your hand into code. But there is more. You would have visual and auditory inputs too. Sometimes the teacher asks you something and you wouldn't know. Sometimes the teacher gives you the answer exactly in your language and it fits right in. Sometimes the teacher jokes about a subject and you remember it by that joke. Also, someone presents you their experience too. With the help of these experiences, you would have an idea about what happens when you use or don't use the specific code. Sometimes the teacher gives you details of his/her own projects. Sometimes they give you some vision based on what they have seen in the sector. Or maybe the teacher is pronouncing a word in a funny way and it is etched to you brain. I mean if one day someone creates java fullstack developer education with AI, the first thing i will look at is if they are feeling like humane. As i said, AI doesn't have sector experience or developer history. I think this deficiency would be hard to miss.

What should and should not be?

AI should be used to speed up the processes or as a consultant when needed. Otherwise you would lose background and experience. Don't put a ridiculous argument like "AI can already do what you can do" front as a means to give less salary to your employees. AI is not your superpower, it is your super opportunity. If you don't know what you are doing, you will end up your butt on the ground. For example, i had hard time making AI to draw me a picture because i don't know anything about painting styles. Because when i told it to diffuse the colors, it created nonsense abstract drawing. Maybe i should have said something like "water color drawing" but i didn't even know that.

So are we going to create an anti-AI cult now? Of course not. We now have a companion for us to develop ourselves who never gets tired or bored. We need to gain new skills with the help of AI. (A side note, if you want to look for specific skills or if you want to turn your skill into income, you can take a look at my project öğret bakalım here.) Of course it makes sense to create a mainstream basic project in Manus or the alternatives in the future, instead of spending an hour on it. Or it makes sense to consult for ideas to design a system. But if this "already exists" mentality grows as much to make you get rid of the software developers, it is not because the AI is getting better, it is because the qualities and values of software craftsmanship is degrading.

As a person who is a nerd of technology, AI is exciting me plenty. But we need to be realistic. I wonder, isn't it costly to run all those super computers (and crypto mining on the other side)? I think someone need to question the electricity and water consumption in this subject. We are already polluting and changing the world. The human brain consists of billions of neurons and maybe trillions of paths. Knowing and applying are costly concepts. I feel like we are using them for cheap for now. And if there emerges AI monopolies, it is even worse. Anyway, maybe one day we talk about what troubles AI can cause too. I might have thought about writing a book named Artificial Storm. It could even make sense to let AI write some of it. See you at the next post :)


Leave a comment