Artigo original: https://www.freecodecamp.org/news/become-a-developer-and-get-your-first-job-fast-7b8ac26d84c6/

Escrito por: Sam Williams

Você já pensou em se tornar um desenvolvedor de software ou está pensando em trocar de carreira? Este artigo dará a você um plano sólido para aprender desenvolvimento de software e conseguir seu primeiro emprego!

Por que ser um desenvolvedor?

Se você está considerando se tornar um desenvolvedor, mas não tem certeza se é uma boa ideia, aqui estão algumas coisas a se pensar:

  1. Há uma demanda muito grande por desenvolvedores — no momento em que este artigo foi escrito, o site Indeed tinha 37.739 anúncios de emprego para 'desenvolvedor' no Reino Unido e 145.640 nos Estados Unidos. Esses números só aumentarão, já que o Departamento de Estatísticas de Trabalho dos Estados Unidos estima um aumento de 17% entre 2014 e 2024.
  2. O trabalho pode ser muito variado e interessante — como desenvolvedor, você pode trabalhar em uma variedade de projetos, de sites da web de e-commerce a jogos de computador, de aplicações para dispositivos móveis à inteligência artificial. Quase todas as habilidades são transferíveis entre cada uma dessas áreas. Isso quer dizer que você não estará preso a um só emprego.
  3. O trabalho pode ser bastante flexível — como a maior parte do seu trabalho é ler e escrever código, tudo o que você precisa é de um computador. Isso quer dizer que pode ser feito em qualquer lugar, a qualquer hora. Há um número crescente de desenvolvedores que trabalham remotamente em casa ou enquanto viajam ao redor do mundo.

Como se tornar um desenvolvedor

Ser um desenvolvedor requer muitas habilidades e há dois fatores importantes para se desenvolver uma habilidade: a prática eficaz e o apoio de desenvolvedores sênior. Você precisa maximizar ambos para que venha a se tornar o melhor desenvolvedor possível. Há três boas maneiras de se ter certeza de que você está em um caminho rápido para começar a sua carreira de desenvolvedor:

Bootcamps (cursos intensivos de programação)

Estes cursos são excelentes, pois são projetados para pegar alguém com pouca ou nenhuma experiência e torná-lo preparado para conseguir um emprego em três meses. Isso quer dizer muita prática efetiva e uma ajuda imensa dos desenvolvedores que coordenam o bootcamp.

Os problemas que você pode ter com bootcamps é que eles geralmente têm uma duração de três meses de ensino em tempo integral e podem custar de 4 a 20 mil dólares. Isso é muito dinheiro para desembolsar, especialmente se você não estiver recebendo durante esses três meses.

Achando um mentor

Esta é a situação perfeita: você começa a programar e tem um desenvolvedor como seu mentor e tutor. Pode ser algum amigo, um membro da família ou apenas um desenvolvedor que queira ajudar você. Você não terá tanta ajuda como em um bootcamp, mas ter alguém com quem se possa contar quando se encontra um obstáculo é muito útil. Além do mais, ter alguém que acompanhe você e que se certifique que você está dedicando o tempo necessário aos estudos pode ajudar você a se manter no caminho certo.

Isso tudo soa formidável, mas encontrar um mentor pode ser difícil. Nem todo mundo conhece alguém que trabalha como desenvolvedor e isso requer muito trabalho extra para o mentor. Se você conhece algum desenvolvedor, ele pode se recusar a ser seu mentor e você precisará respeitar isso.

GhrrQUXaT2aRowkxKEs6T4RJQjsm4pu8yyiU
Ter um mentor pode ser ótimo.

Conseguindo um trabalho como desenvolvedor

Isso pode parecer meio estranho, já que você precisa estar apto a programar antes de conseguir um emprego, mas explicarei mais tarde como chegar a esse ponto sem um mentor ou bootcamp. Quando você conseguir seu primeiro emprego, você poderá ter uma imensa vantagem — estará sendo pago para praticar programação enquanto trabalha com desenvolvedores sênior. O que mais você pode querer?  

Trabalhar como um desenvolvedor também deixará você exposto a um lado do desenvolvimento que você não conhecerá nos estudos: o lado comercial. Essa é uma parte imensa do desenvolvimento, já que não há nenhuma razão em fazer um produto que ninguém quer e lidar com clientes é uma habilidade que leva tempo para se aprender.

Começando o planejamento

Como nem todo mundo pode custear um bootcamp ou conhece alguém para ser seu mentor, darei aqui um plano para conseguir seu primeiro emprego como desenvolvedor. Foi praticamente assim que eu fui de engenheiro a desenvolvedor em somente 4 meses (texto em inglês).

Encontrando um emprego

Para criar um bom plano você precisa ter um objetivo em mente. Nossa meta é conseguir um emprego o mais rápido possível, o quanto antes você conseguir seu primeiro emprego, mais rápido terá o estímulo de praticar a programação todos os dias tendo o apoio de desenvolvedores sênior e com o bônus de receber por isso.

Há muitas maneiras de se entrar no mundo do desenvolvimento, desde ciência de dados e inteligência artificial a desenvolvimento de jogos, mas o setor mais fácil para se entrar é o de desenvolvedor para a web. Se você estiver com outros planos no momento, lembre-se de que começar no desenvolvimento para a web não quer necessariamente dizer que você estará preso a isso para sempre. Você aprenderá muito e com isso poderá transferir esse conhecimento adquirido para o campo desejado.

Quando eu procurei por desenvolvedor para a web júnior, a primeira vaga de emprego que eu vi foi para desenvolvedor para a web júnior em front-end. Os requisitos eram os seguintes:

rLbZUCrDgAFdd5Il24L8frle9KTmNtdARZu2

Podemos dar uma olhada em alguns anúncios de empregos similares e achar as exigências que aparecem mais frequentemente. Estas são os mais prováveis:

  • Conhecimento em front-end: HTML, CSS e JavaScript
  • Habilidade de criar sites responsivos para a web
  • Um portfólio demonstrando sua experiência e habilidades
  • Conhecimento em controle de versão

Outras habilidades bônus podem incluir:

  • Bibliotecas do JavaScript: jQuery, AJAX, Bootstrap
  • Conhecimento em depuração (do inglês, debugging)

Criando o plano

Agora que sabemos o que precisamos aprender para cumprir os requisitos, podemos criar um planejamento de como aprender o que precisamos para alcançar nossas metas. Tente seguir esse planejamento passo a passo, já que será muito mais fácil aprender o conteúdo mais avançado se você já souber os que vêm antes.

HTML e CSS

Esses são os blocos construtores da maioria dos sites da web hoje em dia. Você precisa desenvolver um bom entendimento deles se quiser ter uma chance de conseguir um emprego. Por sorte, há centenas de recursos pagos e gratuitos por aí que podem ajudar você a dominar essas competências.

O freeCodeCamp é um site que ensina a você tudo o que envolve o desenvolvimento para a web e é incrível. Ele dá o passo a passo através de pequenas aulas. Foi onde eu aprendi HTML, CSS, e JavaScript!

Começaremos com a certificação de Design Responsivo para Web e com o Básico de HTML e HTML5 e com o CSS Básico. Essas seções introduzirão você ao HTML e ao CSS. Até o final delas, você estará criando formas e estilizando HTML com variáveis em cascatas.

9NnVZviy8j8wW69H6Dh5vYQcLwchkTGSvJSF
Uma imagem que você criará no CSS Básico: variáveis do CSS em cascata

Para aperfeiçoar nosso CSS, completaremos a nossa seção de design visual aplicado até podermos criar uma forma mais complexa usando o CSS e o HMTL. Depois, faremos todo o design responsivo para a web e a seção do CSS Flexbox. Estamos pulando alguns dos desafios e seções por agora, já que o nosso objetivo é aprender o que precisamos imediatamente. As outras seções são ótimas, mas não precisaremos delas no momento.

Agora que aprendemos a usar o HTML e o CSS para construir e estilizar uma página de web, teremos uma prática mais efetiva completando o design responsivo para a web. Esses projetos usarão tudo o que aprendemos até agora para construir cinco sites.

Controle de versão

O controle de versão é um sistema onde você salva arquivos para que possa vê-los novamente no futuro e perceber o que você alterou e em que momento. Isso provavelmente será usado em toda empresa de software em que você for trabalhar. Assim, ter esse conhecimento é muito importante.

Aprenda como instalar o Git, crie uma conta no GitHub e trabalhe com ambos. Há um tutorial ótimo em Uma Introdução ao Git e GitHub (em inglês). Você pode aprender os dois antes mesmo dos projetos de design do HTML e CSS e começar a usar o controle de versão desses projetos.

Quando souber como usar o controle de versão, tente fazer todos os seus projetos em um editor local (como o VS Code) e faça um upload deles para o CodePen quando terminá-los. Trabalhar em um editor local será exatamente o que você fará em um emprego. Isso, portanto, ajudará você a construir mais essa experiência.

Há muitas maneiras de se usar o Git/controle de versão, mas você quer saber como criar um repositório no GitHub, vinculá-lo a uma pasta local, incorporar os trabalhos que você fez e colocar tudo isso no GitHub. Uma vez que você possa fazer isso, será capaz de trabalhar de maneia efetiva e, assim, fazer realmente parte do time de desenvolvedores.

JavaScript

O JavaScript é a linguagem que alimenta 94.8% dos sites da web na internet. Isso representa muitos sites! O JavaScript permite mudar um site de estático para um completamente interativo.

0Nbc87SRHKhCzKuwMSSQTeT8xMz4nHkdGOxE

Para aprender JavaScript, podemos fazer o certificação de algoritmos e estruturas de dados em JavaScript, no freeCodeCamp. Como o Javascript é uma parte tão grande dos sites modernos, completaremos toda a grade dessa certificação. Pode parecer muito trabalho, mas quando você trabalha como desenvolvedor para a web, passará a maior parte do tempo escrevendo em JavaScript. Assim, é importante que você realmente tenha capacidade de trabalhar com ele.

Construindo seu portfólio

Para mostrar do que você é capaz, você precisa ter um portfólio para mostrar aos seus possíveis empregadores. Felizmente, você já terá 10 projetos — 5 em HTML e CSS e 5 em JavaScript. Assegure-se de ter todos eles em controle de versão e transferidos para o GitHub para que outras pessoas (futuros empregadores) possam vê-los e saber do potencial do seu trabalho.  

Agora, você poderá voltar ao site de portfólio que você construiu e atualizar com todos os seus projetos novos. Você também pode utilizar seus conhecimentos em JavaScript para adicionar interatividade à sua página. Pode ser uma descrição em pop-up quando o usuário passar sobre um de seus projetos, um slideshow de imagens ou até mesmo um minigame.

A procura de emprego

Se você fez tudo até agora, já deve cumprir os requisitos de muitos empregos para desenvolvedor para a web júnior. Esse é o momento de se candidatar a alguns empregos.

Para se candidatar a maioria dos empregos, você precisara de um currículo (CV). Ele deve destacar seus pontos fortes sem atrair atenção demais a quanto tempo você está programando ou ao fato de que você não tem nenhuma experiência comercial.

Aqui está o CV que eu usei para conseguir meu segundo emprego:  

2TPq8xaUaP7SFMggokwL4w1hnWXBN3CHBcfW

Saber a quais empregos você deve se candidatar também é importante. Isso pode parecer errado, mas você deveria se candidatar a empregos onde você consegue cumprir 80% (ou mais) dos requisitos. Você sempre pode salientar que, como um desenvolvedor autodidata, você provavelmente atingirá outras exigências mais rápido que os demais.

É claro que isso não quer dizer que você deva se candidatar a todo emprego em que você atenda aos requisitos. Apenas se candidate aos trabalhos que você considere interessantes e que você aceitaria se fossem oferecidos a você.

Usando os recrutadores

Os recrutadores podem ser ferramentas poderosas para conseguir seu primeiro emprego. Eles sabem o que a empresa quer, frequentemente têm empregos que não estão anunciados nos classificados e querem que você consiga o emprego... é assim que eles são pagos.

Para ter certeza de que seu CV estará nas mãos do maior número possível de recrutadores, precisaremos nos candidatar em vários sites. Comece com os sites maiores, como o Indeed e o Total Jobs, mas tente encontrar sites menores também.

Muitos desenvolvedores falam sobre o fato de recrutadores serem "terríveis", mas precisamos nos certificar de que podemos ter neles aliados. Sempre que você falar com um recrutador, assegure-se de ser educado e respeitoso. Se eles sondarem você sobre trabalhos que estão muito aquém do que você deseja, agradeça-os e recuse, mas lembre-os de que tipo de emprego você está procurando.

Meus dois primeiros empregos vieram de recrutadores perguntando sobre um emprego que não era adequado para mim, mas eles tinham outra oferta que era perfeita. Por isso, não seja tão duro com eles.

Continue se aprimorando

Você, provavelmente, não conseguirá uma entrevista e oferta de trabalho na primeira semana em que estiver se candidatando. Você pode não conseguir uma entrevista nem no primeiro mês, mas isso dará a você mais tempo para se aperfeiçoar.

Agora que alcançamos os requisitos básicos, podemos começar a adicionar mais itens interessantes de se ter no kit de ferramentas. Agora é a hora de acrescentar uma nova ferramenta na sua caixa. Incorporar mais habilidades às suas fará com que mais empregadores queiram você e, assim, aumentará suas chances de conseguir uma entrevista. Aqui estão alguns conhecimentos para se adquirir:

Aprenda uma biblioteca

Existem bibliotecas de JavaScript que podem facilitar muito a sua vida. Uma das bibliotecas mais populares é o jQuery, que ajuda com a manipulação do DOM, funções de objetos e de arrays e muito mais.

JMHNSHdpHxncf6ouMuWnovyaubs41lLqz93Z

Eu recomendaria aprender a utilizar o jQuery porque é uma ótima introdução à utilização das bibliotecas em JavaScript. Há vários cursos e tutoriais para aprender jQuery, mas eu ainda prefiro o do freeCodeCamp.

Nota da tradução: no momento da tradução deste texto, outras bibliotecas foram adquirindo uma importância maior no mundo do desenvolvimento e, agora, conhecer bibliotecas como o React, o Vue ou o Angular serão de maior utilidade para você no desenvolvimento para a web.

Completando as aulas de HTML e CSS

Volte para as aulas de HTML e CSS do freeCodeCamp e complete o resto das lições em design visual aplicado, acessibilidade aplicada e CSS Grid.

Aprendendo como o JavaScript funciona

Saber usar o JavaScript é ótimo, mas entender como ele funciona pode ajudar você a se tornar um desenvolvedor muito melhor. Isso permitirá escrever o melhor código possível, já que você saberá o como e o porquê que esse código conserta o problema.

Para atingir esse conhecimento profundo de JavaScript, eu recomendo fortemente a série de livros "You Don't Know JS". Os primeiros dois livros são ótimos para compreender os princípios básicos do JavaScript. Entendê-los dará a você um excelente fundamento com o qual você poderá se tornar um desenvolvedor ainda melhor. Eles podem ser acessados ON-LINE e GRATUITAMENTE ou comprados no formato de capa dura.

Criando projetos

Outro jeito de aperfeiçoar suas habilidades é criando projetos. Eles podem ser qualquer coisa, mas seu objetivo é praticar usando as ferramentas com as quais você tenha menos experiência. Não é bom com arrays? Crie um aplicativo de lista de compras. Um pouco hesitante em estilização? Tente fazer uma cópia exata de algum site da web existente.

Esses projetos deverão aprimorar seus conhecimentos. Então, se for fácil demais ou muito complicado, pare e comece um projeto que se ajuste melhor ao seu nível.

Às vezes, ao criar um projeto, você talvez precise aprender uma habilidade completamente diferente. Aprender enquanto se faz pode ser um aprendizado excelente para algumas pessoas.

Entrevistas

si-pgLtrX14CeKaLjqGK9TjSkcdr9u4lKRVL

Depois de se candidatar a diversos empregos e de continuar a aprimorar suas habilidades, esperamos que você seja convidado a uma entrevista. Essa é sua hora de brilhar. Há diversos artigos sobre como abordar o processo de entrevistas. Então, eu não examinarei muito a fundo os detalhes aqui, mas destacarei o que este artigo (em inglês) diz:

  • Conheça seu CV
  • Conheça a empresa
  • Pratique suas habilidades
  • Seja pontual, educado e confiante
  • Faça perguntas
  • Acompanhe o processo após a entrevista

Se você seguir todos esses conselhos, você terá uma boa chance de conseguir uma oferta de emprego. Mesmo que não consiga, certifique-se de pedir um feedback para poder usá-lo da melhor maneira na sua próxima entrevista.

Resumo

Se você quer se tornar um desenvolvedor, deve buscar um emprego de desenvolvedor para a web júnior o mais rápido possível para conseguir a experiência e o apoio de desenvolvedores sênior. Para conseguir esse tipo de emprego, você precisa:

  • aprender HTML, CSS e JavaScript
  • construir um portfólio de projetos menores

Uma vez que você tenha feito isso, você pode começar a se candidatar a vagas de emprego.

Então, prepare-se bem para as entrevistas e continue a adquirir novas habilidades enquanto espera por aquela oferta.

Obrigado por ler este guia para se tornar um desenvolvedor e para conseguir seu primeiro emprego. Se gostou dele, siga o autor no Medium para ver mais dicas e truques para desenvolvedores.

BXkVzP4g632xPGiEZpYAHIEVphLWtaypKmBz