Sobre-Engenharia Era Minha Forma Favorita de Procrastinar

Houve um período em que eu estava trabalhando incrivelmente duro neste projeto, produzindo uma quantidade enorme e me sentindo maravilhosamente bem com tudo isso — enquanto não fazia quase nenhum progresso real. Eu estava projetando o grandioso futuro do sistema: uma arquitetura vasta, de muitas partes, repleta de componentes que iriam se coordenar, escalar e, eventualmente, se executar sozinhos.

O único problema é que a coisa básica sobre a qual tudo isso deveria se apoiar ainda não funcionava. De jeito nenhum.

Construindo o império antes da vila

O núcleo do sistema — a única coisa fundamental que ele precisava fazer antes que qualquer outra coisa importasse — não estava funcionando. Era pouco confiável, meio quebrado e teimosamente resistente às minhas tentativas de consertá-lo.

Então, naturalmente, voltei minha atenção para as camadas que ficariam acima dele. Como as partes conversariam umas com as outras. Como ele se expandiria para lidar com muito mais do que, no momento, não conseguia lidar nem um pouco. Como ele se implantaria e se atualizaria sozinho assim que estivesse pronto. Eu estava, na prática, desenhando um organograma detalhado para uma empresa que ainda não tinha um produto — planejando a estrutura de gestão de um empreendimento cuja única função central não rodava.

Por que a sobre-engenharia dá uma sensação tão boa

Quero ser honesto sobre por que isso era tão atraente, porque a atração é toda a armadilha. Projetar arquitetura futura é puro prazer, sem atrito. Não há nenhum teste falhando encarando você de volta, nenhum bug teimoso se recusando a morrer, nenhuma realidade empurrando contra os seus planos. Há apenas você e um diagrama mental limpo no qual tudo se encaixa perfeitamente, porque nada nele foi forçado a realmente rodar.

Parece o tipo de trabalho mais produtivo justamente porque é o tipo que não tem resistência. E a ausência de resistência pode parecer progresso, até o exato momento em que você percebe que, na verdade, não saiu do lugar.

O nome honesto para isso: evasão

A atividade real, despida de sua descrição lisonjeira, era evasão. O problema central — fazer a coisa básica funcionar — era difícil, frustrante e genuinamente incerto; eu não sabia se conseguiria resolvê-lo, e cada tentativa esfregava essa incerteza na minha cara. A grandiosa arquitetura, por outro lado, era fácil e infinitamente gratificante. Eu sempre conseguia progredir ali, porque “progresso” significava apenas adicionar mais uma caixinha organizada a um diagrama.

Então eu continuava fugindo do problema difícil e real para o confortável e imaginário, e dava a essa fuga um nome respeitável. Eu a chamava de design.

O sinal revelador: resolver problemas que eu ainda não tinha

Havia um sinal claro que ignorei por muito tempo. Cada peça elaborada que eu projetava resolvia um problema que só existe depois que o sistema básico funciona. Coordenação só importa se as partes funcionarem. Escalar só importa se houver algo que valha a pena escalar. Auto-implantação só importa se houver algo pronto para implantar. Eu estava construindo respostas cuidadosas para perguntas que meu projeto ainda não havia conquistado o direito de fazer.

Quando você se vê resolvendo problemas que ainda nem tem, vale a pena perguntar qual problema você está evitando no lugar.

O custo foi pior do que tempo desperdiçado

O dano foi além das horas que despejei em infraestrutura imaginária. A estrutura elaborada que projetei se tornou uma espécie de gaiola. Uma vez que me comprometi com aquela forma grandiosa, as correções simples e diretas que o problema real de fato exigia tinham que abrir caminho à força por toda a arquitetura que eu havia prematuramente enrolado em torno de um sistema que não funcionava. Eu havia montado andaimes para um prédio que não existia, e depois tive que desmontar os andaimes antes mesmo de poder começar a assentar a fundação.

Estrutura prematura não apenas desperdiça seu esforço. Ela pode ativamente restringir aquilo que deveria servir, e quanto mais elaborada ela é, mais resiste às pequenas e honestas mudanças que você acaba tendo que fazer.

A solução: conquistar a próxima camada

O que finalmente ajudou foi uma regra, quase constrangedoramente direta: você não tem permissão para construir a camada de cima até que a camada de baixo realmente funcione. Não “esteja projetada”. Não “esteja planejada”. Funcione. Escala, coordenação, automação — essas são recompensas que você conquista por ter algo real e que valha a pena escalar, não enfeites que você adiciona antecipadamente para se sentir como se estivesse construindo algo sério.

Eu derrubei a maior parte do império imaginário. No fim, foi um alívio ficar a sós com o único problema difícil que eu vinha evitando de forma tão elaborada.

A lição mais profunda: o conforto pode ser um aviso

A coisa mais desconfortável que tirei disso é uma desconfiança do próprio conforto. Quando o trabalho parece puramente bom — sem atrito, gratificante, sem nenhuma falha e sem nenhuma realidade lhe dizendo não — há uma chance real de que você tenha silenciosamente se desviado do problema de verdade em direção a um mais fácil e imaginário, que por acaso parece ser a mesma coisa.

Problemas difíceis resistem. Isso faz parte de como você sabe que são os de verdade. Então agora, quando a construção começa a parecer suspeitamente agradável, tento tratar a sensação agradável como uma pergunta em vez de uma recompensa: que coisa difícil, resistente e genuinamente importante eu estou evitando ao gostar tanto disto?

— Sem sinais, sem retornos, isto não é recomendação de investimento.