
Ser um desenvolvedor de JavaScript é legal, pois a necessidade de bons programadores de JS está crescendo constantemente no mercado de trabalho. Atualmente, existem muitas estruturas, bibliotecas e outras coisas que podem ser usadas no trabalho e, em grande parte, devemos ser gratos a fontes de código aberto por isso. Mas, em algum momento, o desenvolvedor começa a gastar muito tempo em projetos JS, em comparação com todas as outras tarefas.
É muito provável que, no futuro, isso leve a conseqüências desastrosas para sua carreira, mas até agora você não percebe isso. Eu mesmo cometi alguns erros no passado, descritos abaixo, e agora quero protegê-lo deles. Aqui estão oito erros de desenvolvedor JS que podem tornar seu futuro não muito brilhante.
Lembramos que: para todos os leitores de "Habr" - um desconto de 10.000 rublos ao se inscrever em qualquer curso Skillbox usando o código promocional "Habr".
A Skillbox recomenda: O Curso de Educação Online para Desenvolvedores Java .
Usando jQuery
O jQuery desempenhou um papel enorme no desenvolvimento de todo o ecossistema de JavaScript. Inicialmente, o JS foi usado para criar apresentações de slides e vários tipos de widgets, galerias de imagens para sites. O jQuery tornou possível esquecer os problemas de compatibilidade de código para diferentes navegadores, padronizando o uso de níveis de abstração e trabalhando com o DOM. Por sua vez, isso ajudou a simplificar o AJAX e problemas com diferenças entre navegadores.
No entanto, hoje esses problemas não são tão relevantes quanto antes. A maioria deles foi resolvida por padronização - por exemplo, busca e seletores de API.
Os problemas restantes são resolvidos por outras bibliotecas, como React. As bibliotecas fornecem muitos outros recursos que não estão disponíveis para o jQuery.
Ao trabalhar com jQuery, em algum momento você começa a fazer coisas estranhas: por exemplo, use elementos DOM como estados ou dados atuais e também escreva códigos terrivelmente complexos apenas para descobrir o que há com o estado DOM anterior, atual e futuro , além de garantir uma transição apropriada para as próximas condições.
Ninguém proíbe o uso do jQuery, mas reserve um tempo para aprender mais sobre as alternativas mais modernas - React, Vue e Angular - e suas vantagens.
Falha no teste da unidade
Muitas vezes vejo pessoas ignorando testes de unidade para seus aplicativos da web. Tudo está indo bem - até o aplicativo falhar com "erro inesperado". E, neste momento, temos um enorme problema, porque estamos perdendo tempo e dinheiro.
Sim, se o aplicativo compilar normalmente sem mensagens de erro, mas quando compilado funcionar, isso não significa que está pronto para uso.
A falta de teste é mais ou menos aceitável para pequenas aplicações. Mas quando os programas são grandes e complexos, eles são difíceis de manter. Portanto, os testes se tornam um elemento de desenvolvimento extremamente importante. Nesse caso, alterar um componente do aplicativo não danificará o outro.
Comece a usar o
teste imediatamente .
Estruturas de aprendizado antes do JavaScript
Entendo perfeitamente aqueles que, começando a desenvolver um aplicativo da Web, imediatamente começam a usar bibliotecas e estruturas populares como React, Vue ou Angular.
Eu costumava dizer que primeiro você precisa aprender JavaScript e depois estruturas, mas agora estou convencido de que tudo isso deve ser feito simultaneamente. O JS muda extremamente rapidamente, portanto, é necessário obter alguma experiência com o React, Vue ou Angular enquanto aprende JavaScript.
Isso está começando a afetar os requisitos apresentados para os candidatos ao cargo de desenvolvedor. Aqui, por exemplo, é o que eu encontrei pesquisando o Indeed pela chave "JavaScript".

A descrição do trabalho diz que eles precisam de conhecimento de jQuery e JavaScript. I.e. para esta empresa, ambos os componentes são igualmente importantes.
Aqui está outra descrição que lista apenas os requisitos "básicos":

E assim em cerca de metade das vagas que eu olhei. No entanto, acredito que a proporção correta de tempo para estudar JS e frameworks é de aproximadamente 65% a 35%, e não de 50 a 50.
Relutância em se familiarizar com o conceito de "código limpo"
Todo desenvolvedor iniciante deve aprender a criar código limpo se quiser se tornar um profissional. Você deve se familiarizar com o conceito de "código limpo" no início de uma carreira. Quanto mais cedo você começar a seguir as disposições deste conceito, mais cedo se acostumará a escrever imediatamente um código limpo, fácil de manter posteriormente.
A propósito, para entender os benefícios de um código bom e limpo, você não precisa tentar escrever código incorreto. Suas habilidades serão úteis mais tarde, durante o trabalho, quando você ficar horrorizado com o código incorreto de outra pessoa.
Trabalho muito cedo em grandes projetos

No início da minha carreira, cometi um grande erro: tentei assumir um grande projeto quando ainda não estava pronto.
Você pode perguntar o que está errado aqui. Há uma resposta. O fato é que, se você não é médio e sênior, provavelmente não será capaz de terminar seu "grande projeto". Haverá muitos elementos e coisas a considerar. E você não poderá fazê-lo se, no início de sua carreira, não desenvolver o hábito de escrever "código limpo", usar testes, arquitetura escalável etc.
Suponha que você ainda tenha passado muito tempo nesse projeto, não o tenha concluído e agora esteja tentando passar para o nível intermediário. E, de repente, você percebe que não pode mostrar esse código a ninguém, porque não é muito bom e é necessário refatorar. No entanto, você passou muito tempo nesse "projeto do século" e agora não possui exemplos de bons trabalhos que possam ser adicionados ao seu portfólio. E você concede uma entrevista após a outra a outros candidatos que podem mostrar seu trabalho, embora não muito grande, no portfólio.
De qualquer forma, no futuro, você precisará refatorar, porque o código não é muito bom e as tecnologias usadas não são exatamente o que você precisa. Como resultado, você percebe que é mais fácil reescrever tudo do zero do que tentar corrigi-lo.
Obviamente, tudo isso pode ser adicionado ao portfólio, mas o potencial empregador verá muitas deficiências por lá e chegará a conclusões decepcionantes para você.
Relutância em estudar estruturas e algoritmos de dados
Você pode discutir por um longo tempo sobre quando precisa começar a estudar a estrutura e os algoritmos dos dados. Alguém propõe fazer isso antes mesmo de dominar o JavaScript, alguém - depois.
Acredito que não é necessário aprender isso em detalhes desde o início, mas entender os algoritmos vale a pena, pois isso fornecerá um entendimento básico da operação de programas e cálculos de computador.
Algoritmos são parte integrante de qualquer cálculo e programa. Na verdade, os próprios programas de computador são uma combinação de um conjunto de algoritmos e dados estruturados de uma certa maneira, só isso.
Recusa de atividade física

Para o desenvolvedor, é muito importante praticar esportes. Não sou treinador, mas observei como meu corpo muda - ano após ano. Portanto, posso lhe dizer o que leva à falta de exercício.
Meu primeiro emprego foi bastante problemático por várias razões, e um dos problemas estava justamente no fato de que em apenas um ano eu ganhei quase duas dúzias de quilos. Então eu estudei ativamente JavaScript.
Se você não pratica esportes, corre o risco de ganhar peso, e haverá muitas consequências negativas: obesidade, enxaqueca (incluindo as crônicas), pressão alta, etc. A lista de problemas é realmente infinita.
Isolamento social

Família e entes queridos são importantes. Imerso em aprender JavaScript e subestimando a importância de sua vida mental e emocional, você corre o risco de ficar deprimido, irritável, parar de dormir normalmente e muito mais.
Conclusões
Espero que isso seja útil. Se você se cuida hoje, não precisará corrigir os erros posteriormente.
A Skillbox recomenda: