Everyone Can Build Software. Not Everyone Can Build a Product.
"Software Engineering is an art, not a science." The AI era hasn't changed that belief—it has reinforced it.
There is a phrase I used to repeat early in my career:
Software Engineering is an art, not a science.
At the time, people would challenge that statement. Software follows rules. Computers are deterministic. Surely engineering is just applying the right patterns.
Twenty years later, AI has unintentionally proved that statement correct.
Today, almost anyone can ask Claude, Codex, ChatGPT, Gemini, or Cursor to generate an application. In a matter of hours, they can have polished screens, authentication, dashboards, animations, and even a working demo.
That is remarkable.
But it also creates a dangerous illusion.
Building software is no longer the hard part. Building a product still is.
The Prototype Trap
AI has dramatically shortened the distance between an idea and something you can see on a screen.
That's a wonderful capability.
A polished interface or interactive demo can inspire confidence, generate feedback, and help validate a concept. But there is an important distinction between demonstrating what a product could become and building something that customers can depend on every day.
The moment a product meets the real world, entirely different challenges appear.
· Authentication and authorization
· APIs
· Business rules
· Databases
· Data integrity
· Performance
· Security
· Auditing
· Logging
· Error handling
· Deployment
· Monitoring
· Versioning
· Backup and recovery
· Scalability
· Customer-specific configurations
Ironically, most of these are the parts customers never see.
Yet they are the parts that determine whether your product survives.
The Invisible 80%
Great products spend most of their engineering effort on things that are invisible.
Users don't notice a well-designed database.
They don't celebrate resilient APIs.
Nobody compliments transaction management or retry logic.
Until they fail.
That invisible foundation is what separates a weekend project from software that businesses trust every day.
AI Didn't Replace Engineering
AI has made developers dramatically more productive.
I use it every day.
It helps me write code faster.
It explores design options.
It catches mistakes.
It accelerates learning.
But AI hasn't removed engineering.
It has shifted where engineering creates value.
Less time is spent writing boilerplate.
More time should be spent asking better questions.
· Is this architecture sustainable?
· How will this evolve in two years?
· What happens when ten customers use it differently?
· How will we migrate the data?
· What happens when one dependency changes?
· Can this be operated at 2 a.m. during an outage?
Those questions cannot simply be generated from a prompt.
They come from experience, design thinking, and understanding the entire product lifecycle.
The Product Lifecycle Still Matters
The lifecycle hasn't disappeared.
If anything, it has become even more important.
§ Understanding customers.
§ Validating ideas.
§ Designing architecture.
§ Building incrementally.
§ Testing.
§ Observability.
§ Operations.
§ Support.
§ Iteration.
AI accelerates nearly every one of these stages.
It doesn't eliminate them.
Skipping them simply means you'll discover the problems later—when customers do.
Software Engineering Has Become More Artistic
This is why I still believe Software Engineering is an art.
Not because coding is mysterious.
But because building successful products requires balancing competing priorities that no algorithm can perfectly optimize.
§ Performance versus maintainability.
§ Speed versus quality.
§ Flexibility versus simplicity.
§ Customer needs versus technical debt.
§ Short-term delivery versus long-term sustainability.
AI gives every engineer a much larger toolbox.
The craftsmanship still comes from knowing when, why, and how to use those tools.
Final Thought
The AI era has democratized software development.
That is one of the most exciting shifts our industry has ever seen.
But let's not confuse the ability to generate code with the ability to build products.
Anyone can now create software.
Building something customers trust, teams can maintain, and businesses can depend on—that remains the real craft.
And perhaps now more than ever, software engineering has become exactly what I believed all those years ago:
An art.