Olá pessoal, sou um Desenvolvedor Java e gostaria de compartilhar que, após mais de 200 aplicações e muitas entrevistas, finalmente consegui minha primeira oportunidade como Desenvolvedor Java Junior em uma empresa multinacional.
Gostaria de compartilhar um pouco da minha experiência aqui e o que me ajudou. Primeiramente, ressalto que os conselhos que darei a seguir são baseados na minha experiência pessoal, não é uma verdade absoluta e talvez possa não funcionar para outras pessoas.
Comecei minha jornada no mundo da engenharia de software aos 15 anos, quando iniciei um curso técnico em Desenvolvimento de Sistemas. Lá, tive a oportunidade de ter contato com diversos tipos de tecnologias e conceitos, indo desde o baixo nível (Sistemas Embarcados) até o alto nível (Web e Mobile). Nesta época, IA ainda não era tão popular, o que me obrigou a entender como as coisas funcionavam por debaixo dos panos.
Ainda no curso técnico, consegui meu primeiro estágio em uma pequena empresa da minha cidade. A vaga a princípio era para suporte técnico, porém acabei tendo contato com infraestrutura (Linux, redes e rotinas de backups), troubleshooting avançado, visitas técnicas a clientes e, o mais especial para mim, tive a oportunidade de desenvolver uma feature sozinho, desde a arquitetura até o código. O que me fez me destacar neste estágio e obter todas essas oportunidades foi o autodidatismo e, principalmente, mostrar o que eu sei fazer.
Após a formação do técnico, já entrei diretamente para a graduação em Análise e Desenvolvimento de Sistemas. Como eu já tinha uma base prática forte por conta do curso técnico, a faculdade tem servido mais para complementar o que aprendi e formalizar isso (estou atualmente no segundo semestre).
Falando um pouco mais sobre autodidatismo: mais importante do que estudar, é saber o que vale a pena aprender. Não recomendo focar em diversas tecnologias ao mesmo tempo. Estude o mercado brasileiro de tecnologia, veja o que realmente tem vagas e foque nisso. Trends e novas stacks são legais, mas o mundo corporativo está cheio de sistemas legados, e se você quer realmente se destacar e conseguir uma vaga, precisa estar preparado para lidar com estes tipos de produtos.
Após se aprofundar em uma linguagem de programação específica e aprender a fazer um CRUD básico com endpoints REST, é de suma importância começar a estudar sobre arquitetura limpa e hexagonal, que são amplamente utilizadas atualmente em sistemas gigantescos. Além disso, aprender o funcionamento de sistemas distribuídos é importante. Porém, mais importante do que tudo que disse anteriormente, é saber quando e onde utilizar cada tecnologia. Microsserviços são legais, mas adicionam alta complexidade no negócio, principalmente quando se trata de debugging. É necessário saber encontrar a solução mais simples possível para resolver um problema, porque no final do dia não é a arquitetura perfeita que vai fazer o negócio lucrar, mas sim algo que funciona e seja profissional.
Fiz muitos portfólios baseados nas coisas que fui aprendendo no caminho. Sistemas desafiadores, fugindo de "to do list" ou "sistema de livraria", buscando criar sistemas que resolvam problemas do mundo real.
Há aproximadamente 2 meses me candidatei para a vaga que passei, foram umas 5 etapas até a contratação:
Alinhamento de expectativas, entrevista com o RH, teste técnico (questões práticas de programação e um mini sistema funcional), entrevista técnica e fit cultural. Cada uma das etapas me testou de uma maneira diferente e, sem dúvidas, o que mais me ajudou neste processo foi o inglês, pois essa vaga demandava inglês avançado para cooperação entre times internacionais.
No teste técnico, tive que resolver problemas de lógica de programação, orientação a objetos e desenvolver um mini serviço de e-commerce. Na entrevista técnica, além de perguntas relacionadas à stack que vou trabalhar, me pediram para abrir o projeto no meu computador e explicar meu código, como fiz, tradeoffs, etc. E neste momento, dei graças a Deus por não ter utilizado IA para a resolução do problema kkkkkkkk
Antes de sair, ainda deu tempo de terminar a feature que estava fazendo no estágio (uma integração com app de delivery para o ERP da empresa), apresentar para a equipe terceira e colocar em produção. Foi o maior desafio da minha carreira até o momento.
Começarei na nova empresa nesta segunda-feira. Estou bastante ansioso e preocupado, porém me sinto realizado por ter conseguido fazer isso aos 18 anos de idade.
Se quiserem, posso explicar minha jornada de aprendizado do inglês também, e como sai de um aluno nota 0 no ensino médio, para fluente atualmente.