O custo da rotatividade
Toda escolha de tecnologia é uma aposta no futuro. Algumas apostas envelhecem bem — HTML semântico, aprimoramento progressivo, separação clara de responsabilidades. Outras não — padrões específicos de framework que aprisionam, ferramentas de build que são abandonadas, abstrações que resolvem problemas que você nunca teve de fato.
O custo de escolher mal não é apenas a migração. É o atrito acumulado de trabalhar contra as suas ferramentas em vez de com elas. É a documentação que não corresponde à versão que você está rodando. É a sobrecarga mental de manter padrões que faziam sentido três anos atrás, mas já não fazem.
O que envelhece bem
Na minha experiência, as coisas que envelhecem bem compartilham traços em comum:
- São entediantes. Tecnologias entediantes são entediantes porque já foram testadas. Os bugs são conhecidos. Os casos extremos estão documentados. A comunidade tem respostas.
- São simples. Não fáceis — simples. Têm superfícies pequenas. Fazem uma coisa e a fazem bem. Compõem-se com outras ferramentas em vez de tentar ser a pilha inteira.
- Respeitam os padrões. HTML, CSS, HTTP, URLs — essas são as paredes estruturais da web. Construir diretamente sobre elas, em vez de abstraí-las, tende a produzir sistemas que duram.
- São explícitas. Magia é divertida até você precisar depurá-la. Código explícito, fluxo de dados óbvio e comportamento previsível valem mais do que abstrações engenhosas que economizam algumas teclas.
A simplicidade rende juros compostos
Um sistema simples que você entende por completo vale mais do que um sistema sofisticado que você entende parcialmente. Isso é verdade em todas as escalas — de uma única função a uma arquitetura inteira.
Simplicidade não é escrever menos código. É escrever código em que cada linha está ali por uma razão que você consegue articular. É escolher a abordagem com o menor número de partes móveis que ainda resolve o problema. É resistir ao impulso de otimizar para requisitos futuros hipotéticos.
A recompensa dessa disciplina é composta. Sistemas simples são mais fáceis de estender, mais fáceis de depurar, mais fáceis de transferir e mais fáceis de raciocinar sob pressão. Envelhecem melhor porque há menos coisas para dar errado.
A prática
Construir para durar é uma prática, não uma lista de verificação. Significa fazer uma pausa antes de adicionar uma dependência. Significa perguntar se a abstração vale a indireção. Significa escolher legibilidade em vez de esperteza, e estabilidade em vez de novidade.
Não é a abordagem mais empolgante. Mas é a que permite gastar seu tempo no trabalho que importa em vez de brigar com as suas ferramentas.