Saiba como é ingressar na carreira de desenvolvedor Node.js

A carreira de desenvolvedor Node.js foi o tema do #4 Coodesh DevTalks do qual participei no dia 11 de novembro. O evento on-line foi transmitido ao vivo no canal da Coodesh no YouTube e na página do LinkedIn. Na ocasião, tive a grata experiência de conversar com o Co-founder e CTO da Coodesh, Cristiano Albano, sobre a minha experiência nesta área a fim de auxiliar outros desenvolvedores e a nossa comunidade de Node.js. 

E, neste artigo, trago algumas percepções dessa carreira, que é uma ótima opção no mercado de desenvolvimento. Também faço um resumo de como eu me tornei desenvolvedor, do uso do JavaScript no back-end, das inúmeras vantagens do Node.js e de por que eu optei por trabalhar com ele. 

Então, eu lhe convido a conferir o que conversamos no Coodesh DevTalks. Aproveito para disponibilizar, a todos que tenham interesse, o código fonte que criei para o aplicativo de sincronização desktop utilizando o Node.js. Os links estarão ao final do texto. 

Você pode acompanhar o talk na íntegra no vídeo abaixo: 

Como tudo começou 

Sempre fui muito curioso. A área que eu mais gostava quando era criança era eletrônica. Fiz um curso pelos Correios sobre Eletrônica, Rádio e TV, quando tinha uns 14 anos. 

Mas, meu primeiro contato com programação foi em quando tive meu primeiro servidor “pirata” do jogo Lineage II. Eu sofri com hackers e fui obrigado a criar patches de segurança. Foi nesta época que eu aprendi Java, que foi minha primeira linguagem de programação. 

O porquê de escolher Node.js

Node.js foi uma linguagem que me impressionou primeiro porque eu pude utilizar a mesma tecnologia que já usava no front-end dentro do back-end. 

Mas também pela simplicidade e independência da linguagem. Apenas com um arquivo eu poderia criar um servidor HTTP, por exemplo. Outro motivo é a imensa comunidade que cria e mantém uma infinidade de bibliotecas que ajudam muito o desenvolvedor. 

LEIA TAMBÉM: Carreira: como se tornar desenvolvedor Back-end Node.js

Na verdade, o céu é o limite para o programador Node.js. A linguagem pode ser utilizada para desenvolver programas inteiros, até mesmo as partes mais complexas. 

É importante lembrar que nem todos os problemas precisam ser resolvidos com a mesma linguagem de programação. As linguagens de programação são uma ferramenta para resolução de problemas. Com Node.js, é possível fazer integração com linguagens de baixo nível como C ou C++. Além disso, se comunicar com processos Go ou C#, utilizando spawn.

A meu ver a maior relevância do Node.js em relação ao Java e ao PHP, por exemplo, é o processamento assíncrono. Naquela época (do Java 7) isso não existia. 

Como dar os primeiros passos com o Node.js 

Sempre é bom seguir o get started oficial. Eu particularmente gosto de aprender na prática, fazendo algum projeto utilizando API REST, usando Express.js e Postman para teste. E também fazer operações para inserir/consultar/atualizar/deletar dados de uma base de dados.

Resolvendo desafios 

Algum tempo atrás, eu precisava criar uma ferramenta para cliente desktop a fim de enviar arquivos de forma otimizada em conexões lentas. O arquivo precisava ser encaminhado por partes e reiniciar de onde parou caso o computador ficasse sem conexão com a internet ou até mesmo o programa fosse fechado. 

Ele seria utilizado em computadores lentos e internet via rádio. Então utilizei o Electron.js que é um framework para criar programas desktop utilizando tecnologias web. 

Assim, eu pude explorar todas as partes do Node.js: Single Thread, concorrência entre processos Node, bibliotecas utilizando linguagem nativa, como SQLITE NSFW/chokidar. Em suma, trabalhar com Stream em Node.js é extremamente simples.

Começando um projeto 

Quando um projeto vai ser iniciado do zero, vemos primeiramente a documentação. Nós testamos internamente a biblioteca para ver como ela se sai no nosso caso de uso. Avaliamos e verificamos quantos desenvolvedores estão colaborando naquela biblioteca. Verificamos quando foi o último commit/atualização da biblioteca. Também verificamos os problemas que ela tem aberto no GitHub. Checamos a licença da biblioteca, o uso de TypeScript (autocompletar elementos) e cases que também utilizam essa biblioteca.

Dicas finais 

E o que dizer para quem está iniciando agora no mercado de desenvolvimento como desenvolvedor Node.js? Na minha opinião, é não ter medo de errar e encarar novos desafios. Além de estudar e se atualizar sempre. Inicie do zero se for preciso. Eu aconselho todos a entrar na área. 

Código-fonte: e quem tiver interesse em se aprimorar nos estudos, deixo aqui os links do GitHub com o código fonte que eu criei para a aplicação de sincronização desktop e upload de arquivos usando o Node.js. Confira aqui

Seguem também os meus contatos no LinkedIn e Instagram para quem quiser falar mais sobre a carreira em Node.js. 

O que é Clojure?

Data Science: mercado de trabalho e desafios