- Um staff engineer compartilha a experiência de testar por 6 semanas um workflow de desenvolvimento com IA usando o Claude Code
- A forma de pensar na IA como um ‘desenvolvedor júnior que não aprende’ é a chave para uma integração bem-sucedida
- A primeira tentativa em geral é 95% fracasso, mas vai sendo refinada até virar código útil por meio de iterações
- O problema da falta de contexto da IA é resolvido com arquivos de contexto por projeto (
Claude.md) e integração de ferramentas baseada em MCP - O papel do desenvolvedor migra de escrever código para resolver problemas e projetar arquitetura, o que aponta para um novo padrão de produtividade na era do uso de IA
Contexto e abordagem
- O autor antes escrevia todo o código manualmente, mas recentemente passou a deixar 80% do código com a IA, enquanto ele se concentra em arquitetura, revisão e gestão de desenvolvimento multithread
- Este texto não segue um tom cor-de-rosa de que "a IA lidera a revolução", e sim compartilha a confusão e a metodologia realista vividas ao integrar IA a um workflow real de desenvolvimento em produção
- Tratar a IA como um ‘desenvolvedor júnior que não aprende’ é o ponto central para usá-la com sucesso
O processo de mudança de paradigma no desenvolvimento
- Nos primeiros 5 anos, manteve um estilo de desenvolvimento baseado em livros e documentação de SDK
- Depois, nos 12 anos seguintes, migrou para o uso de conhecimento coletivo baseado em busca (Google)
- Nos últimos 18 meses, testou programação assistida por IA com o Cursor
- Nas 6 semanas mais recentes, viveu uma mudança brusca ao usar o Claude Code para delegação ampla à IA
- A adaptação ao Claude Code permitiu sentir ganho de produtividade em apenas algumas horas
Workflow real de produção com IA
- Ao trabalhar em código que vai para produção, ele usa a IA principalmente para “pensar”
- Gerar código perfeito de uma vez é impossível. A missão do engenheiro é encontrar a melhor solução para o problema
- Primeira tentativa (95% fracasso): etapa em que a IA acumula contexto do sistema e o desenvolvedor define melhor o problema, mas o código quase todo está errado
- Segunda tentativa (50% fracasso): a compreensão do contexto melhora e a abordagem fica mais concreta, mas ainda assim metade é inútil
- Terceira tentativa (código utilizável): após iteração e revisão, surge uma base de código realmente aproveitável e que pode ser melhorada depois
- Esse processo não é fracasso, mas sim um experimento deliberadamente planejado e um processo de otimização iterativa
O problema do contexto e as soluções
- A IA não consegue manter memória entre sessões, então existe a limitação de precisar repetir sempre as mesmas explicações
- Como solução, utiliza-se o arquivo
Claude.mdpara registrar decisões de arquitetura, padrões, links de documentação etc. - Com integração via MCP, ela se conecta a Linear, Notion, GitHub, codebase e banco de dados para fornecer contexto automaticamente
- Linear para contexto de tickets
- Notion ou Canvas para acesso à documentação
- Banco de dados não produtivo para verificar a estrutura dos dados
- GitHub para aproveitar o contexto de PRs anteriores
Operação com múltiplas instâncias do Claude em paralelo e estratégias centrais
- Várias instâncias do Claude são operadas em paralelo, com a sensação de gerenciar uma pequena equipe de desenvolvimento que perde a memória todos os dias
- Foram definidas estratégias como não paralelizar no mesmo domínio de problema, registrar todo o trabalho em ferramentas de gestão de projeto como o Linear e marcar claramente o código alterado manualmente por humanos
- A IA é usada ativamente não só para escrever código, mas também em code review: encontra rapidamente testes ausentes, bugs óbvios e pontos de melhoria, reduzindo trabalho repetitivo
- Pela política da empresa dele (Sanity), mesmo o código gerado por IA continua sendo responsabilidade final do engenheiro em termos de qualidade
- Em um ambiente onde o código gerado por IA e por humanos se mistura, o apego emocional diminui e se torna possível fazer um code review mais crítico e objetivo
Processo de code review em 3 etapas
- Escrever código é parte do trabalho, mas revisar código também é
- 1ª revisão: revisão inicial do Claude
- Detecta lacunas de cobertura de testes e bugs evidentes
- Economiza tempo da revisão por pares com sugestões de melhoria
- 2ª revisão: minha revisão
- Verifica manutenibilidade, arquitetura, lógica de negócio e integração
- Mesmo sendo código gerado por IA, o engenheiro tem a responsabilidade final
- 3ª revisão: revisão normal da equipe
- Ninguém sabe quais partes foram geradas por IA. Aplica-se o mesmo padrão de qualidade
- É possível fazer uma revisão objetiva sem apego emocional
- O menor apego emocional ao código escrito pela IA permite uma revisão mais objetiva
Agente acionado por Slack e testes de automação de trabalho
- Foi feito um piloto de agente integrado ao Slack com o Cursor: teve sucesso em ajustes simples de lógica de negócio, mas falhou em layouts CSS complexos
- No momento, ainda existem limitações como falta de suporte a pacotes NPM privados, commits sem assinatura e desvio do rastreamento oficial
- Ainda assim, há expectativa por um cenário futuro em que agentes processem tickets simples e repetitivos durante a noite
Custos e ROI
- O custo de uso do Claude Code representa um valor considerável pago pela empresa por engenheiro
- Ainda assim, o investimento gera ganho de produtividade
- Velocidade de entrega de funcionalidades 2 a 3 vezes maior
- Capacidade de gerenciar múltiplas frentes de desenvolvimento ao mesmo tempo
- Fim da necessidade de escrever manualmente código repetitivo e boilerplate
- No início da adoção de IA, é necessário um orçamento mensal de US$ 1000 a 1500 para engenheiros seniores, com expectativa de melhora na eficiência de custo conforme aumenta a proficiência
Problemas e limitações contínuos do desenvolvimento assistido por IA
- Problema de aprendizado: a IA não aprende com os próprios erros e repete os mesmos mal-entendidos; a solução é reforçar documentação rica e instruções explícitas
- Problema de confiança: a IA apresenta código errado com confiança, então a validação é indispensável, especialmente em áreas complexas de gerenciamento de estado, performance e segurança
- Problema de limite de contexto: codebases grandes ultrapassam a janela de contexto da IA, então é essencial quebrar o problema em partes menores e fornecer contexto claro
A mudança emocional: do código para o problema
- Abandonar a obsessão pelo código e migrar para um pensamento centrado na resolução de problemas
- Apagar rapidamente código errado, fazer revisões mais objetivas e reduzir a carga emocional do refactoring = mudanças positivas
- Há disposição para trocar imediatamente por ferramentas de IA melhores assim que aparecerem
- O essencial não é o “código em si”, mas o valor do problema que precisa ser resolvido
Conselhos sobre adoção de IA na perspectiva de engenharia
- 1. Permitir testes com várias soluções de IA: a equipe precisa usar ferramentas diferentes na prática para elevar sua capacidade operacional
- 2. Aplicar IA primeiro a tarefas repetitivas e simples: assim é possível esperar resultados rápidos
- 3. Reservar orçamento para tentativa e erro: no primeiro mês, é preciso aceitar a confusão
- 4. Redesenhar o processo de revisão: fortalecer as verificações de acordo com as características do código gerado por IA
- 5. Documentar de forma rigorosa: um bom contexto multiplica a produtividade
- Engenheiros que se adaptarem ao novo workflow com IA perceberão que ganharam uma nova faca afiada na caixa de ferramentas
- Engenheiros que abraçarem workflows com IA evoluirão para um novo papel, orquestrando múltiplos agentes de IA e focando em arquitetura, revisão e resolução de problemas complexos
Seu próximo passo
- Escolha uma funcionalidade pequena e bem definida,
- dê à IA três chances de implementá-la,
- e revise o resultado como se estivesse orientando um desenvolvedor iniciante
- E só. Não é preciso uma grande mudança nem reformular processos
- Basta uma funcionalidade, três tentativas e uma revisão honesta
- O futuro não é a IA substituindo desenvolvedores
- e sim desenvolvedores trabalhando mais rápido, criando soluções melhores e usando as melhores ferramentas
5 comentários
"Com um procedimento tão elaborado, acho melhor a própria pessoa escrever o código diretamente"
A postura de um líder de equipe que não delega trabalho aos membros e resolve tudo sozinho kkkkk
Parece que seria assim, mas não é nem um pouco. Nos últimos 6 meses, fiz experimentos iterativos de pequena e grande escala.
Comentários do Hacker News
Fiquei com a impressão de que é importante dar instruções levando em conta os limites cognitivos do agente; por exemplo, em vez de pedir mudanças grandes, é melhor montar um plano e mandar executar em pequenas etapas, testando cada uma no processo. Em etapas complexas, também ajuda pedir que ele escreva código para visualizar o problema e a solução. Se falhar em alguma etapa, o mais eficaz é adicionar logging ao código, salvar os logs, testar e revisar os logs repetidamente para descobrir a causa. Se você fizer o modelo entender, a partir do design do código existente, quais partes precisam ser alteradas, dá para evitar que a IA enfie tudo em um único arquivo. Vi blogs de várias pessoas compartilhando esse tipo de dica e, embora ainda não seja perfeito, pelo menos minha experiência não chega a ter 95% de resultados inúteis.
Acho que já passou da hora de esse tipo de artigo trazer exemplos concretos de tarefas em que "agentes trabalham de forma distribuída", em vez de só refatorações simples ou boilerplate de React. Dizem que a Sanity tem funcionalidades pedidas há muito tempo e que os agentes paralelizam uma parte significativa do trabalho. Mas é difícil acreditar em afirmações do tipo "80% do código foi escrito por um júnior que não aprende".
O autor disse que houve ganho de produtividade, mas também repetiu as limitações normalmente apontadas, então no fim parece que não disse muita coisa de concreta. Tenho certeza de que ninguém vai delegar desenvolvimento de funcionalidades centrais ao Claude Code.
Evitar boilerplate é parte do trabalho do desenvolvedor e também uma abstração para facilitar a vida do seu eu do futuro. Se você gerar boilerplate com IA, quando precisar alterar todas as instâncias depois, o inconveniente pode ser ainda maior; e, se esse boilerplate espalhado ficar inconsistente em vários pontos, o problema só cresce.
O interessante é que essa pessoa tenta usar IA para a implementação básica, enquanto eu faço o contrário: sempre construo a base manualmente primeiro. Assim entendo com precisão a estrutura e o funcionamento, e depois deixo para a IA só o boilerplate repetitivo. A IA é boa em seguir padrões, mas é muito fraca em projetar arquitetura.
O salário-base do desenvolvedor já é alto, então questiono essa ideia de ainda investir mais US$ 1 mil a 1,5 mil por mês em problemas marginais cujo ganho de produtividade talvez nem venha. Pelo menos meu chefe não gostaria disso.
Não entendi muito bem o modo de uso de MCP (Multi-Channel Processor) citado no texto. O Claude code consegue chamar quase qualquer serviço de terceiros via shell usando
curl,ghetc., então usar MCP pode até trazer problemas (por exemplo: o servidor MCP do Linear corta issues quando ficam longas demais, enquanto uma chamada direta à API não tem essa limitação). Fico pensando se deixei passar alguma coisa.A Anthropic publicou uma entrevista com Boris Cherny (criador do Claude Code), compartilhando ideias sobre o futuro do agentic coding e formas de uso do Claude Code: https://youtu.be/iF9iV4xponk
Ao ver a menção a um "orçamento de US$ 1000-1500/mês", pensei se não seria um caso de usar apenas chave de API e não conhecer planos mensais como o claude MAX. Por US$ 100-200/mês, me parece suficiente, desde que não seja só para ficar repetindo consultas sem parar.
Se você pretende usar Claude ou qualquer outro agente, recomendo fortemente fazer logging. Quando você coloca o arquivo de log inteiro na IA, aumenta a chance de conseguir organizar o problema, obter uma resposta ou avançar para a próxima etapa. Logging realmente é tudo.