Saindo do júnior: as habilidades que ninguém te ensina
Comunicação, escopo, leitura de código alheio e dizer não.
O que separa o júnior do pleno não é o código
Cursos e bootcamps ensinam sintaxe, algoritmos e frameworks. O que eles raramente ensinam é o que realmente diferencia um desenvolvedor júnior de um pleno: como se comportar em um ambiente profissional de desenvolvimento.
Essa diferença raramente é técnica.
1. Comunicar bloqueios sem esperar
O maior erro do desenvolvedor júnior é ficar travado por horas — às vezes dias — sem pedir ajuda. A lógica interna é "não quero parecer que não sei". O resultado prático é atraso no projeto e frustração para todo mundo.
A habilidade que você precisa desenvolver: comunicar bloqueios cedo e com contexto.
Errado:
"Não consegui fazer funcionar."
Certo:
"Estou com problema na autenticação JWT. Já tentei X e Y. O erro que aparece é Z. Você tem 10 minutos para olhar comigo?"
A diferença é enorme. Na segunda versão, você demonstra que tentou, sabe o que está errado e respeita o tempo do colega.
2. Entender escopo antes de codar
Júniores codificam antes de entender o problema. Plenos entendem o problema antes de codar.
Antes de começar qualquer tarefa, responda:
- O que exatamente precisa ser entregue?
- Qual o critério de aceite?
- Tem casos extremos para cobrir?
- Qual o prazo real?
Perguntar essas coisas antes não é fraqueza — é profissionalismo. O custo de reescrever código por entendimento errado é muito maior que 15 minutos de conversa.
3. Ler código de outras pessoas
A maioria dos júniores só lê código que eles próprios escreveram. Em um time real, você vai passar boa parte do tempo lendo código alheio: fazendo code review [revisão de código], debugando bugs em módulos que não conhece, entendendo como uma feature foi implementada.
Como desenvolver essa habilidade:
- Leia projetos open source que você usa. Não precisa entender tudo — comece pelo arquivo de entrada.
- Quando fizer code review, tente entender a intenção antes de criticar a implementação.
- Quando pegar um bug em código que não escreveu, mapeie o fluxo antes de qualquer coisa.
4. Dizer não (e saber como)
Receber uma tarefa e simplesmente aceitar — mesmo sabendo que é inviável no prazo dado — é um problema que os júniores têm com frequência. A pressão para agradar supera o julgamento técnico.
O resultado: promessas que não são cumpridas, horas extras desnecessárias, qualidade comprometida.
A habilidade de dizer não está em como você diz:
Errado:
"Não dá para fazer."
Certo:
"No prazo de dois dias não consigo entregar com qualidade suficiente. Posso entregar a parte principal em dois dias e o restante na semana que vem — ou podemos reduzir o escopo inicial?"
Você não recusou a tarefa. Você negociou o escopo ou o prazo.
5. Documentar o que você faz
Código sem contexto é código que ninguém vai conseguir manter — incluindo você mesmo daqui a três meses.
Documentação não significa comentar cada linha. Significa:
- Commits com mensagens que explicam o porquê, não o quê
- README atualizado com como rodar e testar
- Comentários em lógicas não óbvias
# Ruim
x = data["ts"] * 1000
# Bom
# A API retorna timestamp em segundos; o front-end espera milissegundos
timestamp_ms = data["ts"] * 1000
Conclusão
A transição de júnior para pleno é mais sobre comportamento do que sobre tecnologia. Comunicação clara, entendimento de escopo, leitura de código alheio, negociação de prazo e documentação são habilidades que fazem mais diferença na sua carreira do que conhecer mais um framework.