leadership
The Prototype Illusion and the Vasa Syndrome
November 20, 2025 · 12 min read
The Ship That Could Not Float
In August 1628, the Stockholm harbor was a stage. By the order of King Gustavus Adolphus of Sweden, the warship Vasa slid into the water in front of a great crowd. It was the engineering marvel of its age. The King had demanded firepower no ship had carried before and pushed his engineers to add an extra deck of cannons. Power alone was not enough either. The ship had to carry the glory of an empire, so its hull was loaded with hundreds of carved wooden statues, gold leaf, and heavy ornament.
Thirteen hundred meters out of the harbor, a light breeze tilted the ship to one side. Those mighty cannons, those dazzling sculptures, that perfect design had thrown the balance off so badly that Vasa sank within minutes.
The engineers had met every one of the King’s demands. More features, more magnificence. On paper, everything was spectacular. They had forgotten one thing only: the ship needed to float.
Today, in technology, hundreds of Vasas slide into the water every single day.
We tend to celebrate code that compiles, tests that turn green, and pixels lined up to perfection. Yet after years spent inside the kitchen, one truth keeps returning to me. Even the most flawless algorithm, if it does not ease a human pain, is just noise that warms up the processor. What Vasa’s carved statues were, the clean architecture of an app nobody opens is exactly that.
So let me have a plain conversation with you about why those flawless worlds we build at our desks shatter the moment they hit the dust of the street. Why do ideas we call “perfectly logical” fail to become products? The Anatolian poet Yunus Emre said that real knowledge is knowing yourself. In our world, knowing yourself means knowing who your code serves, what pain it touches, and which business value it carries.
Alchemy in the Kitchen and the Prototype Illusion
A product usually begins in a quiet, sterile laboratory. Research and development is a playground for technical people. No cost pressure, no customer complaints, only possibilities.
This stage is an intellectual tour around a problem. As the book Pürüzlü Mükemmellik, or Rough Perfection, puts it, sometimes you have to slow down in order to speed up. The deep research done here is the foundation that saves you from crushing technical debt later. But a danger waits right here too, and its name is kitchen blindness.
There is a mountain between a chef tuning a sauce to his own taste and that same dish served to five hundred people in a dining hall. As developers, we fall in love with the technology itself. The sentence “this database handles a million transactions per millisecond” thrills us. The real question is quieter: does our user need a million transactions?
What we hold at the end of this process is a prototype. You press a button, complex things happen in the dark, and a result lands on the screen. This is the moment the technical team cheers. Yet a prototype is a beautiful ghost that has no soul yet.
The sharp observation by Jason Fried and DHH, the authors of Rework, belongs here: prototypes are ideas in their rawest form. A prototype that works is not a product. A prototype is proof of a technical hypothesis. A product is a commercial and human contract. I would split the two like this:
- Prototype: “Look, this technology works.”
- Product: “Look, this technology improves your life, and it is worth your money and your time.”
Anything with no customer waiting for it, no pain to soothe, seen only as a technical challenge, never moves past the prototype stage. Use the most advanced AI models in the world if you like. If you create no concrete value in the life of the person who uses that model, what you have built is an expensive hobby. I have argued elsewhere that AI is not a cheat code but power steering, a force multiplier in the hands of someone who already knows where the car is going. The point holds here too. The tool can be as strong as you want, but the hand on the wheel has to know the destination.
The Graveyard of Rational Ideas
The biggest handicap of the engineering mind is treating the world like a clean equation. For us, it has to be A plus B equals C.
- Premise: People struggle to track their invoices.
- Solution: I built a perfect invoice tracking system.
- Expectation: Everyone will use it.
Real life does not run on that arithmetic. People are not machines that make logical choices. They act on habit, on fear, on emotion.
A logical idea is not a sellable idea. There is a question we ask often: is your product a vitamin or a painkiller?
- Vitamin: Good if you take it, healthy in the long run, but life goes on if you forget. A reporting tool with slightly deeper analysis.
- Painkiller: When your head is splitting, you hunt for an open pharmacy at midnight. A system that turns the cash flow back on when it stops.
Most of the ideas that feel logical to us are vitamins in pretty packaging. To leave their comfort zone and learn something new, customers need more than a logical reason. They need a burning one.
The Rework philosophy says scratch your own itch. The best products rarely come out of market research reports. They come from a founder solving a problem they live with. But there is a fine line. The spot where you itch may not matter to anyone else. Falling in love with your own idea is the costliest mistake a leader can make. When you validate that idea, you have to be ruthless.
Design or Function
We all know the quiet war that never ends in software. On one side, the backend with the pride of being the engine that does the work. On the other, the design team with the insistence of being the face that meets the user.
This fight usually happens on the wrong ground. “How beautiful should the design be?” is the wrong question. The right one is this: how does design clear a path for function without standing in front of it?
The over-engineering trap we fall into while writing code has a twin in design. A design without function is an empty box. A function without design is a treasure no one can use. The balance lives in pragmatism, not in either extreme.
If you build a corporate product, you have to understand your user’s psychology. That person is not opening the software for pleasure. They open it to get through the shift. Their need is not wow-effect animations, shadowed buttons, or icons that look like artwork. Their need is clarity. Is the button where it should be? Is the error message readable? Is the data table legible? In a corporate product, design exists to reduce cognitive load. Every extra effort poured into it past that point only makes the product clumsy. A clean, decent design that meets the standard is perfection itself here. Anything more is waste.
For consumer products the texture is different, but the core logic holds: do not wait for perfect. The design has to be professional enough to earn trust. But crafting every screen pixel by pixel is a slow suicide that delays your time to market. The strategy is an acceptable start. The product goes to the field, and you watch the reflexes. Which menu are users trying to click? Which color pulls their eye? Where does the flow get stuck? Design evolves at the user’s fingertips, not at your desk. As Pürüzlü Mükemmellik puts it, life is rough, and sterile lab designs rarely survive the chaos of the real world.
Remember, Vasa had a magnificent design too, and it could not float. The goal is not a painting for a museum wall. It is a ship that crosses the ocean.
Mental Eclipses
The architectures drawn on whiteboards in air-conditioned rooms are always wonderful. Everything is modular, everything scales. If this happens, that kicks in. If traffic spikes, servers multiply on their own. Then you go down to the field, put the product in front of real users, and the mental eclipses begin.
I want to repeat that striking line from Rework: planning is guessing. Drawing one-year and two-year roadmaps in technology is not far from fortune-telling. Nobody knows where the market, the technology, or the competition will sit six months from now. We keep making the same mistake, “let us finish the product and then launch.” A product never finishes. It is not a statue to carve and set aside. It is a garden, and it asks for constant pruning, care, and attention.
The hardest strategic problem I meet in the teams I lead is this: trying to stretch one customer’s special request across all customers. A customer says, “when I pull a report, make the rows red and sort the data in reverse.” For a developer, coding that is fifteen minutes. Slipping into “sure, we’ll handle it” mode is easy. For the product manager and the technical lead, it is the start of a nightmare. The questions pile up. Will this be open only to this customer? Or do we bolt a whole “Report Customization Module” onto the system?
This is where teams drown. While saying “let us please everyone, let us be flexible,” they build a Frankenstein. Undefined, leaking settings from every seam, impossible to use. Structures designed for flexibility at the desk show up as complexity in the field. And complexity is the greatest enemy of software.
A real technology leader is not the one who says “we can do this.” It is the one who can say “we should not do this, because it betrays the spirit and the simplicity of the product.” The difficulty is not in writing the code. It is in deciding what not to write.
The Product Lifecycle
You took the product live. Congratulations, the real trouble starts now. Let me borrow a line from Rumi: yesterday is gone, and everything said belongs to yesterday. Today calls for new words.
A live product is a living organism. It grows, it gets hungry and eats your servers and resources, it gets sick with bugs, and it wants attention in the form of support. In this cycle, the most critical thing is your stance toward customer demands.
The famous line attributed to Henry Ford, “if I had asked people what they wanted, they would have said faster horses,” is almost a constitution for product management. I know Ford never actually said it, but using it in a piece like this has a flavor of its own.
A customer is always right about the problem and usually wrong about the proposed solution. When a customer says “give me an export to Excel button,” what they really mean is, “I cannot analyze my data inside your interface, so I want to flee to the harbor I trust.” Your job is not to add that button, which is the easy road. It is to strengthen the analysis the product offers. There is a canyon between doing what the customer says and solving what the customer suffers from.
So what do you do when your product vision collides with what customers ask for?
Sometimes you hold the line. You stay stubborn about your core value proposition. If you promised simplicity, you do not complicate the product because five percent of users want it. Saying no is a muscle that grows with use. You do not wreck the experience of ninety-nine percent for the one percent.
Sometimes you cross the line on purpose. If the market has shifted at its foundation, stubbornness becomes foolishness. If the AI wave turned a feature that was indispensable yesterday into dead weight today, do not be afraid to throw it away. Follow the business value, even at the cost of burning your own technical foundation.
Do Not Fear the Burning
Working on projects that touched different geographies taught me one thing. Building a product is not creating an engineering marvel. Building a product is melting human psychology, commerce, aesthetics, and engineering in the same pot.
Your smooth plans at the desk will break in the field. The service you swore would never crash will go silent in the most important demo. The interface you labored over for days will strike a customer as too complicated. Your most logical idea will lose to the irrationality of the market. All of it is part of the process, part of that rough perfection. As the poet Nazim Hikmet wrote, if I do not burn, if you do not burn, if we do not burn, how will the darkness ever turn to light?
To find the right product, you have to risk burning inside the code, making mistakes, tearing prototypes down and building them again. Always with a single aim: not a technical success, but a value that lives in real hands and real workflows out in the field. I have written about the messy, rewarding work of actually shipping one such product end to end.
The leaders of the future will not be the ones who only know code. They will be the ones who can manage the fine line where code touches the human. Will your ship be a Vasa, ornate and fragile, or a vessel that holds against the storm and carries its crew to the far shore? The choice hides not in the first line of code you write, but in the first dream you build. The Turkish version of this piece lives here.