Certa vez, trabalhando em uma empresa, eu estava desenvolvendo uma feature importante para o sistema.
A entrega estava testada, validada e aparentemente tudo certo.
Mas como eu tenho o perfil de sempre melhorar o código legado e otimizar o ambiente de desenvolvimento, tive a brilhante ideia de ajustar o gerenciador de conexão com o banco de dados.
A ideia não era ruim, mas o momento e a forma que eu escolhi fazer isso na época foram escolhas erradas.
A ideia de melhorar legados sempre trouxe bons resultados, mas dessa vez, a execução não foi a ideal.
Um dos problemas é quando a autoconfiança sobe demais.
E aqui foi onde começaram as cagadas.
Além de fazer uma mudança fora do escopo da feature, acabei deixando passar o uso da conexão em outro ponto do sistema.
Pior ainda: fiz essa alteração junto com a feature principal.
O resultado
O código subiu para o ambiente e aparentemente tudo funcionava — até que, quando os clientes chegavam no checkout, o sistema começou a gerar muitos logs de erro relacionados à conexão com o banco de dados.
Para o usuário final, o erro não era exibido, e a compra era finalizada normalmente.
Mas internamente, ocorria uma falha ao tentar vincular a ordem com a reserva junto ao parceiro, gerando inconsistências e falhas no processo.
Como se isso não bastasse, eu e o responsável pelo DevOps cometemos outro erro:
não fizemos o rollback imediatamente após a constatação dos primeiros erros.
O que aprendi com isso
Esses foram os principais aprendizados que ficaram dessa experiência:
Evite mudanças fora do escopo da tarefa.
Mesmo que pareça algo simples, toda alteração deve ter seu próprio ciclo de testes e validação.Não altere o código depois que a tarefa já foi testada.
Mesmo uma única linha pode gerar um efeito cascata difícil de prever.Em caso de falhas, faça rollback imediatamente.
Quanto mais tempo você demora, maior o impacto no cliente e no time.
Conclusão
Mesmo com experiência, todos estamos sujeitos a errar.
O problema não é errar — o problema é não agir rápido para corrigir e aprender.
Errar faz parte do processo de se tornar um profissional melhor.
Mas o diferencial está em errar rápido, corrigir rápido e aprender ainda mais rápido.
Top comments (0)