NodeJS: Vale a pena? Vantagens, vagas e salário

Se você já buscou sobre as melhores linguagens back-end atuais provavelmente deve ter se deparado com o NodeJS. Nesse post vamos abordar sobre as reais utilidades do Node comparando com outras linguagens conhecidas como PHP, Ruby, Python, Elixir, etc…

Lembrando que o objetivo desse post não é afirmar qual linguagem é superior, mas sim mostrar seus pontos positivos e por que o Node está crescendo tanto e se tornando escolha de empresas gigantes como Netflix, Uber, Linkedin, Paypal, etc.

Antes de continuar, se você realmente quer aprender NodeJS recomendo antes estudar Javascript que é a base de toda aplicação escrita em Node, para isso, você pode assistir nosso curso gratuito de Javascript.

O que é NodeJS?

De uma maneira mais técnica, o NodeJS é uma plataforma back-end construída em cima do motor de interpretação de Javascript do Chrome, chamado V8 que, por sua vez, foi construído utilizando C++, que permite executarmos scripts Javascript no lado do servidor.

Agora, de forma fácil, o NodeJS te permite utilizar Javascript do lado do servidor, assim você pode acessar bancos de dados, fornecer dados através de uma API ou realizar qualquer outra operação de linguagens back-end como PHP e Ruby.

Pontos positivos

Agora que já entendemos o que é NodeJS, vamos entender as vantagens de escolher essa linguagem e seus diferenciais comparando-a com outras soluções do mercado.

1. Extremamente simples

Sim, é muito simples. Eu já utilizei muitas linguagens, criei projetos em pelo menos todas linguagens mais conhecidas do mercado e posso afirmar sem dúvidas que o NodeJS me deu o ponto inicial mais fácil para iniciar meu projeto sem me preocupar com nada mais. Com apenas UM arquivo eu já tinha meu servidor rodando meus scripts.

Quanto ao código não é diferente, se você já programou Javascript alguma vez sabe como o código é fácil de ser escrito e simples de ser entendido. Utilizando JS no back-end você leva a simplicidade dessa linguagem ao servidor.

2. Não possui dependências

Um ponto pouco abordado nas vantagens do NodeJS que para mim é essencial é não necessitar nenhuma dependência instalada. Em menos de 2 minutos você configura o ambiente de desenvolvimento para Node em sua máquina, quer testar?

Faça download da versão recomendada e após concluir os passos execute node -v em seu terminal (ou cmd no Windows), isso deve mostrar a versão instalada e pronto, você está pronto para construir qualquer tipo de aplicação.

Claro que isso não facilita somente o desenvolvimento, todo processo de deploy e integração contínua do código para produção se torna muito mais simples já que você precisa apenas do Node instalado na máquina, nada mais.

3. Non-blocking I/O

Calma, o título é estranho mas o processo é simples. A grande maioria das linguagens como PHP e Ruby possuem um processo bem definido de execução:

  1. O servidor recebe uma requisição (geralmente uma chamada HTTP);
  2. A partir disso, o mesmo processa a requisição e calcula sua resposta;
  3. A resposta é devolvida ao front-end e pronto, a conexão é perdida;

O que percebemos nesse processo é que existe um processo de início, meio e fim.

No NodeJS nós temos um loop central que nunca para de executar e controla todo tipo de requisição, podemos realizar tarefas em concorrência.

Além disso, no Node não temos exatamente um fim definido e mesmo retornando um resultado à requisição HTTP podemos mantê-la em aberto retornando novos valores. Isso garante maior performance do nosso back-end e ainda nos permite criar facilmente streams de vídeos/áudios (como Youtube/Netflix/Spotify).

4. Reutilização do conhecimento

Utilizando NodeJS você poupará grande parte dos seus esforços caso opte por estudar tecnologias front-end como ReactJS, VueJS, Angular, ou React Native para desenvolvimento mobile, já que o Javascript é o coração em todas essas ferramentas.

Outra coisa bem bacana é que grande parte das bibliotecas que você utiliza no front-end podem ser incorporadas da mesma forma no back-end com NodeJS e isso diminui muito a curva de aprendizado para desenvolvedores web.

Posso afirmar sem medo que hoje sou tão produtivo com front e back ao mesmo tempo devido a esse compartilhamento de conhecimento.

5. Vagas de NodeJS e salário

Posso afirmar com certeza que o mercado de NodeJS hoje é um dos mais aquecidos entre todas linguagens citadas, recebo diariamente muitas oportunidades de vagas de trabalho por grupos no Facebook, Linkedin ou até vejo em sites de vagas online como no Programathor.

Os salários que encontrei giram muito por volta do conhecimento do desenvolvedor mas a maioria gira em torno de R$5000 a R$10000.

Encontrando uma vaga de trabalho

Algumas dicas para você encontrar uma boa vaga de NodeJS:

  • Deixe seu perfil no Linkedin bem completo e atualizado;
  • Participe de grupos no Facebook como o Node.JS Brasil;
  • Faça parte de comunidades como a da Rocketseat;
  • Ter conhecimento em pelo menos uma tecnologia front-end vai te ajudar, recomendo o ReactJS;
  • Procure se envolver em eventos e comunidades relacionadas à essa tecnologia e se destacar ajudando outras pessoas ou produzindo conteúdo gratuito 🙂

Concluindo

O NodeJS é uma linguagem que vai te permitir construir muitas aplicações de forma descomplicada e produtiva.

Se você ainda não utiliza nenhuma linguagem back-end, os pontos de reutilização de conhecimento e simplicidade devem ser seus maiores incentivadores para começar com o NodeJS.

Se você está vindo de linguagens como PHP e Ruby, a parte de non-blocking I/O e facilidade para criação dos ambientes de desenvolvimento e produção serão os pontos que você deve analisar e atacar caso esteja interessado em utilizar o Node daqui pra frente 🙂

Ah, deixa um comentário aí em baixo sobre qual linguagem back-end você utiliza e se já testou o Node, o que achou? Vamos conversar!!