For most of my career, the hard part of building software was building it. Knowing the syntax, wiring the framework, making the thing run. That is changing fast, and not in the small way we assume at first. The AI does not just write the code now. It designs the screen, names the components, drafts the copy, picks the colors. The execution is becoming cheap and abundant. So the honest question is what is still mine.
My answer surprised me, because it is not a technical skill. It is taste. Typing became a commodity. Taste and references became the moat.
The model can build it, it cannot judge it (yet )
A model will happily hand you a whole screen, an API, a flow, a paragraph of copy. What it cannot do is tell you whether that screen makes sense to a real person, whether the flow solves the actual business problem, or whether it respects the domain it lives in. That judgment is yours. And you cannot prompt your way to a judgment you do not already carry. The model gives you infinite hands. Your references are what tell the hands where to go.
You can spot the AI from across the room
This is what convinced me. Watch what AI gives you when you let it design. It is impressive, and it is strangely uniform. The same rounded cards stacked in a grid, the same components, the same purple (it is always the purple ), the same soft gradient, an emoji in every heading. You can recognize an AI-made interface from across the room. The model learned the average of everything it saw, so it returns the average, confidently. That sameness is exactly what taste exists to escape.
A screen is not a pile of components placed side by side. A real feature has a reason to exist, a weight, a priority, a point of view. Someone decided what mattered most and what to leave out, and gave the thing a voice. That deciding never shows up in the final pixels, which is exactly why a model trained on final pixels does not reproduce it. It copies the components and misses the intent.
Recognizable as AI is not the same as good, and it is nowhere near the same as usable.
I did not plan for this, but I trained for it
I got lucky in a way I only understand now. Early on I worked alongside great designers who cared deeply about user experience, and sitting next to people with real taste rubs off on you. Then I ran my own company for over a decade and led the creation area, so I could never hide behind the code. I had to care about how the thing looked, how it felt, how much it produced, and whether the client’s business actually grew because of it. Everything was measured. A/B tests, real numbers, nothing left to assumption.
I also went looking for taste on purpose. I took a course in information architecture back when that was still an exotic phrase, and I read the books everyone in that world read. But the habit that shaped me most was a weekly ritual. I would visit the galleries of the best designed sites of the time, The FWA, Awwwards, CSS Design Awards, and study what won and try to understand why. I was filling a library in my head, one good example at a time.
Sitting next to the user broke my ego, again and again
There is a deeper reason I am obsessed with how software feels to use. I was always close to the person using it, the internal client and the external one. And time after time I watched someone struggle with a feature I had just delivered. Many times I was sure I had nailed the usability. We technical people carry a quiet bias, everything looks easy from the inside, every button is obvious because we built it. Then you sit next to the real user and watch them get lost in the very thing you were proud of. That happened to me more times than I can count, and each time it knocked a little arrogance out of me. It taught me that my opinion of my own work is not the measure. The user is.
Scarcity was a gift
Here is the part that feels almost unfair today. I learned all of this in an era of few resources. Slow connections, no ready-made component libraries, no answer waiting online for every question, and certainly no model to ask. If you wanted to do something well, you had to research it, take it apart, and understand it yourself. That friction was annoying at the time. It was also the best training I ever got, because it forced me to build references instead of copying answers.
Why this is the moat now
Today the model removes the friction for everyone, and that is both the wonder and the catch. All those extra hands, with no direction, just produce more, faster, and more like everyone else. The developer who knows what good looks like takes that generic material and turns it into something right, distinct, and usable. The one who does not just ships more of the same, more confidently than before.
The business case follows, and today more than ever it favors range. The developer who carries UX, interface sense, information architecture, and a real feel for the business, on top of a solid technical base, does not just produce software faster. They produce the right software, the kind that moves a real number for the company they work for or the client they serve. That range used to be a nice line on a resume. Now it is the difference between shipping value and shipping volume. A developer who only executes is the cheapest input in the room, and that price falls every month. I already made my peace with the AI writing the code. This is the other half of the same story. The execution got cheap, and the judgment got more valuable.
The good news is that taste is not a gift you are born with. It is a library you build. One good product you studied, one real user you watched struggle, one business conversation you sat through until it finally made sense.
What I would tell a younger developer
Do not only collect frameworks. Collect references. Look at products that feel great and ask why they feel that way. Sit with the business people until their problems make sense to you. Learn a little design, a little writing, a little economics. Borrow taste from everyone better than you, the way I did from those designers and those galleries.
The model will keep getting better at producing. It will not build your library for you. It will keep handing you the average, beautifully. Telling the average from the excellent, that part is still the job. In this era, it might be the whole job.
Pax et bonum.