Sobre
Kevin Diego
Resumo
Iniciei meus estudos em desenvolvimento em 2021. Naquela época, não entendia muito bem como funcionavam essas loucuras. Meus primeiros contatos foram com Python e C#, através de cursos que fazia na falida SOS Computadores.
Sofri bastante para aprender, principalmente porque não tinha computador. Era basicamente um tablet, um caderno e muita força de vontade. Depois de muito trabalho e algumas choradas para minha mãe conseguir um cartão com limite, finalmente consegui comprar meu primeiro notebook parcelado. Escolhi um Dell Inspiron. Não era o melhor notebook do mundo, mas virou meu companheiro de desenvolvimento por muitos anos.
Com ele comecei a instalar ferramentas, testar tecnologias e praticar tudo o que Python e C# tinham para oferecer. Mas a falha era inevitável haha. Faltava maturidade, criatividade, experiência e um pouco de força de vontade também. Acabei fracassando nas minhas primeiras tentativas como desenvolvedor Python, mas olhando para trás isso foi importante para entender que aprender programação era muito mais do que assistir aulas e copiar código.
Depois de sair de um trabalho em shopping, ingressei em uma empresa de telecomunicações como suporte técnico de equipes de campo. Foi nessa época que consegui entrar em uma escola presencial de desenvolvimento web. Minha rotina era puxada: estudava pela manhã, trabalhava durante o dia e, sempre que sobrava um tempo, continuava estudando. Chegava em casa e, se ainda tivesse energia, voltava para o notebook.
Fiquei nessa rotina por quase um ano até que, próximo de concluir o curso, participei de um evento promovido pela escola. Era basicamente um hackathon... um hackathon meio mixuruca, mas era o que tinha haha.
Formei uma equipe com mais dois desenvolvedores, um analista e uma pessoa de marketing. A ideia era construir um produto e apresentá-lo ao final do evento. Bom, foi um desastre haha.
Fiquei responsável pelo backend, mas às vezes codava frontend, às vezes backend, às vezes nem eu sabia o que estava fazendo. Foi ali que construí minha primeira API em Node.js. Era uma API horrível. Consulta nativa para todo lado, autenticação inexistente, segurança zero, arquitetura nenhuma. Era basicamente um CRUD com esperança e oração.
Na hora da apresentação, travei completamente quando começaram as perguntas sobre segurança, autenticação, tokens e boas práticas. Eu simplesmente não sabia responder. Mas, curiosamente, aquele momento não me desmotivou. Pelo contrário. Foi naquele dia que percebi que queria trabalhar com desenvolvimento profissionalmente. Eu só precisava encontrar uma forma de entrar no mercado.
Pouco tempo depois surgiu uma oportunidade de estágio. Fui efetivado e passei a integrar o "time" de backend. Coloco time entre aspas porque o time era basicamente eu e o líder técnico. Aquela sensação de equipe? Era eu, o líder e Deus tentando manter tudo funcionando.
Foi nesse ambiente que conheci Java, Spring Boot e todo o seu ecossistema. No início tudo parecia extremamente complexo. Eu não entendia direito o que cada anotação fazia, por que existiam tantas camadas e como tudo se conectava. Felizmente tinha um líder técnico muito competente e também muita IA me ajudando a entender o que cada linha de código fazia.
Foi aí que percebi que backend era realmente o que eu gostava.
Durante esse período desenvolvi diversas APIs, refatorei sistemas, corrigi bugs, participei de integrações e perdi as contas de quantos NullPointerExceptions precisei tratar. Foi também onde comecei a criar uma base mais sólida em orientação a objetos, padrões de projeto e boas práticas de desenvolvimento.
Mas a necessidade me trouxe de volta para o sofrimento do frontend. Comecei a ficar preocupado em ficar preso apenas a uma stack e pedi para participar de projetos diferentes. Foi assim que tive contato com AngularJS e depois React.
Bom... eu apanhei. Mas apanhei muito.
Apanhei de hooks, useMemo, gerenciamento de estado, componentes, renderização e de praticamente tudo que o React conseguia oferecer. Da mesma forma que também apanhei de Angular e seus conceitos. Mas aquilo era algo que eu queria entender. Passei alguns meses trabalhando em ambas as frentes, entregando projetos tanto como backend quanto como frontend.
Em determinado momento comecei a me interessar por observabilidade e monitoramento. Vi algumas publicações sobre ferramentas que monitoravam APIs e aplicações e achei aquilo incrível. Como a empresa praticamente não tinha nada nessa área, tive a ideia de tentar implementar algumas soluções.
Aproveitando conhecimentos que já possuía da área de telecomunicações, introduzi ferramentas como Zabbix, Grafana, Prometheus e outras soluções de monitoramento. Aos poucos consegui montar um pequeno ecossistema de observabilidade que acabou se tornando útil e servindo como base para outros projetos da empresa.
Pode parecer algo simples, mas para mim foi uma grande vitória ver algo que eu havia proposto sendo utilizado por outras pessoas.
Mas nem tudo são flores.
Após um layoff(Forçado), acabei encarando um novo desafio: trabalhar com um sistema legado em Java utilizando Struts 1.
Foi uma pancada.
Era um sistema com mais de dez anos de existência, cheio de formulários, sessões, regras de negócio espalhadas e códigos que pareciam ter sido escritos em outra dimensão. Eu me sentia completamente perdido. Afinal, era um desenvolvedor que tinha começado a programar em 2021 tentando entender um sistema construído por pessoas com décadas de experiência.
A síndrome do impostor bateu forte haha.
Mas continuei estudando, tentando entender o código e buscando resolver os problemas da forma mais simples possível. Com o tempo comecei a compreender melhor como tudo funcionava e hoje consigo trabalhar tranquilamente nesse tipo de ambiente. Mas posso dizer com segurança que provavelmente não faria algumas coisas da mesma forma haha.
Ao longo da minha trajetória também trabalhei com APIs em NestJS, Python e outras tecnologias. Ainda assim, nada se compara à minha experiência com Java, que continua sendo a stack onde me sinto mais confortável e seguro.
Hoje em dia estou focado em aprender cada vez mais sobre arquitetura de software, Clean Code, Design Patterns, microsserviços, observabilidade e boas práticas de desenvolvimento. Estou sempre buscando aprender coisas novas, entender tecnologias diferentes e continuar evoluindo como desenvolvedor.
Ainda tenho muito a aprender, mas olhando para trás e lembrando do tempo em que programava usando apenas um tablet, um caderno e muita força de vontade, acredito que já percorri um caminho bem interessante. Espero que minha história possa inspirar outras pessoas que estão começando agora ou que enfrentam dificuldades semelhantes. A jornada de um desenvolvedor é cheia de altos e baixos, mas com dedicação, paciência e um pouco de coragem, é possível superar qualquer obstáculo e alcançar grandes conquistas.