The What, the How, and the Agentic That

AI is writing the code now. So far, so revolutionary boring. But it is only one part of software engineering. Every software project has to answer three different questions:

  • What should exist?
  • How should it be constructed?
  • How do we make sure it actually gets built?

The WHAT

The WHAT begins with people. What are they trying to achieve? What is getting in their way? What problem actually exists, and which requested feature creates more problems than it solves?

This is the field of human understanding and product thinking. Defining the WHAT means looking past the stated wish and deciding what should actually be built.

Agents can explore the options. We still have to supply the understanding of real-life situations, the ideas, and the guardrails.

The HOW

Once the product is clear, it still needs a structure that will hold.

Where are the system boundaries? Which data belongs where? What happens when an API fails? How will the software be tested, deployed, monitored, updated, and later changed by people who were not there when it was created?

That is the HOW.

Architecture means making decisions whose consequences often only show up months or years later.

Agents can propose architectures and implement them at astonishing speed. They can just as quickly produce a cleanly executed implementation of an idiotic decision.

We still have to weigh the long-term consequences and make the decisions.

That is why the popular idea that product managers should vibe-code these days is too simple. Pair vibe-coding with a product manager and a senior developer gets closer.

The agentic THAT

Finally, there is the work of making the system actually exist: writing the actual code.

This is the agentic THAT. Coding agents have become extremely good at it. They can turn clear product and architecture decisions into working code faster than any human developer typing alone ever could. A carefully thought-through and well-phrased wish can now become working software before lunch.

Good developers

This also changes what makes good developers: the ability to get from a human problem to a good product decision, develop an architecture that will hold, and then steer the implementation through a tightly guided agentic process. Knowing yet another framework by heart has become irrelevant.

So, being a developer nowadays is more fun than ever, at least for me: it means using agents to put seven-league boots on human understanding, human creativity, and human experience.