Há quase três anos, estava iniciando meus estudos no Le Wagon. Era o aluno mais novo até o momento. Com 17 anos, havia acabado de concluir o ensino médio e não fazia ideia do que queria pra vida, além de não fazer ideia se realmente gostaria de programação.
O sentimento de medo logo se tornou alívio após a primeira semana, onde descobri que não só havia gostado, mas também estava acompanhando bem o conteúdo e por sorte, descobri que não havia nada que me interessasse mais do que aprender a programar. Ao terminar o curso, procurei um lugar onde pudesse aprender e aplicar TDD (Test Driven Development) no dia a dia, pois queria desenvolver softwares de qualidade desde o início da minha carreira, e TDD são parte das boas práticas de desenvolvimento em qualquer lugar!
Estava apenas no início da minha jornada e mal sabia as dificuldades que um dia encontraria. O intuito deste post é compartilhar minha experiência, dificuldades, materiais para estudo e superações ao longo desse período, pra você, caro estudante, aspirante a desenvolvedor ou amante da tecnologia, poder se inspirar e descobrir que aprender a programar, não é um bicho de 7 cabeças, e que sim, faz parte de uma jornada de aprendizado e compromisso!
Meu primeiro emprego como Desenvolvedor
No mês seguinte, passei no processo seletivo da
AutoSeg, empresa a qual trabalhei por dois anos antes de entrar na
Stone, porém haviam preenchido as vagas enquanto eu ainda estava finalizando o processo naquele tempo, então me deixaram em uma fila, para quando abrissem outras vagas. A previsão era de um mês, mas devido alguns problemas com a mudança para o novo escritório, não foi possível e acabaram estendendo a previsão indefinidamente. Segui em frente.
Foram mais três meses buscando oportunidades, praticando diariamente no
exercism.io, plataforma para praticar com desafios em várias linguagens de programação. Tive outras entrevistas, onde ouvi ser muito novo, que não teria futuro e que minhas metas de carreira não faziam sentido.
Estava precisando de dinheiro e experiência e acabei aceitando uma proposta extremamente abaixo da média, em regime CNPJ. Tive que dar manutenção no sistema, criar endpoints novos para os app mobile e web. Na segunda semana, não tive dinheiro para ir ao escritório. Comuniquei ao meu chefe, que aceitou eu fazer home office tranquilamente.
Ao final da segunda semana, decidi que não continuaria na empresa, pois não havia me identificado muito com a galera de lá, "não tínhamos tempo" pra escrever testes - prática que gostaria de ter no dia a dia - e havia apenas um desenvolvedor que entrou comigo. Recebi apenas pela semana que consegui ir ao escritório, pois segundo ele, não havia como comprovar minha presença na segunda semana.
Desenvolvendo minha Carreira: Meu segundo emprego como Programador
Em seguida, encontrei outra empresa, dessa vez com um ambiente bem legal, recebendo mais que o dobro em CLT. No primeiro mês, implementei um fórum discourse.org personalizado para o projeto, deploy no google cloud (aprendi na marra enquanto fazia) e correções de bugs em alguns dos projetos em andamento na época. No começo do segundo mês, tive a oportunidade de me aventurar em um projeto feito em React, onde tive meu primeiro contato. Aprendi o propósito do framework, porque utilizavam ele, sua sintaxe e funcionalidades.
Na última semana do período de experiência, fui notificado da mudança de escritório da Autoseg e aceitei a oferta, pois apesar do ambiente fenomenal, projetos interessantes, eu ainda queria muito praticar TDD.
Quando comecei a trabalhar lá, senti que era mais próximo do que eu buscava: um lugar com uma cultura legal, com vários desenvolvedores mais experientes que eu e que prezam pela qualidade do código. O valor era o mesmo, porém com uma oportunidade de aprendizado maior.
Na época, trabalhava presencial e ocupava meu tempo no transporte lendo "Practical Object-Oriented Design in Ruby", onde aprendi mais a fundo sobre OOP, SOLID, DRY e TDD.
Estava aprendendo cada dia mais sobre testes, OOP, boas práticas e inúmeras soft skills, portanto, minha primeira meta estava concluída e eu tinha que definir outra.
Bootcamp de programação e minha jornada de Aprendizado no mundo dos códigos
Durante o Le Wagon, conheci a Plataformatec, criadora e mantenedora do Devise na época, gem utilizada durante o curso para autenticação de usuários nos projetos. Havia me interessado, porém acreditava que não estava no nível necessário para passar no processo deles (ainda). Defini que minha meta seria obter experiência enquanto me preparava tecnicamente para ser aceito lá. Li livros como "Clean Code", "Growing Object-Oriented Software, Guided by Tests", que, resumidamente, me deram uma boa noção de como escrever software legível e fácil de testar e "Learn Functional Programming with Elixir", que como o nome diz, me ensinou programação funcional com Elixir.
No início de 2020 estava empenhado em aplicar para trabalhar na Ptec, que pouco depois foi adquirida pelo Nubank. Tive que buscar novos objetivos, já que o meu anterior não seria mais possível.
Havia realmente gostado de programar em Elixir, porém estava desmotivado e não parecia fazer sentido continuar estudando, pois o meu interesse inicial não era mudar de linguagem totalmente e sim ter a possibilidade de trabalhar na empresa que considerei ser a melhor opção para se trabalhar com Ruby e/ou Elixir por aqui.
Apliquei para diversas empresas que também chamavam minha atenção pelo envolvimento com a comunidade Ruby, porém só consegui entrevista em uma, por não ter dois anos completos de experiência. Passei no processo deles, porém com a pandemia, adiaram as vagas. Desencanei, pois meu maior fator limitante era o tempo, o qual não há como controlar.
Em março, tirei férias para ajudar na primeira semana dos projetos finais do batch #368, onde comemorei meu segundo aniversário no Wagon, com direito a bolo e diversas outras amizades proporcionadas pelo bootcamp!
Segui o ano praticando, melhorando meu inglês e me preparando para entrevistas no exterior, já que no pior dos casos, eu teria mais familiaridade e experiência em conversação futuramente. A maioria das vagas exigiam pelo menos três anos de experiência, então também tive poucas respostas.
Como eu consegui um trabalho como desenvolvedor na Stone?
No final de Julho, voltei a aplicar para algumas vagas por aqui, porém ainda sem sorte. As mesmas empresas ainda não tiveram interesse em marcar entrevista alguma. Como havia estudado elixir no passado, decidi tentar algumas vagas também, onde acabei encontrando a Stone.
No mesmo dia em que apliquei, já havia entrado em contato com o RH. Trocamos um bom papo, perguntei se era exigido faculdade ou mais anos de experiência, por outros lugares recusarem por esse motivo mesmo após a entrega do desafio e não havia nenhuma restrição desse tipo.
A vaga também não exige experiência com a linguagem, apenas que você tenha interesse em aprendê-la e esteja disposto a uma nova aventura. Após passar na entrevista, recebi o link para o desafio, onde deve ser feito em Elixir em até 20 dias, porém aberto a negociação para estender o prazo. Por sorte, já havia marcado férias, pois iria ajudar um amigo meu presencialmente durante o projeto final do Wagon, já que o batch era remoto.
Durante os 20 dias, estudei sobre contabilidade, modelei a aplicação, botei a mão na massa com todo o ecossistema (TDD, SMTP local, Ecto, Phoenix), dockerizei a aplicação e documentei o setup e requisitos para rodar os testes.
Na semana seguinte que enviei o app, foi marcada uma entrevista técnica com alguns desenvolvedores para discutirmos alguns pontos positivos e negativos encontrados durante a revisão, afinal, todo mundo erra, só temos a aprender com feedbacks.
Correu tudo tranquilo e inclusive houve uma discussão filosófica muito interessante sobre a relação do pensamento crítico com a programação, abordada pelo Tech Lead da Stone, formado em Filosofia.
Antes da proposta financeira, houve uma última entrevista com um dos sócios onde acabamos perdendo a noção do tempo pela qualidade do papo, que foi desde como comecei na área, desafios na empresa, uma visão mais business e minhas metas e objetivos pra vida.
Recentemente completei um mês aqui e tenho aprendido cada vez mais, tanto pelo setor e contexto da empresa, quanto pela qualidade técnica das equipes. Apesar de nunca ter trabalhado com a linguagem, os livros que citei e os exercícios praticados ao longo dessa jornada facilitaram minha integração ao time. Se você já é desenvolvedor há um tempo e tem interesse em trabalhar com Elixir, temos
vagas abertas!
Cada trajetória é única, mas acredito que conseguimos aprender e identificar padrões no mercado com base na experiência de outras pessoas, para evitar frustrações durante a busca por oportunidades. Persistência é a chave e evite ficar na zona de conforto.
“Shoot for the moon. Even if you miss, you'll land among the stars.” - Norman Vincent Peale