Also, I've seen the same stacks succeed and fail. The only common thing I can see is:
- when the tech team fully understand the stack they're using - when the tech team fully understand the product and business they're building (and can make appropriate trade offs)
There are a bunch of basic tech things. E.g. the underlying infrastructure has to be performance, scale, secure etc. There's also the issue of choosing a tech you can actually recruit for.