DEV Community

Paras Kavdikar
Paras Kavdikar

Posted on

Future of Software Engineering when AI can code. What does students and new grads need to learn?

Software development has become much easier since the introduction of LLMs like ChatGPT and Claude. The work that was earlier done by a whole team of developers can now be done by 2-3 mid-level engineers.
This reduces the demand for software engineers and a lot of companies are firing engineers in their teams to cut unnecessary costs. This impacts new grad software engineers the most. As most companies are cutting down costs, it is likely that fewer positions will be needed in the future.

So the question is: what should new grads learn?

The answer is not as simple, but it is a very interesting one. One thing most students and new grads have to understand is that AI and LLMs are here to stay, and we have to accept and embrace these changes rather than running away or pushing back against them. The inclusion of AI in software engineering makes it easy for developers to build, test, deploy, maintain and document applications. This allows a single software engineer to be more productive.

Some years ago, software engineers were divided into backend, frontend, DevOps, etc. But as tech kept growing, a single person started to work on both frontend and backend aspects of programming, and the new term "Full Stack Developer" was coined.

Following the same pattern, LLMs make it easier for people to become software architects. No doubt, the demand for traditional software engineers will still exist in the market because LLMs often face bugs, can't understand complex consumer requests, and cannot work with poor prompting. So engineers will still be required, but it will be nowhere close to the current supply of software engineers. This means that there will be fewer people required to know just the programming syntax.
Students should have knowledge of low-level coding, but they should now be problem solvers. They should have high-level understanding of a very wide field because AI has made it so easy to learn and understand different topics. So humans will have to do more thinking and innovation rather than diving deep into code.

Another thing newcomers can do is get good at new technologies which are not the skills of people currently in the industry. This makes older engineers less relevant in these areas, and it becomes beneficial for company's to hire more recent engineers.

I think there will be three kinds of opportunities for new students/ grads in the future:

First: Traditional Software Engineers

These will continue to exist but will be in much lower demand. These are the engineers who focus mainly on writing code, fixing bugs, and maintaining existing systems. While companies will still need them, they won't need as many because AI can handle a lot of the routine coding tasks.

Second: Creative, Broadly Knowledgeable Engineers:

This is where I see the highest demand. These engineers will have high-level understanding across multiple domains - frontend, backend, cloud, testing, embedded systems, networks, cybersecurity, data science, and more. They will be very creative and use AI tools to quickly learn new areas. Instead of just writing code, they'll focus on system design, architecture, and finding innovative solutions. They'll understand how different technologies work together and think about the bigger picture. For instance, now one developer can understand how frontend connects with backend, how cloud infrastructure supports both, how testing ensures quality, and how networks tie everything together. This way they have a better understanding of how systems work together and what are the possibilities with their combinations.

Third: Specialists in Newer Technologies:

These are engineers who specialize in cutting-edge technologies that most experienced developers haven't mastered yet. This includes things like RAG systems in AI, vector databases, prompt engineering, edge AI, blockchain systems, Web3 technologies, quantum computing basics. Since these skills are new, companies will value fresh graduates who have learned these technologies over experienced engineers who haven't.

The key is to understand that AI is changing the game. New grads who embrace AI tools, think creatively about problems, and either go broad with their knowledge or deep into new technologies will find themselves in the best position for the future of software development.

Top comments (0)