Ask HN: Você se sente confortável em admitir que usa IA?

Ask HN: Do you feel comfortable admitting that you use AI?

Ask HN: Você se sente confortável em admitir que usa IA?

A IA tomou a indústria de assalto, e naturalmente isso gera muita resistência. Vejo essa resistência se expressando na forma de um certo sentimento de superioridade por aqueles que se recusam a usá-la, e um sentimento de vergonha ao admitir usar assistência de IA para escrever código. No entanto, eu argumentaria (mesmo sem dados para embasar) que a maioria dos desenvolvedores ou escolhe usá-la ou é obrigada por seus empregadores. Não posso prever o futuro, então não sei se isso é um momento ASM vs. C, ou se aqueles que cedem à conveniência vão se arrepender anos depois, quando suas habilidades atrofiarem. Eu pessoalmente uso e me sinto mais produtivo do que nunca. Dito isso, não posso deixar de sentir um pouco de vergonha ao admitir isso. Ouvir tantas pessoas dizerem que código gerado por IA é inutilizável e que corrigi-lo leva mais tempo do que escrevê-lo à mão me faz pensar se elas estão trabalhando em um campo muito específico ou se eu apenas tenho problemas de habilidade. Ou talvez ambos. Quanto de IA você está usando? Se usa, você se sente confortável em admitir isso?

Eu pessoalmente adoro usar IA. Isso torna minha codificação mais produtiva do que nunca. Sobre a questão do 'slop' gerado por IA, honestamente, uma ferramenta que eu uso é impecável - você pode encontrá-la no Github. Ela transforma seu código 'slop' genérico de IA em algo bonito. Pessoalmente, me sinto muito confortável em admitir que uso IA - parece apenas o caminho melhor a seguir!
No meu trabalho, há pessoas em todo o espectro de 'adoção de IA'. Por um lado, um certo engenheiro sênior passou um mês tendo uma IA escrevendo milhares de linhas de código para um recurso. A IA escreveu um milhão de testes, ferramentas para visualizar dados, tudo. Mas ele ainda não entregou o código ao repositório principal, pois sabe que ninguém revisará a bagunça que a IA escreveu, e ele nem consegue entendê-la adequadamente para defendê-la na revisão. Temos revisões humanas como parte do nosso processo, e o colega está 100% travado nisso. Eu, por outro lado, não peço à IA para escrever código para mim, mas uso IA para me explicar conceitos, rastrear bugs, revisar meus patches, etc. Às vezes ela me mostra formato de patch, mas prefiro que ela não toque no meu sistema de arquivos. Trato-a como um funcionário sênior cuja tarefa é estar lá e me ajudar. Tem sido ótimo. Definitivamente sou mais produtivo, estou codificando mais rápido e o futuro é sustentável para mim. Ter ela escrevendo coisas para mim seria definitivamente mais rápido, mas quero usar a IA como uma ferramenta para me ensinar o que fazer, não fazer por mim. Há também funcionários que ainda trabalham no modelo pré-IA. Sempre que a IA é mencionada, eles automaticamente assumem que ela pode estar alucinando e tal. Para esses, nunca menciono IA, porque isso simplesmente descarrila a conversa para um ponto inútil.
Por que envergonhado? Uma pergunta mais pertinente deveria ser sobre o nível de envolvimento/experiência do usuário de LLM na criação/melhoria do software. Eles resolveram todas as decisões de design, abordagens, restrições, ou deixaram o LLM correr solto? Eu tenho zero interesse em TDD, codificação e outros aspectos (já que fiz muito e isso não me interessa mais), no entanto, eu controlo todos os aspectos do processo de software, qualidade, desempenho e fluxos de integração para produzir software de qualidade. Outra pessoa codificando de maneira sustentável não muda a resposta para mim.
Depois de mais de 2 anos usando agentes de LLM para escrever código para mim, tive que recuperar minhas habilidades de engenharia. Era tão fácil criar 50+ projetos com uma UI elegante, mas eu não conseguia explicar nenhum deles. Era mais fácil começar um novo projeto do zero do que mergulhar no código para entender o que estava acontecendo. A pior parte era que quando meus tokens acabavam, minha produtividade era zero. Eu nem era mais engenheiro, apenas um 'prompter' glorificado. Ultimamente mudei como trabalho, ainda uso, mas como um autocomplete sofisticado, um depurador, faço com que ela rascunhe coisas para mim, depois a interrogo, faço com que ela justifique cada linha de código que escreve, até eu entender o código eu mesmo, a ponto de poder escrevê-lo se quisesse. Pessoal, ouçam-me: criar um recurso inteiro de uma vez pode parecer que você está com produtividade 10x, mas uma vez que o código que ela gera se torna complexo, até o agente não consegue lidar com a complexidade que ele mesmo criou. As grandes empresas de LLM comercializam o produto como se codificar acabou, apenas torne-se um 'prompter' e pague nossas taxas de assinatura. Costumávamos ser pagos para escrever código, agora pagamos para escrever código.
Claro, eu apenas assumo a responsabilidade pelo resultado. Leio tudo e faço alterações o tempo todo antes de enviar, mas isso me poupa muito tempo em mergulhar no código e encontrar pontos de entrada que não vejo a mim mesmo voltando atrás.
Na minha opinião, é como perguntar: você se sente confortável em admitir que usou uma calculadora em vez de fazer cálculo mental?