Minha experiência depois de 1 ano como o único desenvolvedor da empresa, sendo Júnior
Há um pouco mais de um ano, eu entrei na empresa como desenvolvedor Júnior, meu primeiro emprego na área. Hoje, quero compartilhar um pouco da minha experiência. Peço perdão desde já caso fique um pouco longo.
O inicio da jornada
Eu consegui meu primeiro emprego na área depois de uma recomendação de um amigo. Após eu entrar, ele me ajudou nos primeiros meses a me adaptar, porém, logo depois, conseguiu uma oportunidade melhor e seguiu em frente. Eu fiquei e estou lá até hoje.
A empresa em que estou é mais focada em conectividade e não em desenvolvimento em si, e eu estou inserido no setor de engenharia. Basicamente, nossa função é garantir que todo o ambiente esteja funcionando, além de tentar trazer melhorias onde for possível.
A equipe é pequena, com quatro pessoas, incluindo eu, meu líder e um estagiário. Embora todos tenham conhecimentos de programação, quando se trata de desenvolvimento web, eu sou o único da empresa.
Existem algumas aplicações internas que a gente tem, cuja ideia é facilitar o dia a dia dos outros funcionários. Essas aplicações são 100% minha responsabilidade.
As responsabilidades do time
Como eu disse, a equipe é pequena e a responsabilidade é grande. A gente supervisiona todos os servidores da empresa, sejam na nuvem ou físicos. Isso inclui infraestrutura, monitorias, backups, firewalls, a rede interna e os sistemas embarcados que nós desenvolvemos. Sem contar as demandas do dia a dia que acabam caindo pra a gente também: "tô sem internet", "e-mail não envia", "tô sem permissão pra acessar a pasta X" são coisas recorrentes com as quais lidamos. Quando eu falo que a gente cuida pra que TUDO funcione, é TUDO mesmo. E, é claro, ainda tenho o extra de desenvolver o front e o back das aplicações internas que mencionei mais cedo.
O lado bom e o lado ruim
Por um lado, isso é de certa forma empolgante, já que tenho um nível de autonomia e "autoridade" que nunca esperava ter a essa altura da minha carreira. Na maior parte do tempo, sou livre pra decidir qual o melhor caminho a ser tomado quando se trata dessas aplicações internas. Óbvio que eu comunico o que estou fazendo e como, mas se, por exemplo, estivermos discutindo alguma questão e eu disser que X deve ser feito, as chances de X ser decidido são altas, já que sou o cara que conhece esses sistemas de cabo a rabo.
Isso também acabou me forçando a desenvolver bons hábitos. Melhorar minha organização pessoal e aprender a buscar soluções por conta própria foram essenciais, já que muitas vezes só me é dado um problema e é esperado de mim que eu corra atrás da solução.
Por outro lado, sinto que estou perdendo algo importante que outros devs júniors têm: feedback e mentoria de um desenvolvedor mais experiente. Não me levem a mal, o líder da minha equipe é uma ENORME fonte de inspiração pra mim, e eu já aprendi mais com ele do que com todos os meus professores da faculdade juntos. O problema é que ele é um guru de redes, com mais de 10 anos de casa. Ele conhece toda a topologia da empresa como a palma da mão e sabe codar em shell puro de cabeça, mas desenvolvimento em si? Não é o forte dele, e ele mesmo já disse isso.
Isso significa que eu não tenho absolutamente nenhum feedback no meu código. Eu sempre me empenho em validar e testar, mas no final das contas, se eu decidir que meu código tá pronto, ele tá pronto e fim de conversa. Manda pra produção e é isso.
Embora eu tente sempre fazer o meu melhor, tenho certeza de que existem pequenas coisas que devo estar fazendo errado ou que poderiam ser otimizadas, coisas que um sênior demoraria 1 segundo pra perceber que não é o ideal, mas que podem estar passando despercebidas por mim. Meu medo é pegar hábitos ruins que sejam difíceis de consertar depois ou, pior, que possam me pintar como alguém menos competente/experiente do que sei que sou em uma possível futura entrevista.
Tá... mas e aí?
A questão é que sou extremamente grato pela oportunidade que tive, e genuinamente gosto muito do meu trabalho atual. Todo dia é um desafio diferente, e a quantidade de conhecimento que acumulei até agora tenho certeza de que vou levar pra vida. Quando cheguei, não tinha nenhum conhecimento em Linux e tinha basicamente o ABC de HTML, CSS, Javascript e PHP puro. Hoje em dia, lidar com um ambiente Laravel e criar labs em Docker para testar novas ferramentas é algo rotineiro.
O que eu queria era compartilhar minha experiência e perguntar a opinião de vocês. O que acham dessa situação? Já passaram por algo parecido? Como lidaram com a falta de feedback técnico? Sintam-se à vontade pra compartilhar opiniões, críticas ou sugestões sobre tudo isso, mas só de ler até aqui, eu já fico grato.