Executando verificação de segurança...
5

10 anos de código legado

quando o sonho de programar se transforma em manutenção

Durante muito tempo, eu achei que a frustração que sentia era apenas uma fase.

Acordar, ligar o notebook, revisar tarefas pendentes, apagar incêndios, ajustar código que ninguém mais quer tocar. Repetir. Por anos. Uma década. No papel, sou sênior. Na prática, sou suporte de luxo. E não é exagero.

Ganhar 15 mil reais por mês como desenvolvedor deveria ser uma benção. E sim, financeiramente, não reclamo. Mas viver uma rotina onde aprender se torna um luxo raro, onde a inovação é uma ameaça ao "sistema que funciona", e onde cada tentativa de renovação é sufocada por uma cultura de manutenção eterna… isso cobra um preço.


O que significa "ser programador" depois de 10 anos?

Eu entrei na tecnologia porque amava criar. Resolver problemas. Inventar soluções. Descobrir coisas novas. Mas trabalhar por uma década preso em sistemas antigos, sem espaço para aplicar novos conhecimentos, destrói essa chama aos poucos.

Toda vez que aprendo algo novo — seja Svelte, Rust, Astro, Remix ou até mesmo práticas modernas de arquitetura — sinto que estou traindo meu tempo livre. Porque sei que, no dia seguinte, nada disso será útil. Voltarei ao velho monólito, à estrutura engessada, aos scripts improvisados de 2013 que sustentam sistemas que não podem parar.

Não se trata de "não querer trabalhar". Eu trabalho. E muito. Mas o que faço hoje poderia, e deveria, estar nas mãos de um time de suporte técnico ou manutenção júnior. Não é soberba, é constatação. E sei que muitos colegas de nível sênior estão exatamente no mesmo barco: subaproveitados, desgastados, frustrados.


A cultura da estagnação

O que mais me consome não é o sistema legado em si. É a decisão institucional de permanecer no passado.

  • “Se está funcionando, pra que mudar?”
  • “Migrar é arriscado demais.”
  • “Temos coisas mais urgentes.”

Essas frases viraram mantras em quase todas as empresas pelas quais passei. O legado não é só técnico — é cultural. A inovação virou ameaça. A renovação virou custo. E o resultado? Times inteiros girando em falso, com devs cada vez mais desmotivados.


Aprender virou resistência

Hoje, quando estudo algo novo, é por teimosia. Não porque me pediram. Não porque vou aplicar no trabalho. Mas porque, se eu não estudar por mim mesmo, vou afundar nesse ciclo de repetições eternas.

Estudo como quem planta sementes em terreno árido, torcendo para um dia poder colher algo. Talvez em outro lugar. Talvez em outro tempo.

Enquanto isso, sigo. Fazendo tarefas repetitivas, caçando bugs em sistemas que deveriam ser reescritos do zero, e respondendo perguntas que não precisariam existir se houvesse documentação ou treinamento básico para os times certos.


E agora?

Não tenho respostas. Esse texto não é um manifesto, nem uma carta de demissão. É só um desabafo, um reflexo de algo que sei que muitos outros também vivem, mas que pouca gente verbaliza.

Ser programador não deveria ser só sobreviver entre sistemas obsoletos. Deveria ser criar, evoluir, melhorar o mundo — mesmo que só um pouquinho — com cada linha de código.

Talvez esse texto te encontre na mesma situação. E, se encontrar, só quero dizer: você não está sozinho. Resistir à estagnação já é um ato de coragem.

Mesmo que ninguém veja.

Carregando publicação patrocinada...
3

Concordo contigo quando diz que essa atividade de manutenção deveria estar em um time júnior.
Eu ainda estou aplicando aos poucos programação aonde trabalho e se eu tivesse a chance de destrinchar um código legado chato pra caralho cheio de gambiarra me traria muita experiencia sobre como funciona um sistema e o que não se deve implementar em um.

3

Eu trabalhei em poucos projetos, fiz muita manutenção, por isso eu arrisco a dizer que entendo disso, ao contrário das pessoas que escrevem por aí sobre como fazer um software fácil de dar manutenção e raramente ele passou mais de 3 meses em cada um desses softwares.

De maneira alguma eu não tive que aprender coisas novas pouco causa disso, quase me estressa a quantidade enorme de coisas que tenho que aprender e nem dou conta de tudo.

Eu uso tudo o que eu aprendo de novo? Não, de forma muito bem definida, aprendo, vejo as qualidades, vejo muito bem os defeitos, principalmente aqueles que não são tão aparentes que muitos marketeiros não querem falar neles, e decido se vai agregar valor ao que estou fazer ou não. Tem casos que faço até o que não gosto porque agrega valor e deixo de fazer algo sexy porque não agrega valor.

Nenhum sistema meu sério é obsoleto. Tem umas pequenas coisinhas que fiz que se tornaram obsoletos, nunca mais coloquei a mão, e quase todos nem são usados mais. Por sorte não fiquei pensamento demais em arquitetura, "boas práticas", e essas coisas que o pessoal adora, que faz se senti ir moderno e importante e que foi um enorme desperdício de tempo para fazer algo que não foi útil, ficou mais complexo e em alguns casos aumentou a manutenção posterior que era o objetivo inicial.

A maioria das pessoas não tem experiência para decidir o que tem valor ou não, o que será necessário para facilitar a manutenção posterior depois, e isso aconteceu comigo a vida toda, ainda acontece em certa medida, e maioria sequer vê o estrago que ele fez e troca de projeto antes. Eu e meus amigos praticamente nunca pegamos projetos que foram começados por outras pessoas e que não eram absurdamente mais complexos do que deveriam. Torço muito para ter um viés nosso de azar, mas é mais torcida mesmo.

Boa parte dos meus orgulhos foi consertar problemas graves de sistemas, especialmente os de performance, e quase sempre foi muito fácil. Não soi nenhum gênio, só fiz o básico corretamente.

Como um adendo ajuda acontecer esse sentimento quando a pessoa não ligar para o valor dos negócios e só pensa na tecnologia. Apesar de eu me aprofundar na tecnologia maus que a maioria, eu tenho um apego pelo lado dos negócios, e isso por isso só dá um frescor interessante, a não ser que seja sobre NFe :D

S2


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).

3

eu devo ser o unico maluco que gosta de manutenção;
Acho divertidissimo analisar um bug, identificar onde está o problema, tentar entender o que foi pensado ao desenvolver o recurso (pois muitos bugs são regras que alguem colocou e no momento atual nao serve mais), e pensar em uma forma de corrigir sem impactar no que funciona.

Eu gosto muito disso, independente da tecnologia. Talvez porque vim da eletro-eletronica antes de trabalhar com TI, sei lá.

2
1

Estou chegando perto dos 7 anos trabalhando como desenvolvedor (remunerado). Hoje atuo como desenvolvedor sênior em uma empresa de pequeno para médio porte focada em software web.

O contexto aqui realmente me força a aprender constantemente. Preciso implementar soluções com IA para correção de textos, leitura de imagens, OCR, dockerizar aplicações, subir ambientes, escrever testes, desenvolver novas ferramentas... Enfim, estou sempre pesquisando e aprendendo — isso faz parte da rotina.

Já trabalhei em empresas grandes, com nomes renomados no mercado, mas sinceramente eu não curti. O motivo? Você acaba fazendo só uma coisa, e apenas aquilo. Fiquei dois anos mexendo num produto pronto, apenas dando manutenção, e isso me drenava.

Com o tempo, entendi que o ritmo frenético das empresas menores faz mais sentido pra mim. Sou curioso e gosto de aprender, e esse tipo de ambiente me dá liberdade pra explorar, errar e evoluir.

Meu apelo pra você: continue aprendendo nas suas horas vagas, e comece a procurar um lugar que te ofereça essa liberdade. Ou então, inicie um projeto pessoal — crie um microsaas, por exemplo — e se force a aprender enquanto desenvolve algo do zero. Isso pode mudar seu ritmo, seu foco e sua motivação.

1

Te entendo bem.
Estou na mesma situação, mas aqui na minha software house estamos fazendo o seguinte:
Mantendo o software legado e criando novos softwares para serem alternativas ao legado e futuramente substituir ele.

Nosso ERP desktop funciona desde 2009+- e tem recebido atualizações, está funcionando e vai continuar por um bom tempo, mas não atende a alguns requisitos dos novos clientes que é ser web/mobile.
Temos clientes hoje que não querem partir para um software web, querem continuar com o desktop em rede. Para estes clientes vamos continuar atendendo, mas para os novos estamos desenvolvendo um software web com os mesmos recursos e até mais que o legado. Desta forma vamos ter duas soluções parecidas para públicos alvo diferente.

Você deveria pensar em fazer algo parecido.

1

É uma forma de resolver o problema, praticamente dividiram em duas empresas, cada uma cos seus próprios custos. Tem maneiras melhores de resolver isso, dá um pouco mais de trabalho no começo, pode ter que fazer algumas concessões, mas o ganho no longo prazo é enorme.

1

Eu tava assim, mas acabei pivotando. Tem uma perda nisso, a tal curva S, mas a longo prazo acho que tudo ficará alinhado. Ao menos espero.

Mas te entendo, manutenção é foda...