← All writing

Essay

Dear Software Engineer: You Still Have Value

Even if AI writes all the code.

Originally published on Substack.

If you’re like me, Opus 4.5 made you scared for your job.

This model can write code better than me and faster than me, and that made me question my value. Isn’t my value being an author of a language few others understand? If AI can do the translating, and write the book, what do you need me for?

Coding has been the moat guarding high paying programming jobs since computers were invented, and that moat is drying up quickly. Anyone can now use Cursor or Claude Code to build a complex application that used to take months and tens of thousands of dollars to build. There’s a ceiling to how far you can get without engineering knowledge, but that ceiling is disappearing with every major model release.

Just a few months ago I argued that you needed have the right knowledge to steer the AI in the right direction. I think that’s true today, but even this argument is slowly eroding. One example is this article from the Amp team where they found that oversteering can hurt more than help. Letting the LLM write the code it wanted provided better results than telling it to change names of functions and file structures to fit a personal preference.

Every few months a new model comes out that makes the need for understanding programming less and less important. Eventually it won’t matter at all.

Does that mean your job as a software engineer isn’t valuable anymore?

No! You still have value, but the value equation has changed.

Many engineers are resistant to let AI write code, because they think they are giving away their secret recipe. The problem is that the recipe is now available to everyone for free, it’s time to lean in and use it to your advantage.

When I went back to work after the holidays in January I started letting AI write most of my code. This is in a codebase where I wrote most of the code by hand in years prior.

I started to realize that even with the LLM cranking away there is still so much work to do, because it allows me to do more than I could before. I am cleaning up tests, trying out new things, and completing tasks faster than ever. This is the new way, there is no going back.

My skills in writing if statements and for loops has lost its value, but architecture, communication, and thinking have become more important than ever.

Your value is now at a higher level

You used to be the craftsman, but now you are the architect. Your job is coming up with a high level plan, and letting AI hammer the nails in the boards. Create a good plan and see it through.

Here is where you provide value now:

  • What does a good idea look like from a product AND engineering standpoint?
  • What should the shape of this code look like?
  • How can this help your team or company scale?
  • How does this fit into all the other products and repositories at your company?
  • What code should NOT be written? (Too much code is tech debt)
  • How this project fits in the political landscape at your company
  • How to best communicate the value to other teams and/or customers

A few more from Obie Fernandez:

  • Knowing when a technically correct change is still wrong because the system or the team isn’t ready for it yet.
  • Spotting places where tests are green but the model is wrong.
  • Recognizing when a clever solution will confuse more people than it helps.

Along with being a technical architect, you need to lean into the business side of things.

The new full stack

The best engineers need to deeply understand customers, markets, and products, not just code.

These are the new soft skills.

The new full stack is product + engineering, not frontend + backend. It’s being able to create and ship a new product by yourself. This is now possible with AI in the hands of an engineer that also knows product.

Lee Rob calls this a product engineer.

A product engineer is a generalist, understanding revenue goals, marketing, design, and engineering together to deliver value to a customer. They are technical enough to understand how to implement the product frontend and backend, but they are not obsessed with code, they are obsessed with delivering value.

What this means: understand what brings money into your company, and come up with new ideas to help. Know how your customers interact with your products, and understand how the code you write affects the bottom line. Move more towards product.

Do things no one asked you to do. A couple years ago I built a prototype using OpenAI tool calling to interact with our commerce APIs, without anyone asking for it. I shared it internally and it’s now my full time focus and a company wide product. My colleague Wes did market research on popular migration tools, and found a gap in the marketplace we could build a product to fill. He wrote up a doc and presented it to leadership, and it became a priority for next quarter. We are both ICs (individual contributors) and no one asked us to do this.

This doesn’t mean you should build a bunch of stuff with AI that doesn’t solve a real problem. We’ve all learned how easy it is to create a demo, but how hard it is to create a product with AI. You need to do more than just demo, have a plan for integration, deployment, and creating value for your customers. Move your understanding from purely technical to business + technical and try to spot opportunities.

Why we still need humans

AI will allow us to create lots more software, with fewer people writing the code, but the code is only one piece of the project.

Who is going to own the mental burden each application brings?

  • Thinking about how to iterate to serve your customers better
  • Making tiny modifications to move towards an incredible user experience
  • Communicating the value of the project internally and externally so it doesn’t die quietly
  • Fixing bugs, monitoring uptime, running evals
  • User testing, answering support questions, creating and updating documentation

These and a dozen other tiny tasks are what make a project successful, not just code. This still requires humans, and there is a bottleneck for how much code can be written because of it.

Will you lose your job to AI?

If your only value is writing code for the web, and you don’t deliver any other value, then I’d be worried.

It’s not that your skills aren’t valuable, or that you will never write code again, but the writing is on the wall. LLMs are already able to write most of the code that’s running the web, imagine where they will be in a year or two.

I’m not saying knowing code isn’t important, it allows you to review AI generated code and make sure the model doesn’t go off the rails. I am not going to stop improving my coding skills, but it won’t be the only way I provide value.