Um desenvolvedor novo entrou num projeto que eu gerencio e, na primeira semana, sem contexto do sistema, pegou uma tarefa que mexia numa parte crítica. O sistema inteiro é construído sobre auditoria: toda ação, todo dado que passa por ali fica registrado, com o rastro completo de tudo que aconteceu. Pro cliente, esse histórico é o produto.
A tarefa era um cronjob que rodava todo dia, passava por alguns dados específicos, fazia verificações e alterava o que precisava. Na alteração dele, um detalhe mudou o alcance: em vez de percorrer o subconjunto certo, o job passou a percorrer todos os registros do banco. Subiu pra produção assim. Sobrescreveu tudo, sem deixar o rastro que o sistema existe pra guardar.
Esse projeto tem cerca de dez stakeholders, e todos participam ativo das reuniões. Gerenciar uma crise dessas na frente deles me ensinou mais sobre liderança do que qualquer coisa antes.
A primeira decisão foi onde colocar a energia. O problema já tinha acontecido, e o passado não muda. Discutir de quem era a culpa não recuperava um único registro. Então a conversa interna virou uma pergunta só: como consertar.
A segunda decisão foi proteger o time. Assumi a responsabilidade e fui o único ponto de contato com o cliente. Não citei o desenvolvedor, não transferi a pressão pra ele. Quem responde na frente do cliente é o líder do projeto, e o líder era eu.
Aqui o lado técnico ajudou. Tenho acesso ao banco, então antes da primeira reunião fui lá, verifiquei o estado dos dados e montei uma proposta de recuperação. Cheguei na apresentação do problema já com um caminho na mão e a viabilidade demonstrada. O time depois validou a fundo e confirmou que era a melhor forma de consertar. Ser de produto e conseguir descer no técnico encurta a distância entre descobrir o problema e apontar a saída.
Com o time, foram muitas conversas até fechar a solução. Tivemos sorte também: os dados eram recuperáveis, e no fim voltou tudo. Nem sempre a história termina assim, e eu sei disso.
O desenvolvedor continua no sistema até hoje. Ninguém apontou o dedo pra ele, e ele seguiu trabalhando sem carregar o peso do erro. Um time onde o primeiro erro queima a pessoa é um time onde ninguém mais arrisca nada.
Fica o critério que uso desde então: quando dá problema, o líder pergunta como resolve e fica na frente. O resto é conversa.