Executando verificação de segurança...
3

Como vocês estão usando IA no desenvolvimento sem perder o raciocínio?

Nos últimos tempos, muita gente tem falado sobre IA na programação, desde autocomplete mais inteligente até ferramentas que entendem o contexto do projeto inteiro. O Código Fonte TV já trouxe algumas discussões interessantes sobre isso, principalmente sobre IA programando com mais contexto e também sobre o impacto que isso pode ter no aprendizado de quem desenvolve.

Queria abrir uma conversa mais prática com a galera que trabalha ou estuda desenvolvimento web, mobile, apps, games, automações e programação no geral:

Como vocês estão usando IA no dia a dia sem sentir que estão ficando dependentes dela?

Porque uma coisa é usar IA como apoio para ganhar produtividade, revisar código, tirar dúvidas, entender erros, gerar ideias ou explorar soluções. Outra coisa é simplesmente acreditar no que ferramentas como Codex, Claude ou qualquer outra IA entregam, delegando tudo para elas sem validar a lógica, a arquitetura, a regra de negócio, a performance, a segurança ou a manutenção depois.

Algumas perguntas para puxar a discussão:

  • Em quais etapas do desenvolvimento a IA realmente ajuda vocês?
  • Vocês usam mais para estudar, debugar, escrever código, revisar PR, criar documentação, pensar arquitetura ou gerar ideias?
  • Em projetos web, mobile, apps ou games, onde a IA mais economiza tempo?
  • Como vocês validam se o código gerado faz sentido?
  • Vocês têm alguma regra pessoal para não perder prática?
  • Acham que IA acelera o aprendizado ou pode atrapalhar se for usada do jeito errado?
  • Para quem já trabalha na área: o uso de IA mudou a forma de codar, pesquisar ou resolver problema?

A ideia não é discutir se IA vai substituir dev ou não, mas entender como usar bem a ferramenta sem abrir mão da base: lógica, fundamentos, leitura de código, debugging, documentação, arquitetura e tomada de decisão.

No fim, talvez a questão seja menos “usar ou não usar IA” e mais “como usar IA sem deixar de pensar como dev”.

Como vocês estão equilibrando isso?

Carregando publicação patrocinada...
2

Post muito pertinente @cassiocsantana.

Respondendo as suas perguntas:

Em quais etapas do desenvolvimento a IA realmente ajuda vocês?

Apenas quando me deparo com problemas que não consigo resolver apenas com a informação de erro. Eu uso IA meramente para pesquisa, pois isto reduziu a quantidade de abas abertas no meu navegador para uma única. Modelos como Claude pesquisa em dezenas, senão sentenas de fontes ao mesmo tempo. Manualmente demandaria muito tempo. Uma vez que encontrou uma fonte que ela julgou interessante para a resolução do meu problema, eu mesmo leio diretamente da fonte.

Vocês usam mais para estudar, debugar, escrever código, revisar PR, criar documentação, pensar arquitetura ou gerar ideias

Eu uso para validar output repetido. Eu estou criando um projeto que me retorna cerca de 512 bytes (comunicação via UDP), e as vezes eu precido validar este bytes contra outros bytes. As vezes a nível bit depois de mascar usando bit-wise.

Eu peço recomendações de projetos para eu criar. Ele me passa os requisitos e pronto. Normalmente acaba encontrando ótimos projetos desde que o modelo faz diveras pesquisas ao mesmo tempo.

Em projetos web, mobile, apps ou games, onde a IA mais economiza tempo?

Eu tenho mais experiência com web, porém ultimamente eu tenho trabalhado apenas em projetos de baixo nível. A parte que IA mais ajuda é recomendado crates mais utilizadas para determinado problema (eu uso rust para quase tudo). Tirando isso, o mesmo para a pergunta anterior.

Como vocês validam se o código gerado faz sentido?

Eu nunca peço código pronto. Se ela me entrega código. Eu uso apenas como base, não para copiar e colar, mas para pensar criticamente sobre o problema. Em nenhum momento eu uso o código que IA me entrega.

Se eu tivesse que validar, provavelmente seria um pedaço de código que processa algo muito grande. Este tipo de código é deterministíco, então se o resultado é o esperado, provavelmente esta correto. Ou seja, o único cenário que eu considero validar é onde isso me entrega alguma automoção. Fora isso eu nem utilizaria.

Vocês têm alguma regra pessoal para não perder prática?

Programadores tem que codificar. Mesmo que seja código merda, o importante é manter-se codificando. Não interessa a linguagem. Se você se mantém codificando é de certo que irá se deparar com problemas, e um bom dev resolve problemas.

Para quem já trabalha na área: o uso de IA mudou a forma de codar, pesquisar ou resolver problema?

Sim, mudou e simplificou algumas coisas. Porém esta gerando uma cultura onde muitas pessoas simplesmente da pull-request com código lixo. Enfim, abriu mais espaço para quem nunca gostou de programar passar a gerar porcaria.

Para os bons devs, este multiplicou produtividade.

Acham que IA acelera o aprendizado ou pode atrapalhar se for usada do jeito errado?

Se utilizado de forma correta, acelera. Nunca delegue para IA, apenas peça ajuda para entender quando realmente você já entendeu de tudo. Peça analogias e coisas do tipo. Resumindo, busque trabalhar junto com IA para alcançar o resultado ao invés de pedir isto.

1

Minha resposta honesta é: IA destrói sua capacidade de raciocinar.

Na semana em que descobri o Claude Code em novembro do ano passado, eu quase não consegui dormir. E não sou o único. O Armin Ronacher, criador do Flask, descreveu Claude Code como “catnip for programmers” por que passou pela mesma coisa. O Simon Willison repetiu essa frase ao falar de agentic coding. É exatamente essa sensação: você fica energizado, confuso, viciado em transformar ideias em código funcional.

Eu comecei com o plano de 20. Durou 15 minutos. Nem pestanejei e passei para o de 200. Durou três dias e eu estourei o limite da semana. Ainda tentei me segurar. Aí teve um dia em que simplesmente não consegui: fui lá e paguei o de 1000. Droga pesada, passe longe se puder...

Desde então eu uso IA pesada para programar, com fluxo 100% autonomo com multiplos agentes em paralelo.

Descobri que a IA não é uma ferramenta de produtividade, mas uma máquina de criar dívida cognitiva.

Você ganha velocidade hoje e paga depois tentando entender o que foi gerado, por que foi gerado, onde quebrou, por que a arquitetura ficou torta, por que aquele arquivo agora tem 800 linhas, por que o teste passa mas o bug aparece, por que a solução funciona mas você não conseguiria explicar como.

O pior: muitas vezes vale a pena.

O problema é que a IA transforma ideia em protótipo rápido demais. Rápido demais para seu cérebro de primata acompanhar.

Tem prototipo que eu fiz naquela primeira semana e até hoje estou pagando o débito cognitivo. Mas a verdade é que, sem o agente, eu nem teria tirado a ideia do papel.

Então minha visão hoje é mais ou menos assim:

Em quais etapas do desenvolvimento a IA realmente ajuda vocês?

Todas, menos pensar por você.

Ela ajuda a explorar repositorios, escrever código, gerar teste, ler log, fazer refactor gigantes, escrever documentação. E Debugar. Essa vejo pouca gente falando e é onde mais brilha, porque não cria débito cognitivo.

Vocês usam mais para estudar, debugar, escrever código, revisar PR, criar documentação, pensar arquitetura ou gerar ideias?

Para gerar lixo.

E isso não é necessariamente uma crítica.

Todo software começa como lixo. O problema é esquecer que é lixo. IA é ótima para produzir massa bruta: código inicial, rascunho, primeira versão. Ela te dá matéria-prima.

O trabalho do programador continua sendo transformar aquilo em software.

Em projetos web, mobile, apps ou games, onde a IA mais economiza tempo?

Não sei opinar muito sobre web/mobile/games porque so tenho usado para ferramentas CLI: automação e compiladores.

E aí a vantagem é brutal, porque CLI é o tipo de coisa que agente usa bem: entrada clara, saída clara, teste rápido, erro visível, loop curto. O agente roda comando, vê falha, corrige, tenta de novo.

Quanto mais fechado, determinístico e testável for o ambiente, melhor a IA trabalha.

Como vocês validam se o código gerado faz sentido?

Gastando até 40x (medidas minhas) o tempo que a IA levou para gerar o lixo, refatorando aquilo até virar algo meu.

A IA gera um programa inteiro de 10k linhas de código em segundos. Entender aquilo vai levar semanas.

Minha validação é: leitura linha por linha: simplificação agressiva, remoção de abstração inútil, apagar metade, reescrever a parte que presta, rodar em casos estranhos, remover dependências. E principalmente perguntar: “eu conseguiria manter isso daqui sem IA?”.

Se a resposta é não, ainda é apenas uma sugestão da maquina e não código meu.

Vocês têm alguma regra pessoal para não perder prática?

Sim: um dia por semana fazer tudo sem IA. Zero. Sem autocomplete inteligente, sem ChatGPT, sem agente.

É musculação cognitiva. Você descobre muito rápido como seus músculos mentais atrofiaram.

Acham que IA acelera o aprendizado ou pode atrapalhar se for usada do jeito errado?

As duas coisas.

Para quem já trabalha na área: o uso de IA mudou a forma de codar, pesquisar ou resolver problema?

Sim e não.

Mudou tudo, mas não mudou nada.

Tem uma máxima antiga (1983) no mundo de software:

The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.

Só que agora, com IA, a proporção mudou. Não é mais 90/10. É mais perto de 99/1. Você olha e pensa: acabou. Não acabou.

Depois que você vira vibe coder, você entra no jogo de perseguir a dívida cognitiva. Essa passa a ser sua vida.

Você cria mais. Você testa mais.
Você refatora mais. Você apaga mais.
Você entende menos no começo. Você precisa entender muito mais no final. É maravilhoso. E é meio miserável também.