This is a hotly debated topic and I have been personally asked this many times by peers and aspiring software engineers. Is software engineering still viable going forward? With AI, is there any point in learning software engineering or coding specifically?
My answer up until now was- yes absolutely, excellence is always valued in any field and if you are a good software engineer you will still be viable despite the advancements in AI. This is still true but until when? As everyone knows the pace of innovation is accelerating, models and agents can do increasingly advanced things day by day.
It’s now easy to foresee, that in just a few years the development of end-to-end software will be handled with AI, and not the slop we are familiar with today but truly great quality, secure and good software experiences. but how would this look like?
A Perfect Machine
Let’s imagine a future version of Gemini or Claude that can give us exactly what we desire, in that future whatever we can imagine can be programmed by these agents. But there is an interesting problem with this, as you can imagine, an idea can be implemented in thousands of different ways. Our perfect machine can build all of those thousands of ideas to perfection but the person giving the instruction needs to decide which version she wants.
Software engineering will resemble art more than a technical endeavor at that point, what happened to image generation will happen to building applications. AI generated media still feels hollow, sloppy, but I believe that with increase in quality and intelligence of the models this will stop happening and the outputs will be of great quality.
Most people think that an AI does not possess enough creative capability, or that human touch is required to create true art, but I don’t think that’s true. Especially so when the software in question is more of an utility than an artistic piece.
What AI struggles with today is Unique ideas, most of the generated content is generic, average, boring. But we are imagining a perfect machine, let’s assume it can have new ideas, and create visually stunning websites and apps. But would that be enough?
Let’s say I want to build a portfolio website and I prompt my agent - create a portfolio website for me, and I do the same thing with a professional designer. Is there anything that the professional designer can give me that the perfect machine can’t? I personally don’t think so.
Ultimately we will reach a point when there will be no discernable difference between the capabilities of a human expert designer and an AI agent.
Uncertain Future
I first believed that software dev will always be valuable, but by writing this thought experiment, It has shown me that if there is sufficient intelligence then the granularity advantage and the detail oriented and deep knowledge that the human would have by understanding the topic would vanish, then what's the use of learning to code in the first place?
If everyone has easy democratic access to high level intelligence, they can basically outsource all knowledge work, effectively replacing all the humans.
I personally don't subscribe to the idea of “you will still be relevant because we would need a human to control all the agents” but why? that's not necessarily true. I can chose to give that role to another agent?
In our example he AI can exhibit all the conative capabilities of a human so we don't really need human experts at that moment. The question then becomes if the model is universally accessible or not. If it is able to run on a local device? Or on the cloud at a very cheap rate. If that’s true then the developers will 100% be out of job.
I don't see any other path forward. Maybe someone doesn't want to deal with prompting the AI agent so they want to hire someone to make the software end-to-end but that can also be handled by an agent?
Imagination is The Limit
I am failing after trying so hard to find a unique advantage for the human engineer. At the end the conclusion is the following.
The idea is the mote in the future, and because idea is the only mote you have to depend on it. you can't make money by working for someone else's idea. Right now people have a barrier to execution, once they have flawless execution of ideas no one will need a developer, and some people might cry for ‘developer’s rights’ and things like that but in all honesty what is cheapest will always win.
The only thing remaining thus is Entrepreneurship, having valuable ideas and then executing them to provide value.
The most interesting thing that will happen now is, I believe there will be people who will use this technology and execute faster than anyone else, and make more money than was possible previously. And then there will be those who won’t bother.
The wealth gap will increase in these circumstances. Unfortunately most of the former developers who don’t have a job will not be able to do anything, a minority will become entrepreneurs, these people will survive and most likely thrive in the new landscape.
But I also think the pressure to survive will force more people into Entrepreneurship . I am not well versed in economics but I can foresee the circumstances where there is so much stuff to buy, but people don’t have money to buy that stuff, because they don’t have an income, when everyone can build and sell high quality software and products, who will win? How will people earn money?
I dove into economics along the way, because ultimately the people who are asking this question need to know if it's worth it or not. Throughout this thought experiment it's clear that if that perfect machine exists, then it's only worth it if you are planning to be an entrepreneur. And even if you are it's not necessary to learn. You just have to have an idea and the perfect machine will execute it.
There is Still Hope
We need to recognize and assess how fast the capability will increase and reach the perfect machine threshold. and according to that we will have a window where it will still be valuable to be in this field.
Even at the fastest rate it will take years to go up to that level, and learning about technologies, expands your perspective and most importantly in the future, will give you the necessary information to generate new ideas for new inventions, apps and technologies.
The layman simply could not prompt an AI with- give me a idea that will make a billion dollar which is new. Well to be honest I can't see why an AI would not be able to answer that, but I FEEL that it's will not be able to.
I think the distinct intersection of living life and having the necessary information on what's technically possible gives rise to new innovative tech. A personal example is Syncit. If I did not experience the problem of not being able to listen to music together, I wouldn't have created Syncit. And if I have not had the technical knowhow of what a chrome-extension even is, I wouldn't be able to think of something like this to begin with.
So at worst we can conclude that having the basic knowledge of how technology works will be beneficial. Without the prerequisite knowledge you can't ask the right questions, even if every question can be answered.
I have seen this with many people nowadays, people who can't really use chatbots effectively, because they don't even know what to ask in the first place. You have to be on the bleeding edge of the field to begin asking questions beyond the edge. You have to experience life to understand and recognize problems that are worth solving.
Verdict
Yes, you should learn software engineering.
The AGI that everyone is hoping to get soon by 2030, even if it can exhibit all human cognitive capabilities it will still be far from the Perfect Machine that we envisioned. A machine that has expertise in all fields, doesn't have any quirks, or any technical difficulties that the user need to worry about like the context window.
I believe that until such gaps exist in the AI models, even if we have "Super Intelligent" a technical person would still be valuable because of the simple reason that using the AI effectively is in itself a skill and some people will be good at it than others.
In the near future, the distance between Imagination and Execution will continue to shrink rapidly. Those who can effectively use these technology to accelerate themselves will be exponentially ahead of the people starting later.
As AI progress compounds and accelerates exponentially, so does a person’s knowledge and expertise, and if we multiply both- AI progress X Your expertise in using AI, we would get a hyper-exponential growth curve.
So, start learning to use AI Today. Start learning to code Today. Start going deep into technical fields Today.
The perfect time to learn was 5 years ago, but the second best is now!
