Não seja um programador de frameworks
Tags: carrer, frameworks, javascript
Published: 2020-02-26 22:09:10

Com o avanço das tecnologias e ferramentas, é cada vez mais comum vermos novos desenvolvedores entrando na área conhecendo mais os frameworks do que a linguagem o qual o frameworks se baseia.

Quantas vezes você já ouviu um novo dev muito empolgado para aprender React, Flutter, Node e outros frameworks e bibliotecas? Muitas né? Agora quantas vezes você viu o mesmo dev com a mesma ânsia por aprender assuntos como estrutura de dados, algoritmos, compiladores, redes entre outros.

É natural, afinal aprender uma nova biblioteca visual por exemplo, é muito mais interessante do que entender reflow e repaint do navegador, por exemplo.

Mas não podemos negar, que a falta de conceitos das bases, são muito prejudiciais para um desenvolvedor no longo prazo.

Afinal um desenvolvedor sênior não se dá pela quantidade de frameworks que ele sabe, ou pela quantidade de linguagens que ele conhece. Mas sim pela sua capacidade de resolver problemas complexos.

E para resolver problemas complexos, um dev precisa entender muito bem as bases das tecnologias pois os frameworks não resolvem todos os problemas, principalmente de projetos de grande porte.

Neles você vai ter que enfrentar problemas como de latência de rede, renderização do navegador, filas de execução e entre outros desafios.

## Riscos de saber apenas o alto nível de programação

Nos últimos anos vimos um grande crescimento da linguagem de programação JavaScript, quando o Node.js foi lançado deu início a todo ecossistema que vemos nos dias de hoje, frameworks Web, Mobile, e muitas outras ferramentas.

E isso é bem legal, afinal conseguimos utilizar uma única linguagem para desenvolver do back-end até o front-end tanto Web e Mobile.

Porém com isso veio uma enxurrada de frameworks JavaScript, o que deu início a uma grande corrida para se aprender cada vez mais essas bibliotecas.

Dessa forma, os desenvolvedores estão começando seus estudos por React, Vue e Angular, antes de estudar a linguagem no qual o framework foi construído.

Isso causa uma grande quantidade de projetos sendo desenvolvidos em cima dessas tecnologias, que às vezes, se pararmos e analisarmos melhor, um simples código com JavaScript Vanilla resolveria todo o problema. 

Pensando nisso, começo a dar razão a uma frase bem comum da nossa área: "Matar uma formiga com um canhão".

## Dicas para não ser um programador de framework

Não deixe de estudar os frameworks, eles são muito importantes na área de tecnologia, pois nos ajudam nas entregas do dia a dia, quando precisamos fazer uma prova de conceito, para convencer o chefe a utilizar uma nova tecnologia ou até mesmo para um novo projeto que a empresa tem a intenção de lançar, mas está em dúvida em qual tecnologia ela deve seguir.

Porém, não se esqueça que o framework foi desenvolvido em cima de uma linguagem, e se você tem o domínio da linguagem você acaba tendo um domínio bem maior sobre o framework.

Quando comecei com JavaScript foi utilizando o Angular 1, eu estudei muito o framework, comprei cursos, livros e entendia muito bem todo seu funcionamento como framework.

Entretanto conforme o projeto foi crescendo, foram surgindo problemas que eu não conseguia resolver da melhor maneira, afinal eu não conhecia profundamente a base do JavaScript. 

Com o surgimento do Angular 2, tudo mudou e eu tive que aprender tudo novamente, porém dessa vez foquei no estudo do JavaScript.

Digo com toda a certeza que essa foi a melhor decisão que tomei, pois agora consigo me tornar produtivo em um framework baseado em JavaScript em muito menos tempo do que eu costumava levar para aprender o framework.

Uma dica que eu dou para vocês é estudar conceitos que nunca vão mudar, pode ser que surjam novos, mas um conceito não vai mudar e toda tecnologia sempre é baseada em conceito. 

Estude algoritmos, sistemas operacionais, redes, arquitetura de software, fundamentos da computação, estude como funciona as requisições de uma API, os protocolos de comunicação que temos, padrões de projetos, compiladores e muitos outros assuntos base (que inclusive vimos na faculdade mas não damos a devida atenção).

Outra dica legal é tente entender como o framework foi construído, quais técnicas e padrões foram utilizados. Isso nos ajuda a entender como podemos usar as linguagens de programação disponíveis no mercado.

Pessoal neste artigo tentei mostrar a relevância de entender os conceitos bases que são muito importantes para tudo que temos nos dias de hoje.

No dia a dia, vemos bastante coisa que dizemos ser tecnologia nova, mas se formos olhar a fundo, vamos entender que o conceito por trás da tecnologia foi criado nos primórdios da computação.