Quando eu tinha oito anos, assisti a um documentário de montanhismo enquanto esperava a partida do críquete começar. Lembro -me de estar incrivelmente frustrado ao ver esses alpinistas subirem um rosto enorme, parando a cada poucos metros para martelar o que parecia ser unhas gigantes na montanha.
“Por que eles não escalam mais rápido?” Eu perguntei ao meu pai. “Eles estão perdendo tanto tempo com essas coisas de metallic!”
“Esses são âncoras de segurança, filho. Se eles caem, eles não querem cair de volta ao fundo.”
Achei essa lógica profundamente insatisfatória. Claramente, a solução period simples: não caia. Apenas suba mais rápido e com mais cuidado.
Trinta anos depois, depurando o código gerado pela IA às 2 da manhã no meu escritório de Chennai, finalmente entendi o que esses alpinistas estavam fazendo.
A corrida intoxicante do fluxo movido a IA
No mês passado, eu estava trabalhando em um projeto de análise de receita para meu gerente – o tipo de perfeccionista que percebe quando os slides do PowerPoint têm tamanhos de fontes inconsistentes. A tarefa parecia direta: fatie e corte nossa receita trimestral em várias dimensões. Normalmente, isso teria sido um período de três dias de consultas SQL, exportações de CSV e brigas com bibliotecas de gráficos.
Mas desta vez, tive meu assistente de IA. E period como ter um tremendous -herói de visualização de dados como meu amigo de codificação pessoal.
“Crie um gráfico de barras empilhadas mostrando receita trimestral por tipo de contrato”, digitei. Trinta segundos depois: um lindo gráfico de qualidade de publicação.
Eu estava no que os psicólogos chamam de “estado de fluxo”, sobrecarregados pela assistência da IA. Gráfico após gráfico materializado na minha tela. Por três horas gloriosas, fiquei completamente absorvido. Gerei dezessete visualizações diferentes, criei um painel interativo e até adicionei transições animadas que fizeram a dança de dados.
Fiquei tão preso no momento que o pensamento de parar para cometer mudanças nunca passou pela minha cabeça. Por que interromper esse belo fluxo?
Essa deveria ter sido minha primeira pista de que eu estava prestes a aprender uma lição muito cara sobre o valor das âncoras de segurança.
Quando a montanha desmorona
Às 1:47 da manhã, o desastre ocorreu. Pedi ao meu assistente de IA para “otimizar a paleta de cores para obter acessibilidade daltônica” em todos os meus gráficos. Foi uma solicitação razoável – o tipo de aprimoramento atencioso que torna o software program melhor.
O que aconteceu a seguir foi como assistir a uma demolição controlada, exceto que não havia nada controlado nisso.
A IA não mudou apenas cor. Ele reestruturou toda a minha biblioteca de gráficos. Ele modificou o pipeline de processamento de dados. Alterou a arquitetura dos componentes. Até mudou a estrutura do CSS ”para melhor conformidade com acessibilidade.”
De repente, meu lindo painel parecia ter sido projetado por alguém que tem uma discussão acalorada com o computador. Os gráficos se sobrepõem, os dados desapareceram e o esquema de cores agora se assemelhava a um diagrama médico de vários órgãos internos.
“Não há problema”, pensei. “Vou pedir para desfazer essas mudanças.”
Foi aqui que aprendi que os assistentes de IA, apesar de suas impressionantes capacidades, têm as habilidades de reversão de uma criança de três anos tentando descrever um ovo.
Passei as duas horas seguintes no que só pode ser descrito como uma negociação com um assistente digital bem-intencionado, mas totalmente confuso. Às 4 da manhã, desisti e reverti para a última versão comprometida do meu código – de seis horas antes. Três horas de visualizações brilhantes geradas pela IA desapareceram no equivalente digital daquela montanha que eu teria caído na criança de oito anos de idade.
A sabedoria da escalada lenta
Na manhã seguinte, durante o café e o tipo specific de sabedoria que vem de assistir ao insuficiência espetacular de seu colega, meu companheiro de equipe Mohan entregou seu veredicto.
“Você sabe o que fez de errado?” Ele disse. “Você esqueceu de usar Pitons.”
“Pitons?”
“Como os alpinistas das montanhas. Eles martelam aqueles picos de metallic na rocha a cada poucos metros e prendem sua corda de segurança. Se caírem, eles só voltam para o último Piton, não até o fundo.”
“Seus pitons são seus commits, seus testes, controle de versão. Toda vez que você obtém um recurso de trabalho, você martela em um piton. Teste, comprometa -o, verifique se pode voltar ao native exato se algo der errado.”
“Mas a IA foi tão rápida”, protestei. “Parar para se comprometer sentiu que iria quebrar meu fluxo.”
“O fluxo é ótimo até que você flua de fora de um penhasco”, respondeu Mohan. “A IA não entende sua corda de segurança. Ele apenas continua subindo cada vez mais, fazendo mudanças maiores e maiores. Você é quem precisa decidir quando parar e garantir sua posição.”
Por mais que eu odiava admitir, Mohan estava certo. Eu estava tão hipnotizado com a velocidade da IA que havia abandonado todas as boas práticas de engenharia de software program que conhecia. Nenhum compromisso incremental, nenhum teste sistemático, sem planejamento arquitetônico – apenas uma velocidade pura e imprudente.
A arte da impaciência estratégica
Mas isso não se trata apenas do meu desastre de codificação noturna. Esse desafio é assado sobre como os assistentes de IA funcionam.
Os assistentes de IA são incrivelmente bons em nos fazer sentir produtivos. Eles geram código com tanta rapidez e confiança que é fácil confundir a saída com os resultados. Mas a produtividade sem sustentabilidade é apenas uma maneira chique de criar dívida técnica.
Este não é um argumento contra o desenvolvimento assistido pela AA-é um argumento para melhorar. Os alpinistas daquele documentário não foram lentos porque eram incompetentes; Eles eram metódicos porque entenderam as consequências do fracasso.
A IA também não se importa com sua base de código. Não entende sua arquitetura, suas restrições comerciais ou sua dívida técnica. É uma ferramenta poderosa, mas não substitui o julgamento da engenharia. E o julgamento da engenharia, ao que parece, é em grande parte saber quando desacelerar.
O que nos leva de volta a esses alpinistas e sua abordagem metódica. No meu desastre no painel de receita, eu estava indo incrivelmente rápido, mas acabei chegando ao mesmo lugar em que comecei, seis horas depois e significativamente mais exausta. A ironia é que, se eu tivesse passado 15 minutos a cada hora cometendo código de trabalho e testes em execução, eu teria terminado o projeto mais rápido, não mais lento.
Minha experiência não é única. Em todo o setor, os desenvolvedores estão descobrindo que a produtividade movida a IA vem com custos ocultos.
O futuro é metódico
Estamos vivendo a mudança mais significativa na produtividade do desenvolvimento de software program desde a invenção de linguagens de programação de alto nível. Os assistentes de IA são ferramentas genuinamente transformadoras que podem acelerar o desenvolvimento de maneiras que pareciam impossíveis apenas alguns anos atrás.
Mas eles não eliminam a necessidade de boas práticas de engenharia; Eles tornam essas práticas mais importantes. Quanto mais rápido você pode gerar código, mais essential se torna para ter maneiras confiáveis de validar, testar e verificar esse código. Isso pode decepcionar a criança de oito anos em todos nós, que só querem subir mais rápido. Mas deve incentivar a parte de nós que deseja chegar ao cume. Construir software program com assistência de IA é uma atividade de alto risco. Você está gerando código mais rápido do que pode entender completamente, integrando bibliotecas que você não escolheu e implementando padrões que você talvez não tenha tido tempo de veter em plena.
Nesse ambiente, as âncoras de segurança não são sobrecargas – elas são infraestrutura essencial. O futuro do desenvolvimento assistido pela AA não se trata de eliminar as práticas metódicas que fazem com que a engenharia de software program funcione. Trata -se de melhorar neles, porque vamos precisar deles mais do que nunca.
Agora, se você me der licença, tenho algumas confirmações para acompanhar. E desta vez, estou definindo um cronômetro.