How do you select technology stack for your projects?
In the past few days, I've read thousands (and I'm not exaggerating) of documents about various tools and technologies that become a part of various technology stacks commonly used. One thing emerged is that each technology / tool / programming language has its own shortcomings and it's actually a challenge to come up with the 'right' tech stack for specific projects.
When you are building for scalability (on the web) - you got to consider a ton of factors. Your technology stack, I believe, directly affects the infrastructure cost that you're going to need.
Then there's a problem of getting skilled engineers to achieve specific tasks. For example, I might opt for the latest kick-ass language that promises to solve most of the common problems; but then it becomes super difficult to find experienced engineers who can fix problems.
What are technical as well as non-technical aspects do you consider before choosing the technology stack for your project?