29 pontos por GN⁺ 2026-02-05 | 9 comentários | Compartilhar no WhatsApp
  • Com a chegada das ferramentas de IA para programação, a experiência de pensar profundamente diminuiu drasticamente, e isso traz a sensação de estagnação no crescimento como engenheiro
  • Entre as duas disposições dentro de mim, o "Builder" e o "Thinker", o Builder está satisfeito graças à IA, mas o Thinker está faminto
  • Com o "vibe coding", é possível transformar ideias em realidade rapidamente, mas as oportunidades de resolver problemas de forma criativa diminuíram muito
  • Quando a IA oferece uma solução em torno de 70% que é "boa o bastante", meu pragmatismo torna difícil rejeitá-la
  • Tentei encontrar a satisfação do pensamento profundo fora da programação, mas não consegui, e sigo incerto sobre se essas duas necessidades podem ser atendidas ao mesmo tempo

Levantando o problema da falta de reflexão

  • Antes de ler o texto, pense em "quando foi a última vez que você realmente pensou com seriedade"
  • Este texto não traz solução nem conselho; é apenas um desabafo sobre a frustração que tenho sentido recentemente

Duas disposições: Builder e Thinker

  • Builder: a disposição de construir, lançar e gerar resultados práticos
    • Motivado por velocidade e utilidade
    • Há prazer na dopamina de um deploy bem-sucedido, na satisfação de criar sistemas que resolvem problemas reais e no fato de alguém estar usando sua ferramenta
  • Thinker: a disposição que exige um embate mental profundo e de longa duração
    • Na época da faculdade, quando cursava física, recebíamos problemas de tarefa muito além da dificuldade média
    • Mesmo entendendo os conceitos, havia questões em que era difícil até imaginar uma forma de abordagem

Três tipos de estudantes diante de problemas difíceis

  • Tipo 1 (a maioria): tenta algumas vezes, desiste e pede ajuda ao professor ou ao monitor
  • Tipo 2 (perfil pesquisador): vai à biblioteca, procura problemas parecidos ou pistas, e coloca a questão num estado em que pode ser resolvida; em geral, chega à solução
  • Tipo 3 (perfil thinker): aborda o problema apenas pensando
    • Durante dias ou semanas, usa quase todo o tempo mental sem entrada/saída (non-I/O) na possibilidade de resolver o problema
    • O pensamento continua até durante o sono
    • Esse método nunca falhou, e passei a reconhecer que pensar profundamente e por muito tempo era a minha força
    • Não sou tão rápido nem tão talentoso por natureza quanto o 1% do topo, mas tinha convicção de que, com tempo suficiente, conseguiria resolver qualquer problema

O conflito com a IA

  • O motivo de a engenharia de software ter sido tão satisfatória no início era justamente essa dupla satisfação
  • Ela atendia tanto o Builder — fazer algo útil, sentir-se produtivo e prático — quanto o Thinker — resolver problemas realmente difíceis
  • Os projetos em que mais cresci como engenheiro sempre incluíram muitos problemas difíceis que exigiam soluções criativas
  • Mas, recentemente, os casos em que passo mais de algumas horas preso a um único problema, pensando seriamente nele, diminuíram drasticamente
  • Acho que a causa de tudo isso é a IA
  • Estou escrevendo software mais complexo e em maior quantidade do que nunca, mas sinto que não estou crescendo nem um pouco como engenheiro
  • Ao revisitar o motivo dessa sensação de estagnação, percebi que estou deixando o Thinker passar fome
  • O "vibe coding" claramente satisfaz o Builder
    • Há um prazer imediato em ver uma ideia virar realidade em pouquíssimo tempo
    • Em contrapartida, diminuíram bastante os momentos em que preciso imaginar, por conta própria, soluções criativas para problemas técnicos
  • Para quem é puramente Builder, este ambiente é a era ideal
  • Mas, para mim, claramente está faltando alguma coisa

A armadilha do pragmatismo

  • Já antecipo a objeção: "se o vibe coding resolve, então esse problema não era realmente difícil"
    • Mas isso erra o ponto central
  • A IA não é especialmente boa em problemas difíceis, nem sempre entrega boas soluções mesmo para problemas fáceis
    • Se eu reescrevesse esse mesmo módulo manualmente pela terceira vez, tenho convicção de que o resultado seria melhor do que qualquer coisa que a IA produziria
  • Mas, ao mesmo tempo, eu sou pragmático
  • Se posso obter uma solução "suficientemente próxima" com uma fração mínima do tempo e do esforço, parece até irracional não escolher a IA
    • O verdadeiro problema é que não consigo desligar esse pragmatismo conscientemente
  • No fundo, sou Builder e gosto do próprio ato de construir. Se posso fazer algo mais rápido, isso sempre parece melhor
  • Mesmo que eu tente rejeitar a IA e voltar à época em que a necessidade do Thinker era naturalmente atendida pela programação, o Builder não suporta bem essa ineficiência
  • A IA quase certamente não oferece uma solução 100% satisfatória, mas a solução de 70% a que ela chega normalmente atende ao critério de "boa o bastante"

O que fazer daqui para frente?

  • Sinceramente, ainda não encontrei a resposta e continuo pensando nisso
  • Não tenho certeza se essas duas disposições ainda podem ser satisfeitas ao mesmo tempo dentro do mesmo campo, o da programação
  • Existe a opção de mirar projetos mais difíceis e procurar deliberadamente problemas nos quais a IA falha completamente
  • Às vezes encontro problemas assim, mas sinto que os problemas que exigem soluções profundamente criativas estão diminuindo rapidamente
  • Também venho tentando recuperar fora da programação essa sensação de crescimento mental
    • Cheguei a reabrir livros antigos para me reconectar com a física
    • Mas isso não levou a uma satisfação real
    • Quando há coisas que eu poderia estar construindo, é difícil justificar para mim mesmo gastar tempo e energia mental com problemas de física que não têm relação direta com o presente nem são atuais
  • A disposição Builder simplesmente não permite ficar sentado, refletindo sobre um problema em aberto
  • A disposição Thinker continua faminta enquanto o vibe coding prossegue
  • Não tenho certeza se voltará a existir um momento em que essas duas necessidades possam ser atendidas ao mesmo tempo

"Agora conquistamos o direito de chamar este ser por aquele nome familiar que sempre apontou para algo a que nenhum poder da imaginação, nenhum salto da fantasia mais audaciosa, nenhuma fé mais devota, nenhum pensamento abstrato por mais profundo que fosse, nem mesmo a mente em êxtase jamais conseguiu alcançar. Deus (God). Mas essa unidade fundamental pertence ao passado e já não existe mais. No processo de transformar a própria existência, ela se despedaçou completa e radicalmente. Deus está morto, e sua morte foi precisamente a vida do mundo."
— Philipp Mainländer

9 comentários

 
winmain 2026-02-06

Os tipos 1 e 2 já estavam perdidos faz tempo,
são programadores sem qualificação,
e isso só desperta um senso de crise
naqueles que ficam apenas com a consciência profissional
como se fosse só um emprego... Desde o começo, são do tipo
que acha pensar algo trabalhoso...

Para os do tipo 3, é um presente bem-vindo.
Os do tipo 3 já sabem aproveitar bem isso, não?

Quando sai uma ferramenta nova, não ficam empolgados e usam bem?

No começo eu testei código win32.
Mas, como esperado... era nível de Automation Interface.
Com uma porcaria dessas, já achei que era impossível fazer projeto de software de alta qualidade.
Pensei em como aproveitar isso ao máximo.
Mas nesse nível já há muita coisa para usar.

Isso também é algo em que, se você pensar e refletir, ganha braços e pernas a mais... o problema, na minha opinião, é não fazer nem esse esforço de pensar.

 
savvykang 2026-02-05

Dos 5 dias úteis, passo um dia trabalhando sem usar LLM durante o expediente, e aos domingos simplesmente não uso LLM de jeito nenhum; dá para levar de boa.

 
goodnvin 2026-02-06

Você está só se enganando. Se dá para testar rápido, é melhor ir tentando e acumulando dados; qual é a diferença entre isso e ficar no "ah, sei lá, eu sou do time da teoria~"? kkk
Para mim, isso só parece alguém se descabelando porque a própria teoria, que até então não podia ser concretizada e por isso não pôde ser comprovada, acabou sendo provada como totalmente inútil.
Se fosse um verdadeiro thinker, estaria "ainda" pensando em que problema resolver nesta situação, descobrindo isso por meio da IA e buscando uma solução melhor.

 
hpark 2026-02-06

Não parece ser um comentário com uma postura respeitosa.

 
ahwjdekf 2026-02-05

Não daria para, a fim de melhorar o código gerado por IA, executar adicionalmente o build em paralelo com o raciocínio?

 
aeolian21 2026-02-05

No processo de selecionar um modelo de processamento adequado e definir uma abordagem de pipeline em sistemas enormes de nível empresarial, a IA ainda deixa a desejar em termos de maturidade, então talvez seja melhor voltar os olhos para a arquitetura.
Claro, mas também não sei por quanto tempo isso vai durar...

Não tem muito jeito: ou matamos essa vontade resolvendo problemas difíceis de algoritmos, e tratamos o negócio de forma prática.

 
pencil6962 2026-02-05

Assim como ainda existe tricô mesmo na era em que máquinas tecem roupas, acho que talvez também possamos ter programação como hobby.

 
pluto 2026-02-05

Na minha opinião, bem pessoal,
acho que dá para fazer o cherry-picking do prazer de ser builder e thinker.

Agora já dá para criar algo que funciona com um custo totalmente baixo (pouco tempo),
e manter o prazer que vem de as pessoas usarem isso e o prazer de ter resolvido um problema da vida real,

e, se com o tempo economizado você investir em problemas que exigem reflexão profunda (e eu de fato estou fazendo isso),
acho que isso tem seu próprio significado e também seu próprio prazer.

 
GN⁺ 2026-02-05
Comentários do Hacker News
  • Fiquei impressionado com este texto de Aral Balkan, de março de 2025
    Programar é como moldar um bloco de argila até chegar à forma desejada. Nesse processo, você aprende os limites e características do material.
    Antes de fazer algo é justamente quando você menos sabe o que quer fazer. Design não é apenas resolver problemas, mas descobrir o problema certo.
    Se você pula o processo criativo, perde o elemento humano de aprendizado e descoberta. Uma obra moldada pelas próprias mãos é entendida por completo, mas um resultado saído de uma máquina automática é apenas uma imitação com aparência semelhante

    • Ao programar com ferramentas do tipo agente, é preciso continuar forçando para que a ideia não se degrade para uma forma mediana
      Quanto mais nova a ideia, mais a ferramenta tenta “normalizá-la”, então é necessário esforço para vencer essa resistência.
      Nesse processo, você acaba definindo com clareza o que sua ideia é e o que ela não é. No momento em que para de insistir, o LLM encobre a originalidade do projeto
    • Acho que tudo isso é uma continuidade de abstrações. Não tem problema eu não criar diretamente o SO, o compilador ou a biblioteca padrão.
      Meu trabalho é combinar ferramentas já existentes para criar algo novo.
      Pular o processo de criação não diminui necessariamente o valor da obra.
      Por exemplo, não é como se Zelda deixasse de ser ótimo por usar o motor de física Havok, ou jogos feitos na Unreal fossem ruins
    • Trabalhando em 10 empresas ao longo de 30 anos, sempre esperaram de mim não “escrever código”, mas gerar valor de negócio
      Tenho orgulho do que produzi nas últimas 3 semanas usando Codex, Claude e sessões de teste em paralelo.
      Antes, o objetivo era realizar ideias; agora, é satisfazer clientes e cumprir prazo e orçamento
    • Também dá para subir um nível. Em vez de moldar a argila diretamente, você pode especificar cada peça e deixar a máquina fabricar
      Assim, é possível construir sistemas complexos compostos por milhares de componentes.
      No passado, as organizações das empresas desempenhavam esse papel — a camada de cima definia as especificações, e a de baixo fazia as peças
    • Como Michelangelo disse que “removeu tudo que não era David”, o trabalho é influenciado pelo meio
      Antigamente, dava para reconhecer rapidamente um site feito com Ruby on Rails.
      Se você delega trabalho a pessoas ou agentes sem entender as características do meio, surge a diferença entre código limpo e código impossível de manter
      No fim, a responsabilidade é de quem dá a direção. Sem experiência com o meio, você não está preparado para avaliar o resultado
  • Para mim, só diminuiu a digitação; continuo pensando do mesmo jeito
    As ferramentas ficaram melhores, mas programar continua sendo programar.
    Seja atravessando o deserto num camelo ou num helicóptero, a viagem ainda é uma viagem.
    O fato de a ferramenta evoluir não muda a essência

    • Ao ver os comentários deste texto, me surpreende a postura de nem sequer tentar entender a experiência do outro
      Parece que esqueceram que experiências diferentes podem coexistir.
      O comentário “não quero pensar” foi especialmente marcante
    • Não há nada de errado em sobrevoar o deserto de helicóptero, mas não é a mesma experiência de quem foi a pé
      É bom subir para o próximo nível de abstração, mas também é preciso reconhecer o valor que se perde nesse processo
    • Entendo o que o autor quer dizer. Sentimos saudade da época em que nos preocupávamos com os detalhes
      LLM é apenas uma evolução das ferramentas, mas é triste ver desaparecer o processo de pensamento minucioso
    • Mas programar com LLM não é uma simples abstração.
      Na verdade, está mais próximo de mandar outra pessoa fazer o trabalho e revisar depois.
      Quem não gostava de programar vai adorar, mas isso não dá para chamar de ‘programação’
    • Depois de programar com agentes, tenho a sensação de que meu modelo mental enfraquece
      Quando escrevo o código diretamente, consigo visualizar as estruturas de dados na cabeça, mas quando o agente faz isso por mim, essa sensação desaparece.
      Dar commit em código sem entendimento não tem valor para mim
  • É um falso paralelo equiparar programação com LLM às abstrações tradicionais
    Compiladores e frameworks buscam abstrações sem vazamento, mas LLMs têm vazamentos por natureza
    No fim, encontrar e corrigir bugs continua sendo tarefa humana.
    Os LLMs reintroduziram a incerteza e o risco que tentávamos evitar

    • Programação com LLM é, no fim, o processo de descompactar um prompt em código
      Se você não explicita todas as variáveis no prompt, o resultado tende ao mediano.
      Fica a dúvida se linguagem natural é adequada para carregar esse tipo de informação
    • Os LLMs de hoje são como estagiários atrapalhados. Mas, se especialistas humanos conseguem produzir código sem vazamentos, talvez um dia os LLMs também consigam
    • Como LLMs são não determinísticos, o que deve ir para controle de versão é o resultado da saída, não a entrada
      Isso não é abstração, e sim geração de código não determinística
    • Se um compilador C às vezes não funcionasse, provavelmente ficaríamos apenas apertando o botão de build repetidamente
      Nesse sentido, LLMs também atuam de forma diferente sobre o modo como os humanos pensam
    • Muitos desenvolvedores parecem não entender direito o significado de ‘abstração’
  • Eu sou do tipo "thinker", então IA para programar não me desperta tanto interesse
    Gosto de criar diretamente kernel de SO ou motor gráfico.
    Mais do que o resultado, o processo de resolver o problema é meu hobby e minha recompensa
    Já os "builders" ficam empolgados porque conseguem construir mais rápido com IA

    • Mas a distinção ‘builder = quem não pensa’ está errada
      Todo engenheiro é alguém que pensa. O que muda é só o objetivo da ferramenta
  • Depois de décadas programando, ferramentas de IA me dão liberdade
    Posso experimentar rapidamente ideias que antes eu nem conseguiria tentar.
    Isso me permite tocar projetos pessoais aproveitando pequenos blocos de tempo

    • Acho interessante tocar um projeto pelo celular. Fiquei curioso sobre como isso funciona
    • Numa vida com família, a capacidade de transformar momentos curtos em avanço real é enorme
    • Também concordo com isso. Grande parte da programação era desperdício com boilerplate
      Graças à IA, agora dá para focar no pensamento de verdade.
      Tenho a sensação de que a singularidade está se aproximando
    • Em uma tarde, dá para testar várias abordagens.
      Mesmo quando falha, há aprendizado; quando dá certo, posso focar na validação de qualidade
  • Existem várias formas de “pensar”
    Há o pensamento de imersão intensa e o pensamento que amadurece devagar em segundo plano.
    Ambos são formas de mergulho profundo, e são justamente coisas fáceis de perder na era da IA

    • Para mim também existem vários tipos de ‘hard thinking’
      Resolver problemas matemáticos, pensar filosoficamente, lidar com restrições complexas do trabalho — cada um traz um tipo diferente de tensão intelectual
      No fim, o importante é a experiência de mergulhar profundamente, qualquer que seja a forma
  • Entre os engenheiros seniores ao meu redor, vejo dois grupos
    Alguns tiveram um pequeno ganho de produtividade, mas também houve quem perdesse profundidade de pensamento
    Muitas vezes apenas copiam e colam a resposta sugerida pelo LLM.
    O problema real é a falta de capacidade de fazer as perguntas certas

    • Mais do que a implementação, o grande problema é o overhead de comunicação.
      Em sistemas maduros, isso chega a representar mais de 90%
  • É triste ver colegas engenheiros se empolgando com IA e entregando a essência da profissão
    Nós tínhamos os meios de produção, e acabamos abrindo mão deles por conta própria

    • No curto prazo pode haver desemprego, mas a demanda por software é infinita
      Se a IA tornar o desenvolvimento mais barato e rápido, o mercado pode até crescer
    • A postura de acreditar em IA e ao mesmo tempo se opor a ela é contraditória.
      O avanço tecnológico sempre prejudica certos grupos profissionais, mas também traz progresso para a sociedade como um todo
      Assim como no passado reduzimos empregos em outras indústrias com automação, agora a vez chegou para nós
    • O problema são os pragmatistas que buscaram só eficiência, sem valor
      O resultado é apenas vazio. Mas talvez, para eles, esse vazio já fosse o objetivo
    • Essa camada parece um processo em que a pequena burguesia é absorvida pela burguesia maior
    • É o resultado de um tecnicismo sem ética nem filosofia
      A mentalidade de “se dá para fazer, então fazemos” acaba eliminando a humanidade
  • IA não elimina o pensamento. O problema está nas empresas medíocres e no pensamento medíocre
    É preciso procurar empresas que realmente valorizem o pensamento

  • Eu também programo com LLM, mas continuo pensando profundamente
    Penso em arquitetura, risco, restrições, dívida técnica e alternativas

    • Mas pensar com LLM é um tipo diferente de pensamento
      Está mais próximo de um pensamento gerencial, de administrar vários contextos ao mesmo tempo,
      e é diferente do pensamento de um cientista que mergulha num único problema por dias
    • Tenho uma experiência parecida. Com LLM, programar ficou mais fácil, mas validar e revisar ficou muito mais difícil
      Especialmente os PRs de juniores usando IA ficaram mais longos e complexos,
      e agora a maior parte do meu trabalho passou a ser centrada em revisão
    • LLM é mais eficiente quando usado em tarefas repetitivas e pequenas
      É útil para prototipagem rápida, funções auxiliares, autocompletar código e explorar bibliotecas
    • Mesmo gerando 100% do código com Claude Code, a proporção de pensamento profundo continua alta
      Na verdade, como o trabalho mecânico diminuiu, acabo pensando ainda mais
    • Mas, depois dos LLMs, desapareceu o loop de feedback sobre o próprio código
      Antes, escrever código fazia você revisitar o pensamento de design em nível mais alto,
      mas agora esse processo diminuiu, o que faz pensar ‘com menos profundidade’