Skip to content
Manoj Deshmukh
All English essays

The Practical Technologist · 15 Mar 2026 · 3 min read

From Prompt to Production — The Gap Nobody Talks About

By Manoj Deshmukh
From Prompt to Production — The Gap Nobody Talks About

After 26+ years in software development, I have seen several big shifts.

  • Waterfall to Agile.

  • Monoliths to Microservices.

  • Manual deployments to CI/CD.

Now we are witnessing another shift: vibe coding — describing what you want in plain English and letting AI generate the code.

In many ways, English is becoming a programming language.

But here is the reality.

Just because someone can describe software in English does not mean they can build production systems.

After all, everyone can write sentences — but not everyone can write a novel.


The Hype vs the Reality

The excitement around vibe coding is understandable.

You describe a feature…

And seconds later, working code appears.

It feels magical.

But anyone who has actually shipped production software knows something important:

Writing code was never the hardest part.

The real challenge was always making the system:

  • reliable

  • maintainable

  • secure

  • scalable

  • operable in the real world

Generating code is easy.

Running software successfully for years is the hard part.


The Missing Layer: Non-Functional Requirements

Every serious application is built on two types of requirements.

Functional requirements

What the system should do.

Examples:

  • Build a login page

  • Create an API to fetch orders

  • Generate reports

These are explicit.

They are easy to describe.

AI is already very good at generating this type of code.

Non-functional requirements

How the system should behave.

This is where engineering experience becomes critical.

You are constantly making trade-offs:

  • Will this code still be maintainable six months later?

  • How configurable is the system across environments?

  • What happens if a deployment fails at midnight?

  • Can we roll back safely?

  • What is the total cost of ownership over three years?

  • Which architecture allows the system to scale?

  • Which technology stack actually fits the team?

These decisions rarely appear in prompts.

They live in the engineer’s judgment.

And AI will not ask these questions unless you already know to ask them.


The Car vs the Airplane Problem

Assuming that someone who cannot drive a car can easily fly a plane — simply because the plane is more powerful — would be a dangerous assumption.

The same logic applies to vibe coding.

AI is an incredibly powerful tool.

But power without understanding increases risk.

The engineers who benefit the most from AI are the ones who have already:

  • designed systems

  • debugged production failures at 2 AM

  • maintained legacy systems

  • refactored fragile architectures

  • lived through painful deployments

They know:

  • what to ask for

  • what to review carefully

  • when generated code looks right but is fundamentally wrong


The Abhimanyu Trap

The Mahabharata gives us a surprisingly accurate metaphor.

Abhimanyu knew how to enter the Chakravyuh — the complex battle formation.

But he did not know how to exit it.

Vibe coding can create the same situation.

You can rapidly generate:

  • screens

  • APIs

  • database schemas

  • integrations

Progress feels fast.

But when the real-world problems appear — performance issues, scaling limits, security gaps, deployment failures — you suddenly realize something:

Getting into the system was easy.

Getting out of the complexity is not.

Without architectural experience, debugging skill, and system thinking, you are stuck inside the Chakravyuh.


The Bottom Line

Vibe coding is a remarkable capability.

But it amplifies expertise — it does not replace it.

For experienced engineers, it can easily make you 5–10x more productive.

But if someone skips the engineering fundamentals and jumps straight to:

“Just tell AI what to build.”

They may ship quickly.

But they will pay the price later — in maintenance, reliability, and technical debt.

And that price is often far higher than writing the original code.

Yes — English is becoming a programming language.

But software engineering is still software engineering.


💬 I am curious about others’ experiences.

Are you finding vibe coding to be a superpower, or are you already seeing the early traps?

First published on LinkedIn.

Read next