One might think that software engineering is all about writing code. While coding is a significant part of the job, it is merely the tip of the iceberg. This misconception is the primary reason many believe the profession is “dead” with the rise of AI. The AI models are not perfect, and even if they were, they would still require human oversight, validation, and orchestration. The role of a software engineer has always been about more than just typing lines of code. it’s about understanding problems, designing solutions, and ensuring that the final product is robust, scalable, and user-friendly.
In reality, coding is just the means to an end. The true value of a software engineer lies in the problem-solving, architectural design, and communication skills that specialists bring to the table.

A Short History of Programming
To understand where we are going, we must look at how we’ve evolved from hardware-specific coding to high-level abstraction:
- 1950s: Assembly was introduced, replacing the need for manual hardware configuration.
- 1970s: C and Fortran abstracted the hardware further, allowing for more complex logic.
- 2000s: Python and JavaScript made coding accessible to millions.
- Today: AI-generated code seems to be the the new frontier.
At each step, previous engineers were hesitant to adapt the new tools, arguing that the new methods would make the developer more detached from the hardware and thus less skilled. However, the industry adapted, and the new tools allowed for more complex and powerful applications to be built.
It was never really about the code itself. Rather, it was about solving problems and creating solutions. The tools have evolved, but the core of engineering remains: understanding requirements, designing systems, and collaborating to build something that works. Being hesitant to adapt the new tools is a natural reaction, not only in software engineering but in any field and most times it’s justified.
The Real Value of Software Engineers
Software engineers are not just coders, they are architects and communicators. They understand the complexities of software systems, design scalable architectures, and communicate effectively with stakeholders to ensure the final product actually meets the users’ needs.
The Role of AI: Tool, Not Replacement
While it’s true that more code writing is being delegated to AI, it remains vital to understand the underlying logic. The validation, architecture, and structure of a system must still be decided by a human. AI systems can provide excellent solutions for isolated, small pieces of code. However, integrating into the larger context, debugging, fixing systemic issues, and high-level orchestration require human validation.
Even if the models were perfect and the number of programmers needed per project decreases as tasks become streamlined, the job is not disappearing, rather it is transforming. Who will perform the orchestration and validation? Who will translate the abstract, unclear requirements into concrete implementations? Business stakeholders? Highly doubtful. That responsibility remains with the technical people.
Current Market Trends
The current market is difficult, but this feels like a temporary shift, a “forcefully pushed swing”,rather than a permanent decline. As the capabilities and limitations of AI are better understood, and as shareholders recognize what engineers truly contribute, the trend will recuperate. As this understanding matures, the market will open again. It may not be as aggressive as it was during the pandemic, but it will certainly be stronger than it is today.
Right now, the code written by AI with minimal oversight is mediocre at its best and catastrophic at its worst. The current methodology of “AI developes everything” generates a lot of technical debt that will need to be fixed by someone in the near future. And this already started to happen. The future will likely involve AI, but the current approach is doing more harm than good for the projects and the industry as a whole. Stakeholders will eventually realize this is not a sustainable approach.
The Ultimate Goal
The goal of software engineering is to provide good solutions to complex problems. I doubt any AI model will be able to find a bespoke solution to every human problem anytime soon. As long as there are problems to solve, there will be a need for engineers.