Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

When we started building Enchant [0], we used some tech that we understood well and some tech that was new and shiny.

Over the years, most of the new and shiny choices eventually caused more pain than we had ever anticipated. We ended up either ripping them out or working around the problems they introduced.

But I think "choose boring technology" is not a great guiding light. I've written previously about how to pick the "Right" technology [1], but I'll summarize below:

* It's not about using the right tool for the job. Sometimes, the right tool for the job isn't the right tool for you right now. It may be too expensive, you may not have the team necessary to maintain it, it may not integrate well with your existing stack * It's not about using boring tech either. Boring tech can be antiquated already (or on a rapid path of getting there)

So how do you chose the right tech? * Sometimes the "right" tech is already there - your existing tools may already be able to do what you need to do "good enough" for the next order of magnitude of scale. This buys you time before you need to take on additional complexity. * The right tech is proven and widely deployed - and looks like it's still has a good trajectory going for it .. i.e. people still care about it! * The right tech is robust - it's already battle tested and handles all the edge cases and big business needs. Security releases, zero-downtime upgrades, high availability and backups, known paths to scale, strong community, etc..

But this isn't a one time thing. When you start seeing signs that the tech is losing favor to newer better things, you also need to plan a migration or you end up stuck in the past (with poorly supported tech that's hard to hire for).

Today, having learned our lessons (the hard way), we evolve our tech stack much more methodically.

0: https://www.enchant.com - shared inboxes, knowledge bases, live chat

1: https://www.vinaysahni.com/how-to-choose-the-right-technolog...



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: