- É verdade que ferramentas com LLM aumentam a produtividade no desenvolvimento
- Porém, no longo prazo, ao depender dessas ferramentas, a capacidade de resolver problemas por conta própria diminui
- A sensação de realização obtida no processo de escrever código desaparece, e em vez de resolver problemas, a pessoa passa a esperar pela resposta da IA
Enfraquecimento da paixão e do espírito de desafio no desenvolvimento
- Há pessoas que nem gostam de programar → nesses casos, talvez a área de desenvolvimento não seja a ideal
- Os melhores engenheiros que conheci buscavam inovação criando ferramentas ou software voluntariamente até nos fins de semana
- Melhorar o desempenho de um sistema só é possível com entendimento fundamental; sem isso, não passa de tentativa aleatória
O fenômeno de 'Copilot Lag'
- 'Copilot Lag' significa o estado de ficar esperando a próxima instrução da IA
- É parecido com um desenvolvedor júnior esperando orientação de alguém mais experiente
- Ao usar o GitHub Copilot, a pessoa acaba esquecendo até elementos básicos da linguagem e da sintaxe
- O ganho de velocidade no curto prazo faz o conhecimento de longo prazo se deteriorar
O LLM pode atrapalhar o processo de aprendizagem
- Ao estudar "Writing An Interpreter In Go", de Thorsten Ball, o Copilot gerou o código, mas isso não trouxe a capacidade de reescrevê-lo por conta própria
- Conceitos importantes, como gerenciamento de memória e design orientado a dados, acabam sendo deixados de lado
- O código criado pela IA pode parecer correto à primeira vista, mas sem entender os princípios fundamentais, isso não tem sentido
Como usar LLMs de forma eficaz
- LLMs podem ser usados de forma útil como um mecanismo de busca
- Assim como ao pesquisar no Stack Overflow, é possível consultar as respostas do LLM
- Porém, LLMs não refletem exatamente o conhecimento de especialistas reais; eles geram respostas com base em padrões aprendidos e sequências de tokens → por isso, cometem muitos erros
- Não se deve aceitar a resposta do LLM como verdade absoluta; é preciso analisar por que ele recomenda aquela abordagem
- Quando houver algo desconhecido, é necessário pesquisar e aprender por conta própria
- Ao aprender uma nova linguagem (como Zig), pode ser útil anotar o que foi aprendido
- Essas anotações podem servir como material de referência para o aprendizado e também ajudar quando forem compartilhadas com outras pessoas
Conclusão
- Ferramentas de IA são úteis, mas depender delas cegamente pode acabar produzindo o efeito contrário
- É importante entender os princípios por trás das soluções sugeridas pela IA e manter uma postura de aprendizado autônomo
- No fim, o mais importante é manter a capacidade fundamental de resolver problemas sem depender das ferramentas
29 comentários
Hmm... acho que, antes de tudo, a diferença está na perspectiva de ver a IA como ferramenta ou como inteligência. Eu não consigo concordar com este texto porque, como já foi dito nos comentários abaixo, é um equívoco enxergar o desenvolvedor apenas no nível do código. No passado, quando a Revolução Industrial aconteceu na Inglaterra, os agricultores também gritavam que morreriam de fome, mas no fim isso criou mais empregos e trouxe muitos benefícios para a humanidade. Além disso, quando os computadores surgiram, também se dizia que por causa deles as pessoas ficariam cada vez mais burras, mas no fim conseguimos resolver mais coisas em menos tempo, e as pessoas ficaram mais inteligentes.
LLMs, incluindo deep research, ainda não são úteis para resolução de problemas de alto nível. (Por exemplo, desenvolvimento de algoritmos em nível de artigo científico)
O mesmo vale para otimização extrema e para programação que exige entender diversas características de sistemas e questões técnicas: isso ainda precisa de intervenção humana. Desenvolvedores não são programadores simples, e sim solucionadores de problemas. Um dia talvez a resolução end-to-end de problemas também se torne possível, mas, por enquanto, isso parece positivo do ponto de vista da produtividade, porque economiza tempo gasto com digitação e programação simples e permite investir mais na abordagem de problemas mais difíceis.
Em algum momento, acho que passei a usar isso muitas vezes com um conceito parecido com o de revisão de código. Recebo sugestões de código, converso sobre a direção do código, penso e proponho maneiras melhores e, quando sai um resultado que me satisfaz, acabo adotando-o.
Toda a lógica da aplicação e a lógica de negócio precisam ser pensadas por pessoas.
Essa preocupação surge quando se limita o desenvolvedor apenas à programação. Na verdade, desenvolvedores fazem muito mais coisas; depender da IA na parte de código pode até ser visto como algo que os deixa mais bobos, mas também pode ser encarado como algo que permite focar mais em outras partes.
Ttuyatyai... eu, desenvolvedor idiota...
Também diziam que a Unity deixaria os desenvolvedores de jogos mais burros, mas no fim ninguém ficou mais burro; todo mundo acabou aprendendo várias outras coisas e só ganhou mais trabalho mesmo kkk
Só arrumou mais trabalho... como isso é possível...
É difícil concordar com a ideia de que isso esteja deixando os desenvolvedores mais burros...
Desde a adoção da IA, a produtividade realmente aumentou de forma impressionante.
Tem um idiota aqui kkk
Hoje em dia, se você não concorda com a ideia de que dá para fazer tudo com IA, acaba sendo xingado, então é isso.
Se for alguma função de biblioteca que eu não conhecia ou um shell script que não me vem à cabeça na hora, tudo bem, mas ele mistura recursos já deprecated e funções que nem existem, e aí a gente perde todo o tempo debugando
> Não devemos aceitar a resposta do LLM do jeito que ela vem; é preciso analisar por que ele está recomendando essa abordagem
Acho que esse é o ponto principal.
Acho que ferramentas sempre trazem, ao mesmo tempo, a expansão do pensamento e a destruição do pensamento. O ideal é que, por meio dessa destruição do pensamento, a gente consiga avançar para uma expansão de pensamento de ordem mais alta, mas, nos momentos em que não estamos preparados para isso, parece que esses problemas sempre acabam aparecendo.
Por isso, no fim das contas, acho que esse tipo de reflexão sempre acompanha o uso de ferramentas. Eu considero que são processos necessariamente importantes. Em vez de simplesmente rejeitar ou usar cegamente, acho mais desejável focar em como usar bem essa ferramenta e em como aproveitá-la para, no fundo, investir recursos nas partes realmente mais importantes.
(passando de 1.000 usos por mês no Cursor...)
Sr. Kim. Gostaria de me atrever a lhe dar um conselho. Não é nada demais, mas não use funções do Excel demais, por favor. Se existe conveniência, o risco também aumenta. Para abater um boi, há uma lâmina adequada; mas para pegar uma galinha, será que precisa de faca? O mais simples pode ser a resposta certa.
O texto acima é a versão GPT das funções do Excel kkk
Na minha opinião, dá para ser rápido em cálculo mental, e a calculadora também pode ser boa. Acho que o computador é uma faca para abater boi, então deixo essa opinião.
Nunca mais vou usar o ChatGPT
Eu também já escrevi um texto parecido.
Sem dúvida existe um efeito de aumento de produtividade, mas acho que devemos evitar o próprio ato de terceirizar o cérebro.
Ainda sou um defensor fervoroso do Cursor e da Anthropic, mas em algum momento percebi que fui deixando de usar aos poucos o tão empolgante modo agent e passei a primeiro perguntar no modo ask sobre a arquitetura e a forma de implementação; só quando fico plenamente convencido é que fui me treinando para aceitar, ponto a ponto, as sugestões de alteração da IA.
Enquanto dois engenheiros, cada um usando o modo agent, refatoravam e adicionavam estrutura a um módulo não tão grande (mas bastante importante no nosso projeto de trabalho), acabei me deparando diretamente com uma situação em que um código que supostamente organizaria a arquitetura, na prática, acabava deixando tanto a legibilidade quanto a estrutura ainda mais bagunçadas — e foi isso que me fez mudar assim.
Eu também uso assim. Se for uma linguagem com a qual estou mexendo pela primeira vez, uso o modo agent, mas se for uma linguagem que conheço, acabo verificando primeiro se o código faz sentido.
Não é tanto que a IA esteja tornando os desenvolvedores idiotas…
Desenvolvedor idiota continua sendo desenvolvedor idiota mesmo usando IA…
Garbage in, garbage out
Falou tudo mesmo kkk
Concordo. Não é algo incondicionalmente ruim nem incondicionalmente bom; parece apenas mais uma ferramenta de produtividade útil.
Concordo.
Eu já dizia com frequência há algum tempo que nem todo desenvolvedor é igual.
Acho que essa afirmação está correta...
É uma colocação dura, mas não está totalmente errada. No mesmo sentido de que boas respostas vêm de boas perguntas..
Parece que o autor está falando sobre usar ferramentas de IA de forma cega, dependendo apenas delas.
Minha opinião pessoal é que, se o uso de IA aumentou a eficiência no trabalho, vale a pena aproveitá-la ativamente para reduzir tarefas repetitivas e investir o tempo ganho em áreas mais amplas (por exemplo, um desenvolvedor backend expandir para frontend ou desenvolvimento de apps) ou em direções mais construtivas, como design de arquitetura.
Pelo conteúdo geral, acho que o autor também concordaria com essa opinião, mas como às vezes existem desenvolvedores que rejeitam a própria IA, resolvi deixar algumas linhas de resposta... rs .
Também concordo. Isso me faz lembrar de um texto que dizia para não usar as funções do Excel.
Acho que é vantajoso aproveitar bem os recursos que já existem para aumentar ainda mais a utilidade.
Concordo. ^^
Opinião do Hacker News