Sistema dependente de um único programador: como sair
Seu sistema depende de um único programador? Veja como garantir acessos, documentar o essencial e trazer uma segunda equipe antes que a dependência vire crise.
Neste artigo
- O risco que só aparece quando a pessoa sai
- Sinais de dependência excessiva
- Primeiro passo: acessos, código e servidores em nome da empresa
- Documentação mínima que vale produzir já
- Trazer uma segunda equipe sem ruptura
- Transição combinada com o programador atual
- Contrato e governança para não repetir
- Checklist para começar esta semana
- Perguntas frequentes
- Como a Pervian Tech trabalha transição de sistemas
O sistema que emite os pedidos, calcula as comissões e fala com o ERP foi feito por uma pessoa. Ela conhece cada tabela, sabe por que o relatório de fechamento demora e resolve qualquer problema com um telefonema. Funciona bem há anos. O incômodo aparece quando alguém pergunta: "e se ele ficar doente, mudar de emprego ou simplesmente não atender numa sexta à noite?".
Essa situação é frequente em empresas que cresceram com um desenvolvedor de confiança, seja um funcionário antigo, um freelancer ou o sobrinho do sócio que "entende de computador". Às vezes, o sistema é um arquivo Access com VBA, caso tratado em como migrar um sistema Access para a web. Ninguém fez nada de errado. O sistema nasceu pequeno, a pessoa certa estava ali, e a dependência foi crescendo sem que alguém decidisse por ela.
A resposta curta para quem tem um sistema dependente de um único programador: o objetivo não é trocar a pessoa, é tirar a empresa da posição de refém. Isso se faz em quatro movimentos, nesta ordem: colocar acessos, código e servidores em nome da empresa; produzir uma documentação mínima; trazer uma segunda equipe para conhecer o sistema; e combinar a transição com o programador atual, de forma respeitosa. O resto deste texto detalha cada passo.
O risco que só aparece quando a pessoa sai
Enquanto o programador está disponível, a dependência é invisível. Os chamados são atendidos, as mudanças saem, e o custo de ter uma única pessoa segurando tudo não aparece em nenhum relatório.
O risco se materializa de formas bem concretas:
- Saída sem aviso. Uma proposta de emprego melhor, uma mudança de cidade, um problema de saúde. A pessoa vai embora e leva o mapa mental do sistema.
- Conflito comercial. O freelancer pede um reajuste, a empresa discorda, e de repente o código está num repositório pessoal e o servidor numa conta que ninguém mais acessa.
- Indisponibilidade no momento errado. O sistema cai na véspera do fechamento do mês e o único que sabe reiniciar o serviço está de férias, sem sinal.
- Gargalo de evolução. Mesmo com boa vontade, uma pessoa só tem um limite de horas. As melhorias que o negócio pede ficam numa fila que nunca anda.
O ponto central é que a empresa assume um risco operacional sem ter decidido assumi-lo. Tratar o assunto antes da crise custa muito menos esforço do que tratá-lo depois, quando não há mais ninguém para perguntar.
Sinais de dependência excessiva
Responda com honestidade. Cada "sim" aumenta a exposição:
- O código-fonte fica no computador ou na conta pessoal do programador.
- O servidor, o domínio ou a conta de nuvem estão no CPF ou no e-mail dele.
- Ninguém mais sabe as senhas de produção, do banco de dados ou do provedor de e-mail transacional.
- Não existe documento explicando como o sistema é instalado, publicado ou restaurado.
- Os backups existem "em algum lugar", mas nunca foram testados por outra pessoa.
- Toda dúvida sobre uma regra de negócio ("por que o desconto é calculado assim?") termina em "pergunta para ele".
- Publicar uma nova versão depende de um procedimento manual que só ele executa.
- Não há contrato formal, ou o contrato não fala de propriedade do código nem de entrega em caso de encerramento.
Três ou mais sinais já justificam um plano. Os dois primeiros, sozinhos, já são urgentes, porque significam que a empresa não controla o próprio ativo.
Primeiro passo: acessos, código e servidores em nome da empresa
Antes de documentar ou contratar qualquer pessoa, a empresa precisa ter as chaves. Essa etapa é a mais sensível e a mais importante, e deve ser feita com transparência, não às escondidas.
O que precisa estar sob controle da empresa
| Item | Como deveria estar | Por que importa |
|---|---|---|
| Repositório do código | Numa organização da empresa (GitHub, GitLab ou similar), com o programador como membro | Sem código, não há manutenção possível por outra equipe |
| Conta de nuvem ou hospedagem | No CNPJ, com e-mail corporativo e cobrança da empresa | Quem controla a conta controla o sistema |
| Domínio e DNS | Registrado no CNPJ, com acesso de um responsável interno | Perder o domínio derruba site, sistema e e-mails |
| Banco de dados | Credenciais guardadas num cofre de senhas da empresa | Os dados são do negócio, não do fornecedor |
| Serviços de terceiros | Gateway de pagamento, envio de e-mail, certificado digital, APIs de nota fiscal | Muitos ficam no cadastro pessoal de quem configurou |
| Backups | Cópia em local da empresa, com restauração testada | Backup que ninguém restaurou é só uma suposição |
O caminho prático é criar as contas no nome da empresa e convidar o programador para elas, em vez de pedir que ele "passe as senhas". Ele continua trabalhando normalmente, só que dentro da casa da empresa. Profissionais sérios costumam receber bem esse pedido, porque ele tira deles uma responsabilidade que nunca deveria ter sido só deles.
Se o código atual nunca foi formalmente entregue ou o contrato é omisso, vale entender a questão de titularidade. Explicamos os pontos de atenção em propriedade do código-fonte no contrato. Em casos de dúvida jurídica, a recomendação é validar com um advogado antes de qualquer conversa mais dura.
Uma conversa, não uma auditoria
A forma de pedir faz diferença. "Estamos organizando a governança dos sistemas da empresa e queremos que tudo fique em contas corporativas, com você como administrador" é muito diferente de "queremos todas as senhas até sexta". O primeiro convida à colaboração. O segundo cria desconfiança e, às vezes, resistência.
Documentação mínima que vale produzir já
Não é preciso um manual de duzentas páginas. A documentação que reduz a dependência é curta, prática e focada no que outra pessoa precisaria saber no primeiro dia.
Priorize nesta ordem:
- Mapa do sistema. Quais partes existem (site, painel, aplicativo, rotinas agendadas), onde cada uma roda e como elas se conectam. Um desenho simples resolve.
- Como instalar e rodar localmente. Os passos para um desenvolvedor novo ter o sistema funcionando na própria máquina.
- Como publicar uma versão. O procedimento exato, incluindo o que costuma dar errado.
- Como restaurar um backup. Escrito e testado por alguém além do autor.
- Integrações externas. Com quem o sistema conversa (ERP, banco, transportadora, prefeitura), por qual meio e quais credenciais usa.
- Rotinas agendadas. O que roda sozinho à noite ou no fim do mês, e o que acontece se não rodar.
- Regras de negócio que só existem no código. Cálculo de comissão, política de desconto, regras de bloqueio de crédito. Basta uma lista com o comportamento atual, sem precisar justificar.
O programador atual é a melhor fonte para os itens 1 a 6. O item 7 costuma pedir uma conversa a três, com alguém da operação que usa o sistema todos os dias.
Uma boa prática é pagar por esse trabalho como entrega formal, com prazo e revisão. Documentação pedida "quando der tempo" não sai.
Trazer uma segunda equipe sem ruptura
Com acessos garantidos e o básico documentado, o próximo passo é ter mais alguém que conheça o sistema. Pode ser um desenvolvedor interno ou uma software house, ou as duas coisas. O importante é que o conhecimento deixe de existir em uma cabeça só.
Como fazer a entrada sem atrito
- Comece pela leitura, não pela mudança. A segunda equipe passa as primeiras semanas entendendo o código, rodando o sistema em ambiente separado e revisando a documentação produzida.
- Defina um escopo inicial pequeno. Correções simples ou melhorias de baixo risco, revisadas pelo programador original. Isso valida o entendimento sem expor a operação.
- Monte um ambiente de homologação. Se ele não existe, a segunda equipe pode criá-lo. Ninguém deveria testar mudanças direto em produção.
- Registre o que for descoberto. Cada dúvida respondida vira um trecho de documentação.
Nessa fase, é comum aparecerem problemas acumulados: bibliotecas desatualizadas, partes do código que ninguém ousa mexer, ausência de testes. Isso não é sinal de que o programador foi ruim; sistemas mantidos por uma pessoa sob pressão acumulam atalhos. A forma de enxergar e priorizar esse passivo está em dívida técnica explicada para gestores.
Se a situação já é de ruptura, ou seja, o programador saiu e não há como contar com ele, o roteiro muda: o foco passa a ser recuperar acessos e entender o sistema por conta própria. Tratamos esse cenário em como assumir um sistema legado sem documentação.
Transição combinada com o programador atual
A melhor transição é a que o próprio autor do sistema ajuda a fazer. Ele tem contexto que nenhuma leitura de código substitui: por que aquela tabela existe, qual cliente pediu aquela exceção, o que já foi tentado e não funcionou.
Critérios para uma transição saudável
- Objetivo claro e dito em voz alta. Diga se a ideia é dividir o trabalho, reduzir a dependência ou encerrar a relação em algum momento. Ambiguidade gera insegurança, e insegurança gera retenção de informação.
- Período de sobreposição. Um intervalo em que as duas partes trabalham juntas, com sessões de passagem de conhecimento gravadas. A duração depende do tamanho do sistema; para sistemas médios, costuma ser contada em semanas, nunca em dias.
- Entregáveis definidos. Documentação, acessos transferidos, sessões realizadas, dúvidas respondidas. Algo que dê para conferir no final.
- Remuneração pelo trabalho de transição. Pedir que alguém transfira o próprio conhecimento de graça é a receita para uma transição mal feita.
- Canal de dúvidas depois da saída. Mesmo após o encerramento, combinar um período em que ele possa ser consultado pontualmente evita bloqueios em situações raras.
O que evitar
- Trocar senhas sem avisar.
- Contratar uma nova equipe e apresentá-la como fato consumado.
- Usar a transição como forma de pressão numa negociação comercial.
- Encerrar o contrato antes de testar que a segunda equipe consegue publicar uma versão e restaurar um backup sozinha.
Muitos programadores que sustentam um sistema sozinhos há anos também carregam esse peso: não tiram férias de verdade e atendem chamados fora de hora. Feita com respeito, a proposta de dividir a carga costuma ser recebida como alívio, não como ameaça.
Contrato e governança para não repetir
Resolver a dependência atual é metade do trabalho. A outra metade é impedir que ela volte, com a mesma pessoa ou com o próximo fornecedor.
Cláusulas e práticas que ajudam
- Propriedade do código e dos entregáveis definida por escrito, com o repositório sempre na conta da empresa.
- Infraestrutura em nome da empresa desde o primeiro dia, para qualquer sistema novo.
- Documentação como entrega, não como favor: cada funcionalidade relevante vem com a atualização do documento correspondente.
- Obrigação de transição em caso de encerramento, com prazo e escopo definidos.
- Pelo menos duas pessoas com conhecimento de cada sistema crítico, seja dentro da empresa, seja no fornecedor.
Governança mínima do lado da empresa
- Um responsável interno pelos acessos, mesmo que não seja técnico. Ele não precisa saber programar; precisa saber onde estão as chaves.
- Um cofre de senhas corporativo, com revisão periódica de quem tem acesso a quê.
- Um teste de restauração de backup programado, executado por alguém diferente de quem configurou.
- Uma revisão anual simples: o sistema ainda depende de uma pessoa só? Se sim, o que mudou desde a última vez?
Checklist para começar esta semana
- Liste todos os sistemas críticos e quem sabe mexer em cada um.
- Verifique em nome de quem estão o repositório, o domínio, a hospedagem e os serviços de terceiros.
- Crie as contas corporativas que faltam e convide o programador para elas.
- Peça, como entrega remunerada, a documentação mínima descrita acima.
- Teste uma restauração de backup com alguém além do autor.
- Defina se e quando uma segunda equipe vai entrar, e converse sobre isso abertamente com o programador.
- Revise o contrato atual e corrija o que estiver omisso.
Perguntas frequentes
Quem é dono do código-fonte feito por um programador contratado?
Depende do contrato e do vínculo. A lei brasileira de software tende a atribuir à empresa o programa desenvolvido por empregado ou prestador contratado para essa finalidade, salvo acordo em contrário, mas contratos omissos geram dúvida. Por isso vale formalizar a propriedade do código-fonte por escrito e, em caso de conflito, validar com um advogado.
Como pedir o código-fonte do sistema ao programador sem criar conflito?
O caminho mais seguro é criar um repositório numa organização da empresa, como GitHub ou GitLab, e convidar o programador para trabalhar nele, em vez de pedir que ele envie arquivos ou passe senhas. Apresentado como organização da governança dos sistemas, o pedido do código-fonte tende a ser recebido com colaboração, não com resistência.
Quanto tempo leva a transição de um sistema para outra equipe?
Depende do tamanho do sistema, da documentação existente e da disponibilidade do programador atual. Para sistemas médios, o período de sobreposição entre as duas equipes costuma ser contado em semanas, nunca em dias. A transição só deve terminar quando a nova equipe conseguir publicar uma versão e restaurar um backup sozinha.
Vale a pena reescrever o sistema para não depender do programador?
Normalmente não como primeiro passo. Reescrever um sistema que funciona troca uma dependência conhecida por um projeto longo e arriscado. O caminho mais seguro é garantir acessos, documentar o essencial e trazer uma segunda equipe; a decisão de modernizar ou reescrever partes vem depois, com o sistema entendido por mais de uma pessoa.
Como a Pervian Tech trabalha transição de sistemas
Na Pervian Tech, uma transição começa pelo diagnóstico: levantamos onde estão código, servidores, domínios e credenciais, o que já está documentado e quais partes do sistema concentram o risco. Quando o programador atual está disponível, propomos um plano de passagem conjunto, com período de sobreposição e entregáveis claros, para que ele participe como parte da solução, não como obstáculo.
Esse trabalho faz parte do nosso serviço de arquitetura de software e, quando o sistema já pede mais do que manutenção, se conecta à modernização de sistemas legados, feita de forma incremental e sem parar a operação. Outros textos sobre o tema estão na categoria modernização.
O plano é sempre sob medida, e o investimento é definido sob consulta, depois de um diagnóstico inicial gratuito. Se o sistema mais importante da sua empresa depende de uma pessoa só, conte como ele funciona hoje.
Quer uma solução assim na sua empresa?
Cada projeto é desenhado sob medida para o seu processo, e o investimento é definido sob consulta depois de entendermos o contexto. O diagnóstico inicial não tem custo: descreva o cenário e respondemos em até um dia útil.
Falar com a Pervian Tech