29 pontos por GN⁺ 2025-10-26 | 7 comentários | Compartilhar no WhatsApp
  • Ao contrário da ideia comum de que a inteligência artificial transforma desenvolvedores em “gerentes” ou “editores”, o autor propõe a abordagem de “programar como um cirurgião”, enfatizando uma forma de trabalhar focada nas tarefas centrais
  • Assim como um cirurgião conta com o apoio de auxiliares para se concentrar apenas na parte principal da cirurgia, o desenvolvedor delegaria tarefas secundárias por meio de ferramentas de IA e se dedicaria à resolução dos problemas essenciais
  • As tarefas principais (por exemplo, prototipagem de UI) ainda são realizadas diretamente por pessoas, enquanto trabalhos repetitivos como documentação, correção de bugs e exploração de código são tratados por agentes de IA
  • Ao atribuir à IA tarefas simples e repetitivas, é possível delegar o trabalho braçal sem problemas de hierarquia de status e, graças à disponibilidade 24 horas por dia, também dar instruções à noite ou na hora do almoço
  • Essa forma de trabalhar se conecta ao conceito de “autonomy slider”, de Andrej Karpathy, sugerindo que a estratégia de uso da IA deve variar conforme o nível de autonomia da tarefa

Programar como um cirurgião: conceito central

  • Em oposição à previsão comum de que a IA transformará desenvolvedores em gerentes ou editores, o texto propõe uma forma de trabalhar como um cirurgião (Surgeon)
    • O cirurgião opera diretamente, mas, com a ajuda de uma equipe de apoio para a preparação e tarefas secundárias, consegue se concentrar apenas no trabalho central que exige sua especialização única
    • Da mesma forma, desenvolvedores podem usar a IA como equipe de apoio para focar nas tarefas criativas essenciais
  • O autor, como prototipador de UI, busca usar ferramentas de IA para investir 100% do tempo em trabalho significativo
    • Delegando tarefas secundárias que a IA consegue executar, é possível maximizar a produtividade

Tarefas secundárias que podem ser delegadas à IA

  • Lista de tarefas auxiliares que a IA consegue executar bem
    • Escrever guias sobre a base de código antes de grandes mudanças
    • Gerar rascunhos de código de “spike” para tentativas de mudanças grandes
    • Corrigir erros de TypeScript ou bugs com especificação clara
    • Escrever documentação sobre a funcionalidade em desenvolvimento
  • Essas tarefas podem ser executadas de forma assíncrona em segundo plano
    • A IA pode trabalhar durante o almoço ou à noite, permitindo revisão imediata no dia seguinte
  • Com isso, como “um cirurgião que entra em uma sala de operação já preparada”, o desenvolvedor pode se concentrar na programação central com toda a preparação já concluída

Cuidado com o autonomy slider

  • Há uma grande diferença entre tarefas centrais e tarefas auxiliares na forma de usar IA
    • Design central e prototipagem ainda são feitos diretamente por pessoas, e loops de feedback rápidos e alta visibilidade continuam sendo importantes
    • Já as tarefas secundárias são mais eficientes quando delegadas à IA com autonomia por longos períodos
  • Para sessões longas sem supervisão, o autor prefere Claude Code e, mais recentemente, Codex CLI
  • Essa distinção é semelhante ao conceito de “autonomy slider”, de Andrej Karpathy
    • As ferramentas e a forma de pensar necessárias mudam conforme o nível de autonomia, e confundir isso é perigoso

IA e o conceito de “equipe cirúrgica de software”

  • O conceito de “cirurgião de software” é uma ideia antiga proposta por Harlan Mills em 1975 em "The Mythical Man-Month", de Fred Brooks
    • A estrutura gira em torno de um “chief programmer”, apoiado por um “copilot” e equipe administrativa
  • No passado, esses papéis de apoio eram desempenhados por pessoas, mas a IA os substitui de forma economicamente viável
  • O autor destaca que essa mudança significa mais do que simples redução de custos
    • Ela ajuda a aliviar problemas de hierarquia de status
    • Ao delegar à IA o trabalho repetitivo e tedioso de grunt work, reduz-se o problema da distribuição desigual de tarefas dentro da equipe
  • Como a IA está disponível 24 horas por dia, ela também pode executar pesquisas noturnas ou análises de código que seriam inviáveis para um estagiário humano

Notion e a expansão da forma de “trabalhar como um cirurgião”

  • O autor explica que essa abordagem já está sendo implementada na Notion, onde trabalha
    • A empresa apoia ativamente o uso de ferramentas de programação com IA, e a base de código também é projetada com isso em mente
    • O ganho de produtividade é especialmente grande para desenvolvedores que acabaram de entrar em uma base de código extensa
  • Do ponto de vista do produto, a Notion quer expandir essa forma de “trabalhar como um cirurgião” para todos os trabalhadores do conhecimento, não só programadores
    • O objetivo principal não é delegar o trabalho central, mas identificar e delegar tarefas secundárias repetitivas e menos importantes, ajudando as pessoas a se concentrar no que é mais importante

7 comentários

 
vk8520 2025-10-27

Parece significar que devemos focar no trabalho do núcleo e deixar as tarefas periféricas para a IA. Concordo bastante com isso, e acho que trabalhos que não pertencem ao domínio central, que em parte podem ser substituídos por alguns SaaS, ou tarefas administrativas, parecem passíveis de substituição por IA.
O ponto que tende a gerar mais debate, porém, deve ser se é possível substituir por IA o trabalho do núcleo. No fim, a tendência vai seguir para o lado que entregar melhores resultados. Vendo a IA resolver problemas de IOI ou de LeetCode, às vezes ela chega a mostrar uma capacidade de programação muito superior à dos humanos. Fazer previsões precipitadas parece ir além da minha capacidade, então acho melhor observarmos como isso evolui.

 
fortune 2025-10-26

Essa analogia é uma comparação completamente errada que não consegue captar a essência.

Cirurgia é uma atividade irreversível, enquanto programação é uma atividade reversível (ou seja, em que dá para fazer save and load).

Se a cirurgia também se tornasse reversível, os cirurgiões também mandariam subordinados que sabem operar fazerem a cirurgia e, por trás, seria mais eficiente cuidar do design, da revisão e do gerenciamento. Se desse errado, bastaria reverter.

 
seunggi 2025-10-27

Concordo. Acho que, de forma parecida, também há muitos casos em que a engenharia de software é confundida com a engenharia da construção civil.

  • Na construção civil, existe uma etapa de mudanças físicas irreversíveis (em que o custo de voltar atrás é alto demais)
  • Por isso, na construção, projeto e execução são separados, e daí surgiram os projetos de SI de grande porte no estilo enterprise que imitam isso, além de designers de domínio e arquitetos
  • Já o software é uma das engenharias mais fáceis de adaptar a mudanças, e o projeto fica muito próximo da própria implementação. Com o Manifesto Ágil, o próprio código e o funcionamento passaram a ter significado
  • Mas, com o desenvolvimento baseado em LLM, parece haver um clima em que se dá produtividade ao fato de o projeto ganhar nova relevância e a implementação detalhada ser delegada
 
chcv0313 2025-10-26

Se você quer mesmo programar como um "cirurgião", então não seria preciso fazer com que só pessoas formadas em Ciência da Computação pudessem programar? Se aumentarem as vagas em Computação, os programadores também deviam se unir e fazer greve...

 
colus001 2025-10-28

Por que não existe um auxiliar de codificação!?

 
forgotdonkey456 2025-10-27

kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

 
GN⁺ 2025-10-26
Comentários do Hacker News
  • Se um cirurgião iniciante começar uma operação acreditando que a enfermeira ou o anestesista vai impedir seus erros, pode matar o paciente muito rápido
    O fato de uma equipe cirúrgica ser necessária não significa que o treinamento de um cirurgião sênior seja desnecessário
    O problema é um cirurgião inexperiente achar que “não precisa aprender porque a enfermeira vai passar o bisturi”
    Se no fim for preciso aprender sacrificando pacientes, que seja, mas se não for, primeiro é melhor ir para a faculdade de medicina

    • O autor diz que é “um prototipador de UI e alguém que mexe com conceitos de design” e, ao mesmo tempo, trabalha numa empresa de software de programação com IA
      Por isso, o texto inteiro passa uma forte sensação de efeito Dunning-Kruger (o viés cognitivo em que alguém com pouca capacidade superestima muito a própria competência)
  • Há muito tempo eu digo que engenheiros de software deveriam ler The Mythical Man-Month
    Nos últimos 25 anos, a forma de desenvolver mudou radicalmente, como na transição de waterfall para agile
    Mas, ao fazer desenvolvimento baseado em LLMs (Codex, Claude Code etc.), às vezes parece que estamos voltando a padrões de desenvolvimento dos anos 70 e 80
    Agora dá para pensar a estrutura como se estivéssemos projetando uma catedral, e delegar a implementação dos detalhes

    • Entre as metáforas do Brooks, o modelo de equipe cirúrgica tem uma parte errada
      Numa cirurgia, só uma pessoa trabalha por vez, mas em software várias pessoas podem mexer ao mesmo tempo
      Na verdade, é mais parecido com um time esportivo, e levamos tempo para atingir qualidade porque faltam treino e coaching
    • Houve uma pergunta pedindo para explicar melhor a diferença entre a abordagem dos anos 70/80 e a de agora
    • Agora estamos mais próximos da era de CAD para software, isto é, CASE (Computer Aided Software Engineering)
      Ficou possível focar mais no design do que na codificação
    • Houve uma contestação à ideia de “projetar como quem constrói uma catedral e delegar os detalhes”
      Na prática, se você fosse construir um prédio alto, teria de se preocupar até com a qualidade do aço e a procedência dos parafusos
      Ignorar isso é perigoso
  • Essa metáfora está errada tanto literal quanto figurativamente
    O cirurgião não é apenas um executor, mas o gerente que administra toda a cirurgia, e na prática o anestesista é a pessoa mais importante
    Além disso, a própria ideia de “trabalho braçal” (grunt work) é uma visão equivocada
    Enxergar a si mesmo como o cirurgião e os outros como apoio é uma postura egocêntrica

    • Foi explicado que a outra pessoa estava citando a metáfora de Fred Brooks
      Como no conceito de “Chief Programmer” de Brooks, o programador principal consegue trabalhar graças ao apoio da equipe
      O autor não vê juniores como mão de obra inferior, mas como mentorados
      Não é uma metáfora perfeita, mas a mensagem sobre ferramentas de programação com IA merece respeito
    • À afirmação de que “o anestesista é mais importante”, houve a resposta de que sem cirurgião a cirurgia em si é impossível
      Foi dado como exemplo o fato histórico de que cirurgias eram possíveis mesmo sem anestesia
    • Também houve a opinião de que a comparação era com ferramentas de IA como equipe de apoio, e não uma forma de rebaixar pessoas reais
    • Outras metáforas também costumam falhar
      Por exemplo, como em explicações de frameworks que comparam programadores a carpinteiros, artesãos de verdade não refinam cada parte à perfeição
    • Na discussão sobre quem é a pessoa mais importante numa cirurgia, foi apresentado um link com o caso de Leonid Rogozov, que operou a si mesmo sozinho
  • Gostei dessa metáfora e pretendo usá-la daqui para frente
    Outra comparação possível é o ateliê de um pintor clássico
    Rembrandt e Rubens deixavam discípulos prepararem a tela e pintarem partes dela, enquanto o mestre só fazia diretamente as partes essenciais
    Já depois do romantismo surgiu o ideal do artista que completa tudo sozinho
    Alguns programadores querem criar sozinhos como Turner, mas eu prefiro pensar o quadro geral como Rembrandt e deixar os detalhes para a IA ou para juniores

    • Mas o resultado do software não é código, e sim um produto funcionando
      A qualidade do código precisa ser boa para responder rapidamente ao feedback dos usuários
      Não se trata apenas de “codificar rápido e terminar”, e sim de ter uma estrutura que reduza o custo de mudança
      Se uma abordagem ao estilo Rembrandt levar a código bom, tudo bem, mas ainda faltam evidências disso
  • Eu também usei Claude por alguns meses, mas senti que programar diretamente era mais eficiente
    Só que, desta vez, ao fazer um upgrade de um banco grande de MySQL 8→9, pedi ao Claude para encontrar queries com potencial de problema, e surpreendentemente ele acertou a maioria
    Não foi perfeito, mas reduziu bastante o tempo de depuração
    Sinto que LLMs valem muito mais encontrando pontos de risco do que escrevendo o código em si

    • Também tive uma experiência parecida
      Em codebases antigas, se você cola um stack trace, o LLM sugere a direção inicial da depuração
      Ao corrigir problemas de performance, também dá para pedir que ele verifique se caminhos de código produzem o mesmo resultado
      Ainda está no nível de autocompletar para escrever código, mas a eficiência claramente aumentou
  • Isso me lembrou a apresentação Software Faster, de Dan North
    A frase “software é como cirurgia: faça apenas o mínimo necessário para resolver o problema” me marcou
    Mas este texto está bem distante dessa filosofia

    • O antecessor seguia a filosofia de “para economizar 5 minutos, copie e cole o arquivo inteiro”
      Então hoje eu me sinto como um cirurgião que faz amputações com frequência
  • A estrutura de Chief Programmer Team parece estar voltando à moda
    Desta vez, no formato em que o time inclui agentes de IA em vez de humanos
    A ideia de Fred Brooks voltou a ganhar atenção

    • O autor também esclareceu que citou diretamente Brooks e Harlan Mills
    • É surpreendente que esse modelo não tenha se tornado mais popular
      Se você der um time competente a um desenvolvedor 10x (10x-er), pode reduzir o tempo desperdiçado com reuniões ou gestão de Jira
      Já que se paga salários altos, é preciso usar o tempo dessas pessoas da forma mais valiosa possível
  • Entender o espectro de autonomia, ou espectro de delegação, é a chave para usar bem ferramentas de programação com IA
    Engenheiros não estão acostumados a delegar, mas fundadores tendem a aprender isso mais rápido

  • Sobre a frase “o cirurgião se concentra no que é importante”, houve o apontamento de que, na prática, todo o trabalho de apoio é igualmente importante
    É preciso ter humildade, respeitar o apoio ao redor e dar suporte a essas pessoas da mesma forma