Your tech stack matters less than you think
Founders and engineers spend enormous energy agonizing over which technologies to build on, as if the choice will make or break the company. Which framework. Which database. Which language. Which architecture. The debates run for days and get heated, and everyone in them is sure the answer matters enormously. In almost every case it matters far less than the energy spent on it suggests. The things that actually decide whether a company succeeds sit somewhere else entirely. And the stack obsession, more often than anyone wants to admit, is a way of avoiding them.
That is the part worth sitting with. The stack debate is not just overweighted. It is overweighted because it is comfortable, and the comfortable thing crowds out the hard thing. This whole article is about that trade, and how to stop making it.
Most stacks are good enough
Start with the claim that sounds almost too simple to be useful. For the overwhelming majority of products, most reasonable technology choices work fine.
The popular, well-supported options are popular and well-supported for a reason. They have been used to build almost everything a company could need to build, by teams larger and smaller than yours, under load heavier and lighter than yours will ever see. They have communities, documentation, hiring pools, and years of other people hitting the same walls you will hit and writing down how they got past them. When you pick a boring, established option, you are not settling. You are inheriting a decade of other people's solved problems.
The differences between these options feel enormous in a debate. In practice they mostly wash out. One framework renders a little faster. Another has a cleaner data layer. A third has a syntax your team likes better. These are real differences, and they are real in the same way the color of a delivery truck is real. It exists, you can argue about it, and it is not why the packages arrive on time.
Picture two teams building roughly the same product. One picks the framework that won the internet argument this year. The other picks the one that lost it, the slightly older, slightly less fashionable option their lead already knew. A year later, one of those products is doing well and one is struggling. If you go looking for the reason, you will not find it in the framework. You will find it in whether the team understood what users wanted, whether they shipped fast enough to learn, whether they made a mess of the data model, whether they kept their focus. The stack was the room the work happened in. It was not the work.
A competent team can build a great product on any of several stacks. A weak team will struggle on all of them. Hold onto that sentence, because it is the whole argument in miniature. The stack is rarely the variable that decides the outcome, because most stacks are simply good enough for the job.
What actually matters more
If not the stack, then what. It is a short list, and none of it is a technology.
- The team building it
- Whether you understand the problem
- Whether you actually execute
- The foundational decisions you make inside whatever stack you pick
Take them one at a time, because each one outweighs the stack for a different reason.
The team matters more than any of it. A strong team on a mediocre stack beats a weak team on a perfect one, every time. Give good people ordinary tools and they build something good. Give weak people the finest tools available and they build something weak, slowly, while arguing about the tools. This is not a claim about how to hire or how to build a team. It is a simpler and harder claim. Whatever your team is, that is far more of your outcome than whatever your stack is, and no framework rescues the first from the second.
Understanding the problem matters more. Building the right thing on an average stack beats building the wrong thing on the ideal one. A product that solves a real problem people have, built on unremarkable technology, wins against a technically beautiful product that solves a problem no one has. The market does not grade your stack. It grades whether the thing helps.
Execution matters more. Shipping, learning from what shipped, and improving on a steady cadence decides more than the technology those things are done with. Two teams can pick the same stack and end up in completely different places because one of them shipped every week and one of them polished in private for six months. The stack was identical. The outcome was not. What differed was the doing.
And the foundational decisions inside a stack matter more than the choice of stack itself. The data model you pick, the boundaries you draw between your systems, the choices that will be expensive to undo later, all of that will outlast and outweigh which framework you wrapped around it. I will not go into how that bill compounds here, because it is its own long story. The short version is that these decisions live in the foundation and quietly shape everything you build on top of them. Which stack you chose is a smaller decision than the shape of the data flowing through it.
Put the four together and the picture is clear. The stack is the setting the real work happens in. It is not the work itself.
Why founders overweight it
So if the stack matters less than the team, the problem, the execution, and the decisions inside it, why does it eat so much of the room? Why does the framework debate run for days while the harder questions get a shrug?
Because the stack is concrete, bounded, and winnable, and the things that actually matter are none of those.
Look at what you are really being asked to judge. Whether you understand your users is fuzzy and uncomfortable. You cannot prove it. You can only ship and find out, and finding out might mean finding out you were wrong. Whether your team is strong is delicate, because it is about people you work with every day, and confronting it honestly means confronting things you would rather not. Whether you are building the right thing is genuinely hard to know, and no amount of talking settles it. These questions do not have clean answers. They do not resolve in a meeting. You sit in the discomfort of not knowing, and the discomfort does not go away when the meeting ends.
Now look at the stack question. Should we use this framework or that one. That is a clean, bounded problem. It has edges. Everyone on the team can have an informed opinion. There are benchmarks to cite, blog posts to link, tradeoffs to weigh, a real decision to reach at the end. You can win the argument. You can feel, at the end of the day, that you resolved something.
That feeling is the trap. The stack debate gives you the sensation of doing serious, rigorous work, of being diligent and careful and thorough. And it does it about the one question in the room whose answer barely matters. So the debate absorbs the energy the harder questions deserve, because the harder questions do not offer that feeling. They offer no resolution and no win. Arguing about the stack becomes a comfortable substitute for confronting what actually determines success. It feels like diligence and it is often avoidance.
Watch how it plays out. A team is two weeks from needing to know whether anyone actually wants the thing they are building. That is the real risk. That is the question that could kill the company, and nobody knows the answer, and finding out would be uncomfortable, because the answer might be no. So instead the team spends those two weeks in a deep, energetic, genuinely engaged debate about which database to use. They read comparisons. They build small prototypes. They argue in long threads. Everyone is working hard, and everyone feels productive, and at the end they have a well-reasoned database decision and are exactly as ignorant as before about whether anyone wants the product. They spent their two weeks on the question they could answer instead of the question that mattered, because the question they could answer felt so much better to work on.
I have watched smart people do this, and I have done it myself. It never looks like avoidance from the inside. It looks like being thorough. That is what makes it so effective at hiding. Nobody in that database debate thinks they are running from the hard question. They think they are being careful. The stack debate is the most respectable form of procrastination in software, because it wears the exact costume of the work it is helping you avoid.
The tell is simple, and it is worth learning to catch. When a technical debate feels unusually satisfying, unusually clean, unusually easy to get everyone engaged in, ask what harder question sits next to it going untouched. The energy a team pours into the stack is very often energy that was afraid to go somewhere else.
When the stack does matter
None of this means the choice is irrelevant, and pretending it never matters would be its own kind of dishonesty. It matters in a few specific cases, and it is worth being precise about them, so this does not collapse into "nothing matters, pick anything."
- When you have an unusual technical requirement only certain technologies handle well
- When your team already knows one option deeply
- When picking something obscure or unsupported would cost you later
Each one is real, and each one is narrower than the debates that usually happen.
The unusual requirement is the cleanest case. If your product genuinely needs something specific, real-time performance at a scale most apps never touch, a particular kind of data most databases handle badly, a hard guarantee only a few technologies actually provide, then the requirement dictates the choice. Notice what that means. It is not a preference anymore. It is not a debate. The requirement decides, and your job is to identify it honestly and let it pick the tool. Most products do not have a requirement like this. The ones that do usually know it, and for them the choice makes itself.
Existing expertise is the case founders most often talk themselves out of, and they should not. If your team already knows one option deeply, that knowledge is worth more than the abstract superiority of an alternative. A team that is genuinely fluent in a slightly worse tool will out-build a team fumbling through a slightly better one they just picked up. The learning curve is real time, the mistakes on unfamiliar ground are real bugs, and none of it was on the comparison chart. Pick the thing your people already know how to use well. Their fluency is a bigger advantage than any feature a newer option lists.
The last case is about the floor, not the ceiling. Do not pick something obscure or unsupported. Being on a technology almost no one else uses creates real problems that show up later, not now. You cannot hire for it, because the pool of people who know it is tiny. You cannot get help when you are stuck, because the community that has already solved your problem does not exist. And you carry the risk that the thing is abandoned and you are left maintaining a foundation no one else supports. Novelty feels clever on day one and turns into a tax every year after. Boring and well-supported beats interesting and lonely.
Beyond these three, the choice among reasonable, well-supported options is far less consequential than it feels in the room. If you are not being pushed by a real requirement, and you are not choosing between existing fluency and a fresh start, and both options are established and supported, then you are in the zone where the debate barely matters. That zone is where most stack arguments actually live. Which is exactly why most of them are not worth the days they consume.
Pick something reasonable and get to work
I did not arrive at this from theory. I built Stack Learner, the ed-tech platform I founded and ran for roughly a decade, and over those years I built and rebuilt it across different technologies more than once. I have also worked across many stacks for many clients, on many kinds of products, with teams of every shape. If any body of experience should have taught me that the stack decides the outcome, it was that one.
It taught me the opposite. The stack was rarely the reason anything succeeded or failed. What mattered was whether the team was good, whether we understood the problem we were solving, whether we executed instead of just planning, and whether we got the foundational decisions right. When something worked, it worked because those things were in place. When something struggled, it struggled because one of them was missing. The specific technologies were interchangeable to a degree that would genuinely surprise someone in the middle of a heated stack debate. I rebuilt the same product on different foundations and it was still the same product, still won or lost for the same reasons, still lived and died on the work rather than the tools.
That is the experience underneath every claim in this article. Not a preference for one technology over another. A repeated, firsthand observation that the technology was almost never the thing.
So here is the whole method, and it is short. Pick a reasonable, well-supported, boring option that your team already knows. Spend almost no time agonizing over it. Then take all the energy you would have poured into the debate and pour it into the things that actually decide the outcome. Go find out whether anyone wants the thing. Go make sure the team is strong. Go ship something and learn from it. Go get the foundational decisions right. That is where your effort changes the result. The stack debate is not.
The stack debate is seductive because it is concrete and winnable. The real work is fuzzy and hard. Spend your effort where it counts, not where it feels good. Choose something sensible, stop arguing, and go build the right thing well. That, far more than any framework, is what decides whether you have a company.
Notes on building things that last
Occasional writing on product, engineering, and building a company, sent when I have something worth saying. No noise.
No spam. Unsubscribe anytime.