Django e o preço das mágicas
Após ter passado meses estudando Typescript e usando Node.js e Angular para construir projetos na empresa, eles me disseram: "você vai pro time de Python agora. Eles só usam Django lá, então você vai estudando aí já, porque só pretendemos usar isso daqui pra frente. Talvez eles usem um front independente com Vue, dependendo do projeto."
A stack não importa. Frameworks são só ferramentas pra realizar um trabalho complexo de forma simples. O que me pegou mesmo não foi o fato de ter que "jogar fora" meus estudos em padrão RESTful de projeto, boas práticas e sobre o ecossistema Node pra passar a usar uma linguagem diferente, em um framework diferente, com patterns diferentes. O que realmente me deixou na dúvida é: será que, visando uma carreira de fullstack, vale a pena se especializar em desenvolver projetos fullstack - isto é, não REST - com Django?
Fato é: o projeto fullstack realmente é mais simples e direto. Tudo fica mais fácil sem o REST. Há menos "burocracia". E o Django facilita tudo isso ainda mais não só por ser batteries included como por ter muitas "mágicas". Sem SQL: o lazy query por dot-lookup já faz isso AUTOMATICAMENTE por você; sem middlewares e auth: o Django já vem com tudo isso configurado AUTOMATICAMENTE por você; sem necessidade de rotas, transporte de JSON e typagem: o que você decidir exibir nos templates, o MVC vai deixar prontinho pra ser consumido, basta estar no Models. Não só isso, mas, verdade seja dita, o ecossistema python é muito mais maduro no backend que o ecossistema Node, que sempre acaba parecendo um pouco "Frankenstein" com tantas bibliotecas importadas e não tão maduras.
E a pergunta, de novo é: e isso vale a pena? Isso não é um tiro no pé ao longo prazo? Vou passar anos e me tornar sênior, mas não saber direito configurar um servidor ou fazer uma query SQL porque o Django sempre fez tudo isso por mim? Ou isso tudo é só coisa da minha cabeça?
Pergunta extra: dentro do modelo fullstack, vale mais a pena ir pra Next/Nuxt por estarem inseridos no ecossistema javascript (que, indiscutivelmente, é o rei da web), ou realmente ir pro Django, que por ser em python abre portas pra coisas fora da web?