How I choose a tech stack without chasing hype

January 29, 20265 min readBy Harman Kamboj
CareerBuilding in public

Every few months a new framework shows up with a slick landing page and a benchmark that makes everything else look slow. I have been doing this long enough to have adopted some of those early and regretted it, and to have skipped others that turned out to matter. Choosing a tech stack is not about picking what is exciting on a given Tuesday. It is a bet on what you will be able to maintain, hire for, and debug at 2am two years from now.

Boring is a feature

My default lean is toward boring, proven tools, and I mean that as a compliment. Postgres, a typed language, a framework with a big community and years of production mileage. Boring tools have something the shiny ones do not: every problem you will hit has already been hit by a thousand people who wrote it down. When I picked Postgres for something, I never spent a day wondering whether the database itself was the bug. That confidence is worth more than a 10 percent speedup on a benchmark nobody will ever notice.

The cost of novelty is real and it shows up later. New tools have thin docs, breaking changes, and a Stack Overflow that just says no answers found. You pay that cost in the exact moment you can least afford it, when something is on fire in production.

The questions I actually ask

When I am choosing a tech stack for a real project, I run through a short list before I get attached to anything. None of these are about how fun the tool is to write.

  • Who maintains this and will they still be here in three years.
  • How hard is it to hire or onboard someone who knows it.
  • When it breaks, can I read the source and understand what happened.
  • What is the escape hatch if this choice turns out wrong.
  • Does it actually fit this problem, or am I just curious about it.

That last question catches me more than I would like to admit. There is a difference between a tool being good and a tool being right for this specific job. I keep a separate place for tools I want to learn, which is side projects, so I am not paying off my curiosity with a client's deadline.

Match the tool to the problem, not the trend

Different problems pull toward different answers, and that is fine. I reach for Go when I want predictable performance and simple concurrency in a backend service, and for TypeScript and Node when I want to move fast and share types across the whole stack. For a content-heavy site I will pick something with strong rendering and routing built in rather than wiring it together myself. The point is that the problem decides, not my mood. A stack that is perfect for a high-throughput indexer is overkill for a marketing site, and the reverse is worse.

I also weigh the team I am handing this to. A brilliant choice that only I understand is a liability the day I am on vacation. If the people who will live with the code cannot be productive in it, it was the wrong choice no matter how elegant it looked on paper.

When new tech is worth the risk

I am not a luddite. I do adopt new things, just deliberately. The bar is that the new tool has to solve a problem my current tools genuinely cannot, not solve a problem I already had a fine answer for. When a query layer or a build tool removes a whole category of pain I was actually feeling, that is a real reason to switch. Faster on a benchmark is not a real reason on its own.

I also try the new thing on something small and low-stakes first. A side project, an internal tool, a piece of a system I can rip out. By the time it touches anything important, I have hit its rough edges in private where they cannot hurt anyone. That is how I learned which new tools were keepers and which were demos with good marketing.

The choice you can walk back

The healthiest mindset I have found when choosing a tech stack is to assume I might be wrong and design so that being wrong is survivable. Keep the core of your system in plain, portable code. Put the trendy thing at the edges where you can swap it. Avoid letting any one framework dictate the shape of your entire codebase, because frameworks come and go and your business logic should outlive all of them.

Hype fades on a schedule you cannot predict. The tools you can reason about, hire for, and replace without a rewrite are the ones that keep paying off. Pick for the unglamorous middle years of a project, not the launch-week excitement, and you will make far fewer choices you have to apologize for later.

Building something where this matters?

I am open to senior full-stack, Web3, or AI engineering roles, fully remote and any timezone. If the hard part of your product is fighting you, that is the work I like.

Get in touch →