Logo segredo.dev
Programando com IA

Programando com IA

18 de janeiro de 2026
5 min de leitura
Índice

Um novo parceiro, mas ainda uma ferramenta para os programadores.

Não é recente o avanço das IAs dentro do ambiente de programação principalmente participando ativamente na criação do código, esse tipo de ferramenta normalmente cria 2 tipos de “times”:

  • Time 1 que acredita que essa ferramenta é inútil e só atrapalha o verdadeiro Software Craftsman criando um monte de código que não serve para nada
  • Time 2 que acredita que a IA vai fazer tudo sozinha, dominar todo o mercado de programação fazendo com que os programadores finalmente virem fazendeiros

Entendo a visão de ambos os lados mas acredito que como todos os avanços que tivemos na programação a IA é mais uma dessas ferramentas que nos fazem dar um salto de produtividade e desafios.

Já tivemos algumas dessas mudanças bruscas na forma de programar:

  • Das válvulas para os transistores
  • Do binário para assembly
  • Do cartão perfurado para o terminal
  • Do assembly para linguagem de alto nível
  • De máquinas empresariais de toneladas para computadores pessoais
  • Do gerenciamento manual de memória para Garbage Collection
  • Novos paradigmas de programação
  • Frameworks revolucionários
  • Editores de texto para IDEs
  • Waterfall para Agile
  • Local Server para Cloud

A mudança é uma constante nesta área, um dos fatores de eu gostar de programação é justamente esse, você precisar estar continuamente aprendendo e entendendo as novas regras do jogo. Creio que ter um pensamento de “aprendi desta forma e não vou mudar” dificilmente é algo positivo na área, obviamente você precisa ter principios e boas práticas, mas não pode ficar cego para o inevitável. Quantas empresas gigantes já perderam seu posto simplesmente por querer continuar fazendo as coisas da mesma forma sem observar as mudanças no mundo.

Os fundamentos e arquitetura

Em uma evolução onde escrever o código não é mais necessariamente a jóia da coroa alguns assuntos que antes já eram importantes ganham mais relevância. Se eu preciso guiar uma IA para programar um sistema eu preciso entender o que pedir para ela e como pedir, esse é um dos principais pontos de porque o vibe coding puro (sem o humano verificando) tende a ser destrutivo, a IA vai se perder e começar a fazer coisas totalmente desnecessárias do ponto de vista do problema que precisa ser resolvido, o seu papel como programador é tomar as rédeas e guiá-la para o caminho certo.

E como saber o que é o caminho certo para o problema que está resolvendo? Fundamentos e arquitetura de software, padrões de projetos, boas práticas, etc.

Eu acredito que este é o momento onde esses conhecimentos terão suas vantagens sobre os demais, creio que seja por isso que programadores seniores tendem a se beneficiar mais com IA do que juniores, simplesmente pelo fato de saber o que e como pedir. Se você não sabe o que é um prego como vai pedir um martelo?

Sua visão do sistema e de negócio precisam ser ampliadas para que você costure toda a estrutura necessária para entregar valor no software que é gerado. Como Fred Brooks disse em seu livro “The Mythical Man-Month”: Acredito que a parte mais difícil na construção de software é a especificação, o projeto e o teste de seu construto conceitual, não o trabalho de representá-lo e testar a fidelidade da representação. Resumindo, o grande trabalho do software não é o código, mas sim a especificação e arquitetura.

É uma visão complicada de aceitar, eu entendo, você treinou anos para escrever códigos cada vez melhores e agora essa habilidade parece simplesmente ter perdido totalmente o seu valor, porém lembre-se que com a IA vamos precisar de um humano no comando e entender o que o código em questão está fazendo é uma vantagem. E se em algum momento não precisarmos mais verificar o que a IA está fazendo tudo bem, ainda vamos precisar estruturar o contexto para resolver o problema, afinal de contas essa é a função do programador: resolver problemas, não escrever código.

Todos viram o commit do Linus Torvalds fazendo o merge de seu código gerado com IA, essa descrição é uma prova de que o código em si pode ser delegado:

This is Google Antigravity fixing up my visualization tool (which was also generated with help from google, but of the normal kind).

It mostly went smoothly, although I had to figure out what the problem with using the builtin rectangle select was. After telling antigravity to just do a custom RectangleSelector, things went much better.

Is this much better than I could do by hand? Sure is.

Is this much better than I could do by hand? Sure is., não é sobre o código e sim sobre saber o que é o problema e como resolver.

Read more code; get a mentor; study the design of systems outside your domain; find a niche you love and want to master, then once you’ve done that, master another. Learn and practice the fundamentals. Have fun: yours is a field that has already and will continue to change the world. It is a privilege and a responsibility to be a part of it all.

Grady Booch

Referências