Loading

14 abril 2023

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 - Vagas - 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
DevOps
Cientista de dados

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
Como Funcionam as linguagens
Como melhorar minha lógica de programação?
Algoritmos e lógica de programação

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 HTML, CSS e JavaScript / Typescript.

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 Node, Python, Java, C, PHP, Ruby (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: Ter o cargo somente front-end tem se tornado mais raro, há muitas empresas que buscam apenas 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
Stack Tecnológico

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.

Você pode começar com a linguagem de programação JavaScript, que pode ser usado para front e back-end. No caso do front-end é necessário aprender também a linguagem de marcação HTML e a linguagem de estilos CSS para fazer a parte visual (HTML e CSS não são linguagens de programação).

Mas se você deseja a área de dados, já comece com Python.

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

Links:
Comece do 0 com JavaScript - Rocketseat discovery gratuito
Curso gratuito HTML5, CSS3 e JavaScript
Outros cursos gratuitos na Udemy

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
Curso de Git & GitHub para completos iniciantes

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
Processo desenvolvimento de 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. Lembre-se de que é o seu perfil profissional.

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.

Em sites de recrutamento, como o gupy.io, é necessário cadastrar todo o seu currículo em campos específicos, assim como no LinkedIn.

Links:
Como exportar o LinkedIn em PDF

Candidate-se a vagas
Bons sites para procurar vagas são o LinkedIn, portal de vagas do Gupy e o Geek Hunter.

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.

Confirme também se possui os requisitos obrigatórios. Se sim, candidate-se.

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 ou o menos comum live coding, onde sua tela é compartilhada e vai desenvolvendo ao vivo o que é proposto.

Se der continuidade, agora é o momento de entrevista com o cliente ou gestor do time. 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.

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

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.
Cada empresa possui sua política salarial, podendo esses valores serem menores.
Pesquisa de salários do canal Código Fonte

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

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
YouTube
Instagram
Twitter
GitHub

Reaja ou comente este artigo no dev.to
Raphael Ramos

Desenvolvedor Sênior Full Stack e Mobile.

Me acompanhe:

Fale Comigo

Blog e Portfólio Raphael Ramos. Desenvolvido com Next.js