O que aprendi na trajetória de estagiário a programador júnior

Arthur Mota
Aurum Tech
Published in
5 min readAug 23, 2018
Site que criei com um contador regressivo para o dia da minha contratação

No dia 3 de agosto de 2018 encerrei meu ciclo como estagiário na Aurum e iniciei outro como programador júnior. Logo que entrei, me deparei com um ambiente inovador, com programadores mais experientes e, ainda assim, todos buscando constante evolução. Foi o incentivo ideal para eu também querer me desenvolver e topar novos desafios.

Durante pouco mais de um ano como estagiário, me envolvi em vários projetos que me orgulho muito, me fizeram crescer profissionalmente e me prepararam para dar esse salto profissional. O propósito deste post é compartilhar minha experiência nesse percurso e as dicas de como chegar lá:

O início

Todo estagiário ao entrar para a Aurum passa por um "Plano de integração" nos primeiros dois meses, onde o nosso CTO prepara uma série de atividades das quais ficamos responsáveis durante esse período. Como cheguei com pouca experiência, esse tempo foi importante para estudar e realizar alguns cursos relacionados às tecnologias nas quais eu trabalharia, como:

O primeiro desafio

Após essa etapa de adaptação, eu precisava colocar em prática todo o meu aprendizado. Mesmo não me sentindo à vontade ainda para resolver as issues do nosso projeto principal (Astrea), nosso Tech Leader surgiu com uma ideia: fazer o re-design de uma aplicação interna. Apesar de não saber a complexidade disso, logo aceitei esse desafio.

O prazo para entrega do projeto era de 2 semanas e o front-end era composto pela biblioteca Bootstrap e o AngularJS . Em conversa com um desenvolvedor front-end mais experiente da nossa equipe, decidi migrar do Bootstrap para o Materialize, uma lib baseada no Material Design. Com a ajuda do Felipe, um dos meus grandes parceiros nessa jornada, consegui concluir o projeto (totalmente responsivo) no prazo estipulado.

Com a conclusão desse projeto, me senti muito mais seguro para ajudar o time nas atividades da sprint.

Tela de login do AstreaViewer

Team Hydra

No quarter seguinte fui convocado para integrar a Squad Performance, responsável por cuidar das issues vindas do time de suporte, e por refatorar diversos módulos do software. Foi um período movido por desafios, nossa equipe fez grandes entregas, mas vou destacar apenas algumas aqui.

Algumas características muito valorizadas aqui na Aurum são: ser inovador, inquieto e dedicado. Com base nesses atributos e na necessidade que nós tínhamos de fazer o controle de todas as tarefas com SLA, resolvemos desenvolver o Hydra.

Hydra

O Hydra é uma aplicação web, com o front-end em Vue.js (um framework que nós tínhamos curiosidade em aprender) e o back-end em Node.js. Fizemos uma integração com nosso repositório do Git e utilizamos o Firebase para fazer as atualizações em tempo real.

O acompanhamento das issues se tornou bem mais fácil, tanto para o time de suporte, quanto para o nosso time, que passou a ter conhecimento da issue no momento da sua criação.

Nesse projeto consegui aprimorar meus conhecimentos em HTML, CSS, Javascript, processos de deploy, e o mindset para aplicações baseadas em componentes.

Refatoração relatórios

Outra entrega com bastante valor foi a refatoração dos relatórios, que antes era feito por um serviço separado da aplicação que utilizava Java, e foi migrado para um modelo utilizando os componentes do AngularJS, com testes no front-end também. Essa refatoração melhorou consideravelmente o desempenho do módulo.

PWA Aurum Summit

Como todo estagiário, eu tinha o desejo de ser contratado, portanto teria que mostrar meu valor para a empresa. Manifestei esse meu interesse com meu Team Leader e nós começamos a pensar em algo que eu pudesse fazer para mostrar meu valor, surgiu então a ideia do app para o evento organizado pela Aurum, o Aurum Summit.

Quem nunca foi num evento ou meetup e ficou perdido, pois não sabia a ordem das palestras ou a programação? Foi com esse pensamento que decidimos desenvolver um app onde estariam disponíveis informações como o cronograma do evento, detalhes dos palestrantes e das palestras, informações dos patrocinadores e uma seção para os participantes colocarem seus feedback's sobre os palestrantes, assuntos abordados, etc.

Porém tínhamos um problema: a data do evento se aproximava e eu ainda precisava de tempo para pesquisar, estudar desenvolvimento mobile, desenvolver e submeter o produto para as lojas (Google Play e Apple Store). Cada hora de trabalho era super importante, devido ao prazo limitado, então o tempo não podia ser desperdiçado, e por isso (como muitos sabem) não queria dar o “luxo” de esperar o tempo de análise do app pelas lojas.

Com a ajuda do Milton, depois de levantar todos esses pontos, decidimos criar um PWA (Progressive Web App), que é uma metodologia de desenvolvimento resultado da combinação das melhores experiências do usuário nos aplicativos e na web. Escolhi desenvolver utilizando Vue.js, pois já tinha um pouco de experiência devido ao Hydra.

Squad Inovação

Depois do sucesso do Team Hydra no Q4 de 2017, em conversa com o Team Leader, foi decidida a minha ida para a Squad de Inovação. Nosso principal desenvolvedor front-end foi alocado para um projeto durante todo o quarter, então o time precisaria que eu ficasse responsável pelo front-end de grande parte das novas features. Dentre elas eu destaco:

  • Módulo de primeira experiência do usuário;
  • Novos formulários de busca em lote e individual;
  • Módulo de atendimento.

Outro projeto que eu me orgulho de ter feito parte foi o Nix, nosso primeiro projeto open source aqui na Aurum. Você pode saber mais sobre ele nesse post:

O que aprendi como estagiário

Todos esses projetos foram importantes para ganhar a confiança dos meus líderes e mostrar meu valor para a Aurum. Além disso, acredito que a predisposição para os desafios, o esforço e os trabalhos além daquilo que esperavam de mim, contribuíram para minha efetivação. Separei alguns pontos, mesmo que pareçam clichês, mas que eu considero valiosos para a evolução dentro do trabalho:

  • Ter um bom relacionamento com o time;
  • Ser adepto a mudanças;
  • Não ter medo de desafios;
  • Saber perguntar sempre que necessário;
  • Dar o máximo em tudo que for fazer;
  • Buscar evoluir a cada dia;
  • Ter comprometimento com as entregas;
  • Saber receber feedback's.

Mas esse é só o começo, estou bastante ansioso para os próximos passos, sei que tenho muito a evoluir ainda e vou continuar lutando por isso.

--

--