Chapter 3

Coding isn't the job

I still remember the first time someone asked me, “Now that AI can write code, does that mean we can build things 10x faster?”

I laughed. Not because it was wrong, but because, honestly, that’s how it looks from the outside.

Yes, AI can write code. But writing code isn’t the hard part. It never was.

But here’s the truth: If all I did was write code, I’d be out of a job soon. Coding is a tool. Problem-solving is the job.

Real engineering is messy. You spend more time understanding problems than typing solutions. You debate trade-offs, argue with your past self during code reviews, and sometimes just stare at a whiteboard trying to make sense of complexity. The code? It’s just the last step.

Coding was the foundation of building functional software and solving technical problems. Before the AI wave, “coding skill” was the badge of honor. Interviews tested algorithms, engineers measured themselves by the number of merge requests. The more code you pushed, the more valuable you seemed.

And for a while, that made sense. Tools were limited. If you couldn’t code it, you couldn’t build it.

But even back then, the best engineers weren’t the ones who knew the most syntax. They were the ones who understood the why behind the what. They dug into business needs, understood users, and found elegant solutions that stood the test of time. They also had deep knowledge of the tools and languages they used, knew when to apply specific techniques, and were able to make the best decisions based on the context they were in.

Then AI showed up and made this truth impossible to ignore.

AI can now generate decent code with a good enough prompt. It can scaffold apps, write tests, convert between frameworks. What it can’t do well yet is solving problems in context. It doesn’t know your product goals. It doesn’t talk to stakeholders. It hasn’t learned from the pain of fixing bugs or the cost of releasing a change that caused incident on production.

This means that the job of a software engineer is no longer about being the fastest coder in the room, and in truth, it never really was.

The real job of a software engineer is the ability to:

  • Frame the problem clearly
  • Understand trade-offs
  • Guide AI (or teammates) toward a working solution
  • Own the result, not just the code

Coding is part of it, but it’s not the center.

So, how do you thrive in this new landscape?

Get good at understanding the problem

Don’t start with “How do I build this?”.

Start with “Why does this matter?”.

Talk to PMs. Shadow users. Sketch flows. The more context you absorb, the more precise your solutions and your AI prompts become.

Treat coding like communication

Good code isn’t the flashiest or the most clever. It’s the one people can understand later without swearing at their screen.

Sure, AI can help you type it faster. But it’s still your job to make sure the structure makes sense, the logic holds up, and your teammates (or future you) won’t need a map to figure out what’s going on.

Practice making trade-offs

AI can give you ideas, but the final decision is still on you.

Do you pick the quick fix or the long-term solution? Add a new table or reuse one that already exists?

A great engineer knows when to keep things simple and when the extra complexity is worth it.

Guide the AI

AI isn't magic. Think of it like a smart but inexperienced teammate. It can help a lot, but only if you give it clear direction.

Break the problem down. Be specific. Check its work. Fix things when they’re off. And don’t be afraid to start over if needed.

Keep learning, but shift your focus

Learn to debug, read systems, and model domains. Study design patterns and architecture.

It’s less about mastering new frameworks, more about knowing when and why to use them. AI can generate the how, you’re still responsible for the why.

In this new world, the engineers who rise are the ones who think like product builders, not just code writers. If that’s you, you’re not replaceable.

Enjoying the book?

Let's me know what you think. Share your feedback, thoughts, and questions in the form below.

Share your feedback