Na minha humilde opinião, não existe "bala de prata", para nenhuma feature, framework, linguagem, cloud, (coloque o que mais você quiser), etc.
Linguagem é ferramenta, framework é ferramenta. O que mais vi na minha humilde experiência profissional e pessoal no mercado tech foram profissionais obcecados em fazer e assim esqueceram o "Como fazer?" ou até mesmo o "Por que fazer?".
Sempre pondere a necessidade, os requisitos. Aumente seu "portfólio mental" de soluções para saber qual é o melhor, de acordo com os seus conhecimentos, com o que o time sabe, e também com o que se consegue fazer naquele tempo.
Muitas vezes framework "A" pode resolver o problema tal qual o framework "B", perante certa necessidade, certos requisitos, e por incrível que pareça, pode não fazer significativa diferença no final das contas, usar um ou outro.
Já passei por projetos onde:
- foi escolhido uma linguagem por ser o "knowhow" da maioria do time
- foi escolhido o framework "X" por ter mais devs contribuindo no github, do que outro também largamente utilizado.
- foi escolhido usar cloud "Y" por que a empresa se beneficiaria em um negócio interno.
Fazer oq? Esse é o mercado, essa é a vida real. Devemos sempre dar o nosso melhor, de acordo com os parâmetros que temos, em cada momento e situação. A experiência (não em anos, mas em vivência) lhe ajudará nessas escolhas.
Parece muitas vezes uma questão filosófica, e é mesmo. A cultura de uma "bigtech" ou de empresas pequenas, pesa muitas vezes, de forma errada, em questões técnicas. Muitos são os fatores (do que tem menos peso, ao mais importante) que mudam a escolha de uma "ferramenta".
Software, ao meu ver, é "vivo". O código é "vivo". Deve ser sempre corrigido, melhorado, e muitas vezes refatorado (infelizmente kkk). Hoje o que funciona, amanhã pode não funcionar tão bem. E tudo bem, faz parte.
Todo esse assunto dá um excelente papo! Espero poder ter ajudado qualquer um que leu esse comentário.