HeadlinesBriefing favicon HeadlinesBriefing.com

Por que construir software ainda é difícil: analogia

Hacker News •
×

É 13h do último dia do Hackathon, faltam 5 horas. Nas últimas 2 horas, não fizemos NENHUM progresso. Estou amaldiçoando o dia em que Lovable nasceu. Assim que conserto um problema, outro aparece, e nosso app mal é utilizável.

O começo foi promissor. Entrei com 2 amigos engenheiros e 3 recrutadores para construir o ‘Honey Crew’, um sistema inteligente de indicações. Escolhemos o Lovable para que a equipe de recrutamento pudesse mantê-lo depois. No primeiro dia, VOAMOS, completando 90% do projeto. No segundo dia, pequenas melhorias quebraram tudo. Bugs infinitos, lentidão, estresse. Os recrutadores não conseguiam entender o que deu errado.

Como assim? Uma alergia a ‘trabalho de infraestrutura’. Um líder sênior adorava dizer que tinha alergia a ‘refatoração’ e ‘trabalho de infraestrutura’. Depois dos LLMs, ele perguntou: “Você não pode simplesmente dar essa tarefa ao Chat GPT?” Muitos líderes não técnicos acham que os engenheiros exageram.

Um colega de trabalho resumiu assim: “Você escreve código, que são apenas palavras em uma linguagem que eu não entendo, certo? Como é que sempre fica mais complicado?” Tive dificuldade para explicar até quase comprar uma casa. Imagine se seu software fosse uma casa. Um empreiteiro disse: “Eu não recomendaria. É velha demais. Seria muito mais simples e barato destruí-la e construir do zero.” Ele poderia ter sido um ótimo engenheiro de software.

O processo de construção de casas é conhecido há milhares de anos, e ainda assim cada nova casa tem problemas diferentes. Por que você não pode simplesmente resolver o problema rápido? Seu telhado está vazando. Você pode colocar um balde no chão, ou encontrar a causa raiz. Por que você não pode simplesmente resolver este caso de uso específico, sem toda essa “infraestrutura”? Adicionar infraestrutura para suportar um 2º andar é MUITO mais barato agora do que depois.

Então é 13h do último dia do hackathon, e tudo parece quebrado. Paramos nossa febre de vibe coding e revisamos cuidadosamente uma área de cada vez até termos um fluxo simples demonstrável funcionando. Entenda, planeje, implemente. Muito mais lento que nosso ritmo do dia 1, mas pelo menos terminamos com um fluxo funcional e demonstrável.

Entidades principais: Empresas: Lovable