Mohammed Manssour

AI will not replace Software Developers

Software EngineeringAI
AI will not replace Software Developers

Over the past few weeks, every time I open X (formerly Twitter), I see people talking about AI, vibe coding, and whether AI will replace engineers. Personally, I don’t think that’s true. AI will not replace software engineers — and here’s why.

Building Software Is More Than Just Writing Code:

As a senior engineer, my job isn’t just about writing code. It includes several important phases:

  1. Phase 1: Requirement Gathering – First, we need to identify the stakeholders we should talk to. Then, we have detailed discussions about the feature we want to build. At the very least, this includes a conversation with the Product Manager. But just talking to stakeholders isn’t enough — which brings us to the next phase.
  2. Phase 2: Talking to Domain Experts – We need to understand the constraints of the system or feature we're going to build. What are the rules and laws we need to respect?
  3. Phase 3: Research – This is where we begin coding a proof of concept for the system or feature. The goal is to test the idea and make sure things are working correctly.
  4. Phase 4: Architecture – We design an architecture that fits with the codebase we already have, while also meeting the requirements and respecting the constraints we gathered earlier.
  5. Phase 5: Production Coding – Now we start writing production-grade code, using everything we’ve learned in the earlier phases.
  6. Phase 6: Documentation – Finally, we write clear and complete documentation that covers the requirements, constraints, trade-offs, and decisions made during the process.

On X (Twitter), most people seem to focus only on Phase 3 — the coding. But if you’re a software engineer in the real world, you know how important the other phases are. Without them, projects can fail — or worse, lead to legal problems, especially in fields like HealthTech or FinTech.

Can AI Handle the Rest of the Software Lifecycle?

I personally haven’t seen any AI that can handle all of these phases. Right now, AI always needs someone to tell it what to do and how to do it. And even then, someone has to review the output to check if it’s actually correct — or just random stuff generated by the language model.

Why AI Still Falls Short in Production-Ready Code (Phase 6)

AI might promise a solution, but it doesn’t promise the best solution given the time and resources. Many times, I’ve asked an LLM to build something using a specific package or library — like “build X using Y” — and it completely ignored Y in the generated code.

Personally, I haven’t seen AI generate code that I can accept and ship to production without changes. I always have to update parts of the code or even rewrite sections entirely.

And if you’re working in a sensitive field like HealthTech or FinTech, you can’t take risks. As a software engineer, you need to review and understand every line to avoid mistakes that could lead to legal trouble. For example, I’ve personally read all of Stripe’s payment documentation because we didn’t want to make any errors with customer payments — and we definitely didn’t want angry users.

Why AI Fails at Writing Real Documentation (Phase 7)

Simply put, when AI is asked to write documentation, it just explains the code. But real software documentation isn’t about explaining the code — it’s about documenting all the steps, decisions, and trade-offs we made to reach the production version of the code.

Should You Rely on AI During Phase 3 (Research)?

Unfortunately, no. Even during Phase 3, you should work with AI — not depend on it. In the best-case scenario, relying too much on AI will weaken your thinking over time and hurt your skills.

For example, I was once building a feature that worked heavily with AWS. I gave ClaudeAI the context of what I wanted to build and the APIs I expected to use. ClaudeAI gave me a solution along with a list of permissions the script would need. But it missed some permissions. So I had to go back to the AWS documentation myself — and in doing that, I found a better way to do things than what Claude suggested.

The bottom line: ClaudeAI pointed me in the right direction, but I had to do the real work. That’s what helped me finish the task faster.

Use AI as a partner, not as a replacement — and always double-check everything.

Will AI Replace Junior Software Engineers?

That’s a tricky question — and honestly, I don’t know the exact answer. But one thing is clear: if we replace junior engineers with AI, we’ll eventually run out of senior engineers.

What applies to senior engineers should also apply to juniors. Junior engineers should work with AI, not depend on it. They should learn from AI, but they shouldn’t fully trust it. They need to review and understand the output, just like anyone else.

Should Software Engineers Invest in AI??

As a software engineer, you should always invest in new technology. Over the years, tech keeps evolving and improving. AI might get better tomorrow, and what I’m saying in this article could change as well.

In the end, I don’t believe AI will replace software engineers. Instead, it will help them become better and faster at what they do.

Crafted with love by Mohammed Manssour