Thought Leaders

Vibe Coding, AI, and the New Reality of Engineering

mm

Ten years ago, the idea that AI could write code instead of programmers sounded more like an exciting fantasy. Today, it has become part of everyday reality. MVPs are built in days, interfaces are generated from text prompts, and AI assistants are becoming full participants in engineering teams.

Against this backdrop, more and more people are asking the same questions: Is AI really replacing programmers? Can artificial intelligence truly match and replace a senior engineer? And what will happen to the profession in the near future?

I’m a developer myself, and I do have an opinion on this. Let’s break it down.

What’s the core of the problem?

There’s a dominant narrative about AI programming that goes something like this:

AI is becoming extremely effective at writing code and, importantly, already avoids many of the common mistakes humans make. Even more interestingly, AI might be better at handling so-called edge cases: rare and unusual scenarios that are ubiquitous in software engineering and often difficult for developers to anticipate in advance.

When the programmer says, “I want a button here”, they get a response: “Here’s the button, here are 18 edge cases you should consider, here are the tests you need to run, and by the way, you may also want to add this and this.” You may look at it and think: “Yeah… that actually makes sense.” On your own, you may have realized those issues weeks later – after something had already gone wrong in production. AI often suggests solutions immediately. For engineers who already have jobs, it significantly increases productivity and efficiency. 

And this narrative leads directly into an economic question: if a company previously needed 100 developers to handle a certain workload, theoretically it may now need only 20 – because those 20 can accomplish the same amount of work with AI assistance.

What’s hidden behind this acceleration?

More and more often, I see very strong software engineers fear for their positions, place in the market, and income. It feels like there may soon be no work left for coders.

And my answer is usually: guys, it’s probably not as dramatic as it seems. In fact, experienced engineers are gaining a new kind of value right now. Because we may be one of the last generations of developers who actually wrote code by hand and deeply understand how systems work under the hood. The next generation is increasingly working through AI tools – and along with that, the engineering practice itself is changing.

Here’s what the earlier narrative doesn’t take into account: 

AI-generated code often looks perfectly fine. The tasks get solved, the interfaces work, and everything runs. But over time, at a long distance, more subtle issues start to appear: architectural compromises, weak engineering decisions, problems with data structures, or scalability issues. And that happens because AI is already very good at solving local tasks, while the long-term logic of large systems still requires human experience and engineering judgment.

That’s why, once these projects reach serious production environments – banks, e-commerce platforms, large-scale services – teams eventually still need people who can deeply analyze architecture, identify root causes, and restore the overall system logic.

I often get calls from friends saying things like: “Michael, can you jump in and help us understand why the system is starting to fall apart?” Even though today I work on Physical AI at Introspector, I still occasionally may help with this kind of difficult manual engineering work: reconstructing system logic, analyzing architecture, and figuring out where problems started to accumulate.

And that’s exactly why I believe strong engineers will remain highly valuable for a long time. At the same time, it’s often experienced engineers who are helping improve and train AI models today. At Keymakr, we saw this firsthand when searching for experienced developers to validate code and help train models – people who can rely on real engineering thinking, practical experience, and a deep understanding of how systems behave in the real world.

The main hypotheses

And this brings us to the biggest question about the future: where is all of this ultimately leading? How do we grow the next generation of engineers if they are entering the industry through a completely different path from the very beginning?

If we look at the situation objectively, without hype or fear, I see a few possible scenarios.

  • An unclear future

The first and probably the most honest answer is that very few people today are truly thinking that far ahead. Simply because nobody yet fully understands what this future will look like in practice.

Maybe, in a few years, AI agents really will be capable of writing nearly perfect code – with strong architecture, scalability, and contextual understanding. Right now, that question is still completely open.

At the same time, major technology companies like Apple, Microsoft, and Google continue actively hiring strong researchers, PhD specialists, and people from academic environments. That probably suggests they believe deep engineering understanding will remain important even in a world where most code is generated automatically.

Smaller companies, however, often operate with a very different planning horizon. When you don’t know whether your startup will still exist in six months, it becomes difficult to seriously think about what may happen ten years from now. Of course, nobody intentionally wants to build something fundamentally broken. Teams still try to identify potential risks and weaknesses.

But in reality, the logic is often much simpler: first, build a product that works and generates revenue – then deal with architecture, optimization, and rewriting the system later. The problem is that, in many projects, “later” keeps getting postponed indefinitely.

  • Evolution in spirals

The second answer, in my opinion, is even more interesting. If you look at the industry’s history, it has already gone through similar transitions many times before. The very first programmers worked with punch cards. Then came the generation of engineers writing in Assembly – something that is already difficult for many modern developers to even imagine. Back then, you had to literally understand how hardware worked, think in terms of processor logic, and keep a huge amount of low-level complexity in your head.

Then came the era of COBOL. Entire banking mainframes were built on it, and the most surprising part is that a significant portion of the global banking infrastructure still runs on those old systems today. There are still programmers in their 60s and 70s maintaining that codebase, and they remain extremely valuable specialists.

The next generation moved on to C++, Python, and JavaScript. I myself belong to that era. For example, I barely understand how COBOL works. In theory, I could learn it – but to me it already feels like something distant and foreign.

And when you look at this historically, an interesting pattern emerges: each new generation of engineers no longer needs to deeply understand how the previous generation’s technology worked. Over time, knowledge becomes embedded in the infrastructure itself.

Punch cards disappeared long ago – their logic is now built into processors. Assembly largely disappeared as a mainstream tool because its complexity became hidden inside operating systems, drivers, and lower-level abstractions. Even your headphones today probably contain a tiny operating system running all this hidden complexity in the background – most people simply never think about it.

Of course, there are still specialists who understand all of this low-level magic. But for most of the industry, it has already become an abstraction layer.

And that leads to a very logical idea: maybe AI is simply the next stage of this evolution. Maybe the next generation genuinely won’t need to understand classical programming as deeply as we did. 

  • The economics of the market

Another hypothesis I have is that vibe coding – or AI-assisted development – will eventually stop being perceived as “free acceleration.” In reality, it already isn’t entirely free; it’s just that, for now, not everyone is carefully calculating the true economics behind it.

Models, tokens, infrastructure, constant requests, maintaining the entire AI pipeline – all of this is gradually becoming a significant operational expense. That’s why I believe companies will soon start looking much more closely at the real cost of AI-assisted development and asking a very pragmatic question: what is actually more efficient – expanding an engineering team or maintaining the entire AI infrastructure around development?

A very realistic scenario is that strong engineering teams may ultimately prove more economically sustainable, especially when it comes to maintaining, evolving, and supporting products over the long term.

However, I think this is actually where a new type of engineering team may emerge: very small groups of highly experienced specialists focused on maintaining the stability and resilience of infrastructure itself. Over time, this may become one of the most valuable engineering specializations in the industry.

  • People who will work alongside AI

And the final assumption – though a very realistic one – is that the next generation of engineers will most likely have to build their careers in a completely different environment. And this goes far beyond programming alone. Similar changes are already beginning to reshape law, finance, medicine, and almost every field where AI can take over a significant portion of intellectual routine work.

Despite all of this, I still tend to view what’s happening quite positively. Probably because, overall, I genuinely like progress. I like the idea that technology can improve people’s lives, free humans from enormous amounts of repetitive work, and make many processes safer and more efficient.

For example, autonomous driving systems like Tesla’s or Waymo’s are already demonstrating remarkably high levels of safety in many scenarios compared to human drivers. And that is genuinely impressive.

At the same time, the world our children are entering will be far more complicated in terms of professional identity. They will have to search for their place and purpose in a rapidly changing landscape.

If a child today wants to become a lawyer, a financial analyst, or a programmer, there’s a strong chance that these professions will look completely different in the future. Perhaps these will become specialists who work closely alongside legal AI, financial AI, or coding AI – people who operate AI systems, validate outputs, provide context, and make the key decisions.

I think it’s important to recognize that almost every one of these scenarios already feels realistic today. And whether we like it or not, everything happening now is part of a much larger wave of technological progress. It is very unlikely that this process can be stopped. Which means we will have to learn how to live in this new world – gradually learning how to balance it, communicate with it, and perhaps even develop a new form of coexistence alongside it.

Michael Abramov is the founder & CEO of Introspector, bringing over 15+ years of software engineering and computer vision AI systems experience to building enterprise-grade labelling tools.

Michael began his career as a software engineer and R&D manager, building scalable data systems and managing cross-functional engineering teams. Until 2025, he has served as the CEO of Keymakr, a data labelling service company, where he pioneered human-in-the-loop workflows, advanced QA systems, and bespoke tooling to support large-scale computer vision and autonomy data needs.

He holds a B.Sc. in Computer Science and a background in engineering and creative arts, bringing a multidisciplinary lens to solving hard problems. Michael lives at the intersection of technology innovation, strategic product leadership, and real-world impact, driving forward the next frontier of autonomous systems and intelligent automation.