Como se tornar um desenvolvedor
Tags: braziliandevs, webdev, beginners, career
Published: 2023-04-14 19:55:39

O desenvolvedor é um profissional programador, que escreve softwares, envolvido com o projeto do início ao fim.

Confira algumas dicas para você que está iniciando na área.

[Estudos](#estudos) - [Vagas](#vagas) - [Dúvidas Frequentes](#dúvidas-frequentes)

## Estudos

**Aprenda a diferença entre as carreiras**
Qual a diferença entre Front-end e Back-end? E o que são DevOps e Cientista de dados?

Você precisa, antes de tudo, saber responder essas perguntas e é possível encontrar artigos na internet e vídeos no YouTube sobre isso.

Há também os profissionais de UI/UX e QA, que não estão tão ligados à programação e não iremos falar sobre eles, mas podem fazer parte dos projetos e você precisa conhecer suas funções.

Links:
[Diferença Front-end e Back-end](https://blog.geekhunter.com.br/back-end-front-end/)
[DevOps](https://www.devmedia.com.br/devops-conheca-os-papeis-do-desenvolvedor/34103)
[Cientista de dados](https://programathor.com.br/blog/voce-sabe-o-que-e-cientista-de-dados-conheca-essa-profissao-do-futuro/)

**Escolha uma carreira**
Agora que você sabe as diferenças, deve escolher em qual vai começar a sua carreira.
Dica: Confira se você se empolga mais com a parte visual, com a parte funcional ou como tudo isso consegue ficar na nuvem.

**Aprenda lógica de programação**
Mais uma vez, há muito conteúdo na internet sobre isso. Sem entender a lógica, você não vai conseguir codificar.

Links:
[Fundamentos para Desenvolvimento de Software](https://www.linkedin.com/learning/paths/fundamentos-para-desenvolvimento-de-software-por-microsoft-e-linkedin?src=re-other&veh=raphaelramos.dev)
[Como Funcionam as linguagens](https://www.youtube.com/watch?v=Ol8KcAc7N2c)
[Como melhorar minha lógica de programação?](https://youtube.com/watch?v=LA2L4OsYrY0)
[Algoritmos e lógica de programação](https://www.alura.com.br/artigos/algoritmos-e-logica-de-programacao)

**Defina sua stack principal baseado na carreira que vai seguir**
Agora que você entende sobre as carreiras e também tem noção de lógica de programação, vamos para as linguagens.

É importante essa definição para saber onde começar seus estudos, já que há várias linguagens. Dentro da sua Stack, escolha quais linguagens que irá aprender primeiro, que serão suas hard skills.

Desenvolvedores não são todos iguais e não sabem tudo. Há várias stacks. Assim como, por exemplo, temos médicos ortopedistas, cardiologistas, pediátricos...

Para front-end, você deve saber a linguaguem JavaScript / Typescript.
No caso do front-end é necessário aprender também HTML e CSS para fazer a parte visual (HTML e CSS não são linguagens de programação).

Obs: JavaScript e Java são linguagens diferentes e não tem ligação.

Mobile, você pode escolher entre Java/Kotlin (Android), Swift (iOS) e as multi-plataforma ou híbridas como Flutter/Dart, React Native e Ionic.

Back-end pode ser entre JavaScript, Java, C#, PHP, Go, Rust (e várias outras existentes). Também inclui bancos de dados como MySQL, postgreSQL, Oracle...

Vou deixar o link para o ranking das principais usadas em 2022 segundo o GitHub. Dê preferência às que são mais usadas ou as que estão em crescimento.

Listei alguns exemplos aqui, mas pesquise, passe tempo no Google, Youtube e converse com conhecidos da área.

Obs: Posições somente front-end tem se tornado menores, devido uma buscar maior para full-stack, mas no começo foque em aprender apenas um e depois você amplia seu escopo de estudos.

Mais importante que a linguagem é a implementação. Em certas coisas não há grande diferença de performance, depende mais do que o projeto precisa.

Links:
[Ranking GitHub linguagens](https://octoverse.github.com/2022/top-programming-languages)
[Stack Tecnológico](https://blog.betrybe.com/tecnologia/stack-tecnologico/)

**Ainda não sei com o que começar**
Se você chegou nessa parte sem saber com qual Stack começar, eu sempre digo, apenas comece e não demore.
Depois que você aprendeu o mínimo de lógica e uma linguagem, é mais fácil mudar para outra.

As escolha da sua linguagem principal depende muito da área que você deseja trabalhar, como front-end, back-end, mobile, devops, dados.
Você pode começar com JavaScript, se ainda não sabe o que quer e migrar depois.

Links:
[Comece do 0 com JavaScript - Rocketseat discovery gratuito](https://www.rocketseat.com.br/discover)
[Curso gratuito HTML5, CSS3 e JavaScript](htts://www.udemy.com/course/html5-css3-e-javascript-na-pratica-3-projetos)
[Outros cursos gratuitos na Udemy](https://www.udemy.com/courses/development/?price=price-free&sort=popularity)

**Procure um roadmap de estudos ou um curso completo do básico ao avançado**
Não saia estudando aleatoriamente, tenha um plano de estudos. Não adianta você ter apenas um pouco de conhecimento de várias coisas, você precisa ser bom em algo. Tenha em mente que se você não está disposto a estudar algumas horas por dia, entrar na área a curto prazo não é para você.

Exemplos de plataformas de cursos: rocketseat, alura, dio e udemy.
Exemplos de faculdades EAD: descomplica, fiap.

Crie projetos com o que você aprendeu e coloque-os no GitHub
O GitHub será o seu portfólio, principalmente para você que está começando e não tem experiência em empresas para contar. Além disso, é requisito saber git para trabalhar como desenvolvedor.

Crie um bom README para eles, pois isso é muito importante e é a primeira coisa que vemos assim que abrimos o repositório. Informe o que o projeto faz, as stacks usadas e como executar.

Obs: Faculdade sozinha não te prepara para o mercado atual.
Você precisa estudar além.

Links:
[Guia extenso de informações](https://github.com/arthurspk/guiadevbrasil)
[Curso de Git & GitHub para completos iniciantes](https://youtu.be/Yp0RRTdtkqY)

**Procure saber sobre o Scrum**
Scrum é uma metodologia de trabalho ágil muito utilizada. Conhecer dará a você vantagem na entrevista e não deixará você perdido nas cerimônias quando começar a trabalhar.

Links:
[Resumo sobre Scrum](https://linkedin.com/pulse/um-resumo-de-tudo-que-você-precisa-saber-sobre-o-scrum-netto)
[Processo desenvolvimento de software](https://blog.xpeducacao.com.br/processo-desenvolvimento-software/)

## Vagas

**Crie seu perfil no LinkedIn**
O LinkedIn é uma rede social profissional onde as pessoas compartilham informações profissionais e relacionadas ao seu trabalho, permitindo também que você siga colegas de trabalho e pessoas influentes em sua área.

O perfil do LinkedIn funciona como um currículo, onde você pode indicar a empresa em que trabalha, suas experiências anteriores, sua formação, seus certificados e suas habilidades.

Dicas para o seu perfil:
Crie sua URL personalizada com algo próximo ao seu nome.

Evite selfies e escolha uma foto com boa iluminação e fundo clean.

Em Sobre, coloque suas habilidades e quanto tempo trabalha com elas.

**Currículo**
Atualmente o LinkedIn é a ferramenta mais importante para currículo de Devs, mas algumas empresas podem solicitar um PDF, então é importante tê-lo também.

Descreva detalhado as tecnologias em que já atuou, por exemplo, ao invés de colocar apenas Javascript, insira se foi com Angular, React ou outro. E nas experiências profissionais também descreva o setor do produto em que trabalhou, como logística, finanças, varejo...

Na seção pessoal do seu PDF, as únicas informações necessárias são seu nome completo, e-mail, telefone, cidade e os links para seu perfil do LinkedIn e GitHub.

Links:
[Como exportar o LinkedIn em PDF](https://www.linkedin.com/help/linkedin/answer/a540994/salvar-um-perfil-como-pdf?lang=pt)

**Candidate-se a vagas**
Há alguns sites para procurar vagas, como o LinkedIn, portal de vagas do Gupy e o próprio da empresa.

Pesquise as vagas por sua principal stack, por exemplo, Java. Confirme a senioridade no título da vaga se é compatível com a sua: JR, PL, SR e confirme também se possui os requisitos obrigatórios.

Porém **sites de candidatura rápida**, como LinkedIn e Gupy você concorre com muitas candidaturas e seu curriculo pode nem ser visualizado. Conseguindo uma indicação interna de um funcionário ou contato direto com o recrutador, suas chances são muito maiores.

É esperado que o júnior já tenha um bom conhecimento, mesmo que precise de ajuda em algumas coisas. Quem não tem é estagiário.

Dica extra: Glassdoor é um site onde você encontra avaliações de empresas informadas de forma anônima por funcionários e seus salários.

**Processo de entrevistas**
O processo varia entre empresas, mas geralmente são 3 etapas.

O recrutador entrará em contato para uma entrevista para verificar se você realmente possui todos os requisitos e falar sobre a vaga e a empresa. Nessa etapa, você pode tirar dúvidas sobre a empresa e a faixa salarial.

Se continuar, agora é o momento da entrevista técnica ou teste. Na entrevista técnica um profissional da área fará perguntas técnicas dentro da vaga. Você não precisa saber tudo o que ele perguntar, pois será avaliado no geral. Vá sem medo, mesmo que você não passe, terá mais noção do que estudar.

Quando há um teste técnico, pode ser por desafio, onde você desenvolve e envia depois o repositório no github ou o menos comum que é live coding, onde sua tela é compartilhada e vai desenvolvendo ao vivo o que é proposto.

Se der continuidade, agora é o momento de entrevista com o gestor do time. O gestor irá te fazer perguntas sobre sua experiência e como lida com algumas situações.

Em empresas como consultorias, você não vai trabalhar em um produto dela e sim no de um cliente que é outra empresa. Você será um consultor de uma empresa dentro de outra.

Para cada etapa o recrutador irá te mandar um invite por email, onde haverá a data/horário e um link para você participar. O atraso pode acabar com a sua chance, por isso, entre antes.

Use uma ferramenta de anotações para te ajudar a estudar e decorar os conceitos das linguagens e ferramentas.
[Como usar o Notion.](https://youtu.be/E1_rSp0VdaY)

**Dicas Extras:**
Digas na entrevista os cursos que você está fazendo e os projetos que já desenvolveu, mesmo que em estudos.

Saiba se virar e pesquisar! Você não precisa saber tudo, nem os sênior sabem tudo. Mas não conte com a empresa para te treinar, no máximo te oferecem acesso a uma plataforma de cursos. Apesar de poder contar com a ajuda dos seus colegas, eles têm as tarefas deles e não podem ser chamados a todo instante.

Candidate no máximo de vagas que conseguir da sua senioridade e skills.

## Informações do Mercado

[![Mercado programação de sistemas para iniciantes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zvy0aibazi91zsx6zmxb.png)](https://www.youtube.com/watch?v=dMDjMkFkoHk)

## Dúvidas Frequentes

**Todos pedem experiencia**
Se você não tem experiência ou portfólio, dificilmente vai conseguir o primeiro emprego.
Gestores técnicos não estão muito interessados na sua faculdade e cursos, mas no que você já desenvolveu.
Algumas empresas podem considerar o portfólio para quem não tem experiencia.

Em 2023 o mercado passou ser mais exigente e ter menos vagas para Júnior.

Pare de apenas estudar e crie algo! 

**Como vou saber se já estou preparado para procurar uma vaga como júnior?**
Uma maneira de você saber é se já conseguiu criar algo, mesmo que simples, mas funcional e publicou em um repositório git.
Também saber os conceitos básicos da linguagem da vaga, já que vão te perguntar na entrevista técnica. É possível encontrar exemplos dessas perguntas de entrevistas na internet.

**Qual o salário de um Júnior?**
Salários variam levando em consideração stacks (tecnologias), empresas, cidade, experiência.

Encontramos a média salarial de um júnior entre R$3.000 a R$4.000 e pleno entre R$6.500 a R$8.000. Sênior R$10.000 a R$12.000, porém o sênior pode ter um salário maior ainda, se tiver muitos anos de experiência comprovada, trabalhar com linguagens mais complexas, conhecimento em devops, inglês avançado, liderança, etc.

Cada empresa possui sua política salarial, podendo esses valores serem menores.
[Pesquisa de salários do canal Código Fonte](https://pesquisa.codigofonte.com.br/)

**Consigo entrar no mercado em 6 meses?**
Eu diria que para o que o mercado atual espera, não. Se você tiver um plano de estudos organizado e dispor de tempo considerável diariamente, deve ser possível em menos de um ano. Mas é necessário disciplina, pois é muito conteúdo em pouco tempo e você precisa ter colocado em prática, mesmo que em projetos pessoais para estudos.

Hoje as empresas exigem mais conhecimento do que há alguns anos, sendo necessário mais estudo inicial.

Disclaimer: É uma área geralmente com bons salários, mas alto salário no primeiro emprego, sem experiência e com poucos meses de estudos, não existe atualmente. Há uma falsa divulgação sobre isso, colocando salário de pleno como sendo para júnior iniciante.

Altos salários para Júnior seria em vagas internacionais, mas mesmo já possuindo um bom inglês, eles procuram um Júnior que já tenha experiência.

**Preciso de faculdade?**
Resumindo: Depende.

Para ser desenvolvedor não é necessário graduação na área, então depende de a empresa exigir ou não. Há vagas que não exigem, apenas conhecimento equivalente, mas há empresas que colocam como requisito obrigatório completo ou cursando.
Conheço excelentes desenvolvedores que nunca estiveram em uma faculdade, então é mais pelo requisito da vaga e seu plano de carreira. Já para cargos de gestão vai ser mais difícil fugir da faculdade.

A faculdade não é algo supervalorizado, até porque diploma não comprova conhecimento, mas isso não torna ela desnecessária. Você vai aprender fundamentos da computação que não verá em cursos de linguagens. Para quem me pede meu conselho eu respondo: faça. Mas também escolha uma tecnologia e aprenda simultâneo. Você não vai sair da faculdade codando bem somente com ela. E também não espere a faculdade concluir para procurar sua primeira vaga.

**O que são as certificações?**
Há também as certificações que você obtém realizando uma prova elaborada pela empresa desenvolvedora da tecnologia.

Você não precisa ter feito faculdade para realizar essas provas, que são na maioria pagas e avançadas, e é um incremento muito alto para seu currículo.

Essas certificações demonstram que a pessoa tem conhecimento avançado naquela Stack.
Ex: AWS Certified Solutions Architect – Professional

**Preciso saber inglês?**
Para ser um desenvolvedor você precisa de inglês básico, já que as linguagens de programação e suas documentações são em inglês.

Já para vagas em que parte do time ou o cliente está no exterior, o inglês avançado será necessário, já que há conversação.

Mas claro, há relatos de vagas que pediram inglês e o profissional nunca usou. Há empresas que enchem muito os requisitos.

**Posso ser Full Stack?**
O desenvolvedor full Stack é o profissional que cobre várias áreas por trabalhar com mais tecnologias, desenvolvendo a aplicação de ponta a ponta, podendo ser front-end e back-end ao mesmo tempo.

O full stack é um dos cargos mais procurados por empresas no Brasil.

Porém, não indico no começo, por ter um escopo muito maior para estudos e experiências.

**Um canal para você**
Estou começando um canal no Youtube sobre a área e mercado. [Inscrever](https://www.youtube.com/@raphaelramosbr?sub_confirmation=1)

**Diferença entre PJ e Cooperado**
Como PJ você vai precisar ter um CPNJ ME para emitir uma nota fiscal para os pagamentos e pagar os impostos (depende do faturamento, mas cerca de 10%).
Sem emitir nota fiscal, não te pagam.

Como cooperado você não tem essa responsabilidade, a empresa faz todo tramite e cobra de você uma porcentagem para isso. Fora isso é como ser um PJ.

Obs: A atividade de desenvolvedor não se enquadra como MEI e a empresa pode não aceitar. Nesse caso pode ser que você precise de um contador para abrir um ME.

**PJ ganha mais que CLT?**
A remuneração das vagas, mesmo que tenha os mesmos requisitos, tem variação entre empresas e o PJ de uma pode ficar próximo ao CLT de outra, em alguns casos.
Deveria ser maior, mas não vemos muito isso.

Vale destacar que em muitas é pago por hora, ao invés de valor fechado. Quando é por hora, há meses que você irá receber menos, por haver menos dias e feriados.

**Como me preparar para um layoff?**
As demissões em massa têm sido comuns em empresas de tecnologias e apesar da recolocação não ser muito demorada, pode acontecer. É importante que você tenha uma reserva em dinheiro para sobreviver um tempo, principalmente se for PJ ou cooperado, onde você recebe apenas as horas que já trabalhou. Pode ser um erro gastar totalmente o que ganha sem uma reserva.

Trabalhe também na sua marca pessoal, estudando coisas novas, criando projetos pessoais, escrevendo artigos e participando de comunidades.

**Qualidades de um Dev**
Você não precisa saber tudo, mas precisa saber se virar!
Além do conhecimento técnico precisamos falar das soft skills. Ter uma boa comunicação e ir atrás de conhecimento quando não souber, ao invés de ficar parado ou esperar que alguém com senioridade maior resolva.

**Se manter na área**
Na área de programação não é só complicado entrar, também é se manter.

Novas tecnologias surgem sempre e você vai pegar projetos em que há ferramentas que não conhece, mesmo com anos de experiência.
Ou seja, terá que estudar para sempre para se manter.

Siga pessoas da área que falem sobre o assunto nas suas redes sociais, é uma maneira de ficar conectado também. Comece me acompanhando.
[LinkedIn](https://www.linkedin.com/in/raphaelramosbr)
[YouTube](https://www.youtube.com/@raphaelramosbr?sub_confirmation=1)
[Instagram](https://www.instagram.com/raphaelramos.br)
[Twitter](https://twitter.com/raphaelramosbr)
[GitHub](https://github.com/raphaelramos)