I’m fluent in many languages and I’ve used many frameworks. I have opinions about many of them. If you’ve read anything I’ve written, you’ve seen I’ve fallen in love with an 11-year-old framework.
Things I ask myself
Who am I trying to impress?
Am I trying to impress my friends with my stack? My family? My colleagues? Am I trying to get responses like “wow, that’s a really gutsy move; you must be a confident guy!”
No. I’m trying to impress my potential users/customers with stability and reliability. I’m trying to impress my client with how agile and productive I am.
How is the tooling?
How mature is the tooling? Will it allow me to be productive? At what cost does the tooling come? Is it extensible?
Is there long-term support in the pipeline?
It’s hard to really judge this from an outsider’s perspective. I’ve found the easiest way is to ask, “are there huge companies/products that rely on this?”
How is the ecosystem?
Are there libraries available that are mature and battle-tested? How much do they allow me to not reinvent the wheel?
What kind of talent is available?
How big is the talent pool for this framework, its language? This tells me about the ecosystem, as well as the likelihood I’ll be able to retire and leave my phone and email behind.
Is it the right tool for the job?
This is a hard one to ask. Programming languages and frameworks aren’t like kitchen appliances: Use this for heating, this one for mixing. It might be better to ask “who else is using this, what are they doing, and how are they doing it?”
Things I don’t ask myself
Will it scale?
My application isn’t built yet, so I don’t know if it will scale. Those framework benchmarks are skewed and inaccurate because they don’t benchmark my application, they benchmark someone else’s application.
Is it performant?
While I’d love to apply my “will it scale?” thinking here, it’s hard to. Instead, I’d reference the conclusion of, “is it the right tool for the job?” and see how performant they are. If I’m feeling daring, maybe I’ll shoot those companies an email asking for their thoughts.
Is it cool? How many posts does it have on HackerNews in the last 6 months?
See “who am I trying to impress”