Uso Copilot e ChatGPT todos os dias no trabalho como ferramenta para acelerar alguns processos, tirar dúvidas e refatorar pequenas funções, posso dizer com 100% de certeza que a IA só tem me ajudado, mas não consegue pensar por si só e fazer tudo que é dito para fazer numa Issue.
Um sistema complexo e grande vai muito além do que uma IA pode fazer, ela não consegue pensar de ponta a ponta e em todos detalhes que uma nova feature vai trazer no seu sistema, por exemplo. Se tudo que você programa vem de uma IA, então seu sistema é falho ou simples até para uma IA entender.
No meu caso eu utilizo para criar microserviços, até então os sistemas que eu criei não poderiam serem criados 100% por IA com as tecnologias atuais. Inclusive em alguns casos tanto o GPT, quanto o Copilot, mais atrapalham do que ajudam.
Mas não era exatamente esse o ponto que me trazia dúvidas, o ponto era, se usar a IA é uma boa prática na programação... a questão que vai ao longo prazo, é se esse hábito pode gerar uma dependência irreversível. Hoje mesmo, eu solicitei um código a IA, e o melhorei em seguida, estruturei as funções em classes, e tornei o algorítmo mais flexível a implementações.
Além disso eu uso para corrigir erros, quando eu não entendo, ou então para usar o framework novo que eu nunca utilizei, ou para resolver um problema que eu pensei em como resolver, mas não sei qual ferramenta eu deveria utilizar para resolver. Nesses casos eu passo a lógica da resolução, e como o contexto parte do código que eu desenvolvi anteriormente.
Através de sua resposta, minha mente se abriu, agora acredito que o que procuro está no equilíbrio entre um desenvolvimento e aprendizagem veloz com IA, e a gestão humana que deve buscar sempre uma aprendizagem profunda aos princípios da tecnologia, enquanto utiliza modernidades para melhorar sua própria eficiência.
Um equilíbrio como naquela história do Rio e a Montanha. Onde o rio, flexível e ágil personifica as novas tecnologias que vêm surgindo se modifica o tempo todo. E a montanha, forte e inabalável, personifica o programador que dominou os princípios da tecnologia e permanece desenvolvendo soluções e se solidificando cada vez mais nos fundamentos do conhecimento. Eles não são inimigos mas se complementam.
Agradeço pelo seu comentário, acredito que as coisas ficaram mais claras agora!