- A disseminação das ferramentas de coding com IA está trazendo à tona a diferença de motivação entre desenvolvedores, algo que sempre existiu, mas não era visível
- A tristeza por perder a satisfação artesanal de escrever código em si e a tristeza pelas mudanças no ecossistema e no ambiente de carreira em torno do código são dois tipos diferentes de sensação de perda
- Na visão de um desenvolvedor que programa desde os anos 1980, o coding com IA é uma extensão natural das camadas de abstração, de C64 BASIC para assembly, de funções para design de sistemas
- Décadas de experiência lendo e revisando código continuam válidas como sensibilidade e discernimento para julgar a qualidade do código gerado por IA
- O ponto-chave é reconhecer que tipo de tristeza você sente; perda artesanal e perda contextual exigem formas de resposta diferentes
O começo do luto
- James Randall é um desenvolvedor que começou a programar aos 7 anos, nos anos 1980, e descreve como a experiência de descobrir algo por conta própria, com persistência, foi "comprimida"
- Não desapareceu completamente, mas algo se perdeu nesse processo de compressão
- Nolan Lawson expressa essa sensação de perda de forma mais direta no texto "We Mourn Our Craft"
- Vamos sentir falta da sensação de moldar código com as próprias mãos, da experiência de caçar bugs no debugger às 2 da manhã, do orgulho de dizer "fui eu que fiz"
- Esses sentimentos são emoções reais diante de uma perda real, mas ao ler os dois textos ficou a impressão constante de que eles estavam lamentando coisas diferentes
A natureza da divisão
- O coding com IA está expondo uma divisão menos visível que sempre existiu entre desenvolvedores
- Antes da IA, os dois lados trabalhavam do mesmo jeito: usavam o mesmo editor, a mesma linguagem, o mesmo fluxo de pull request
- Desenvolvedores orientados ao ofício e desenvolvedores orientados ao resultado sentavam lado a lado, lançavam o mesmo produto e eram indistinguíveis
- A motivação por trás do trabalho era invisível porque o processo era o mesmo
- Agora surgiu uma bifurcação: deixar a máquina escrever o código e comandar o que deve ser criado, ou escrever o código manualmente
- É nesse momento de escolha que o motivo pelo qual alguém começou a programar finalmente se torna visível
- A mesma divisão já existia nas aulas de matemática e ciência da computação na universidade: havia quem gostasse das provas e teoremas em si, e quem só se interessasse quando aquilo era aplicado na prática
A minha tristeza era diferente
- Nos últimos 18 a 24 meses, houve de fato um período de tristeza e adaptação
- Havia o medo de não conseguir entender as novas ferramentas, mas na prática foi possível entendê-las
- Havia a preocupação de perder a capacidade de julgar a qualidade do código feito por IA, mas décadas de experiência lendo e revisando código não evaporaram
- Ainda é possível perceber quando algo está errado, e o faro continua o mesmo
- Havia o medo de que os quebra-cabeças tivessem acabado, mas na prática foi só uma subida de nível
- De organizar bytes no C64 → escrever funções → projetar sistemas: o mesmo padrão de todas as transições da carreira
- Agora o quebra-cabeça migrou para arquitetura, composição e orquestração de assistentes
- A maior parte dos medos não se sustentou quando confrontada com a realidade, mas parte da tristeza permaneceu
A tristeza que permanece
- A tristeza não é por deixar de escrever HTML à mão, mas pelo próprio ecossistema aberto da web
- O treinamento de IA sobre bens comuns e a centralização adicional de quem molda a experiência das pessoas na internet representam uma perda real
- É um problema que não desaparece, independentemente do ganho de produtividade individual
- Há também tristeza pela mudança no terreno da carreira
- O desenvolvimento web, praticado por mais de 30 anos, já não é mais uma área tão quente
- Os apps mobile levaram uma parte disso, e a engenharia de IA ocupa agora a posição dominante
- Pode até parecer que a transição está funcionando, mas a ansiedade é real e ainda não acabou
- O núcleo dessa tristeza: não é saudade do ato de escrever código em si
- É tristeza pelo fato de que o mundo ao redor do código está mudando
- A tristeza de Randall e Lawson é sobre o artesanato em si, enquanto a deste texto é sobre contexto e motivo
Nenhum dos lados está errado
- Kevin Lawver, em uma resposta ao texto de Lawson, defende redirecionar o ofício e a paixão em vez de ficar preso ao passado
- Mais útil do que enquadrar isso apenas como nostalgia versus pragmatismo é reconhecer que tipo de tristeza você está sentindo
- Se você está lamentando uma perda artesanal, ouvir "é só se adaptar" não resolve
- Talvez seja preciso encontrar essa satisfação em outro lugar ou aceitar que a sensação do trabalho vai mudar
- O fato de até aqui ter sido possível viver do próprio artesanato já era, em si, uma sorte
- Se você está lamentando uma perda contextual, há respostas mais acionáveis
- É possível aprender novas ferramentas, lutar pela web que você quer ver existir (mesmo que seja uma small web) e, ao mesmo tempo, se adaptar sem deixar de lamentar
- Citação de Nolan Lawson: "Não celebro nem resisto ao novo mundo. O sol nasce e se põe, e eu orbito impotente, e meu protesto não pode impedi-lo"
- Ainda assim, é uma confissão honesta dizer que, em meio à tristeza e ao medo, existe também um pouco de empolgação
Fazer o computador trabalhar
- Desde que começou a programar nos anos 1980, toda linguagem aprendida foi um meio para um fim
- Uma nova forma de fazer o computador realizar o que se queria
- O coding com IA é a etapa mais recente dessa continuidade, não uma ruptura, mas o próximo degrau da escada
- Só que a própria escada está mudando, e o prédio em que ela se apoia também está mudando, então não dá para saber exatamente para onde tudo isso vai
- Uma coisa é certa: a satisfação do momento em que algo pensado e construído realmente funciona não mudou em mais de 40 anos
- O caminho do código até chegar lá mudou, mas o momento em que funciona continua o mesmo
7 comentários
Estão fazendo alarde demais.
Acho ótimo que coisas como programação web sejam muito bem feitas pela IA.
Pelo visto, outras formas de programação devem ter algum valor sublime.
Às vezes também tenho a sensação de que a faixa etária média no HN é bem mais alta e que parecem pessoas meio defasadas.
Então costumo simplesmente pular esse tipo de texto negativo (não crítico) sem ler.
Só como referência, às vezes ainda me volta aquela diversão de programar diretamente,
e acho que talvez isso seja mais viável por eu estar no lado web,
já faz mais de 3 meses que não digito código.
Acima de tudo, desenvolver assim é tão divertido que acabo fazendo muitas horas extras por vontade própria, como quando eu era mais novo.
Se estão tão preocupados por causa da IA, então é só não usar, não?
Fico curioso para saber como as pessoas reagiram quando as ferramentas RAD surgiram.
Opiniões do Hacker News
O objetivo de um bom programador é tornar a si mesmo inútil. Houve uma época em que contávamos ciclos em assembly e empacotávamos bits à mão, mas passou a ser natural usar compiladores. Também houve uma época em que criávamos apps CRUD do zero, mas agora frameworks fazem isso. Gerenciamento de memória, sistemas de tipos, linguagens de alto nível, sistemas no-code/low-code — tudo isso faz parte do progresso. No fim, o objetivo da programação é fazer com que os computadores façam por nós o que não precisamos fazer manualmente
Acho que a verdadeira divisão é uma diferença de mentalidade entre quem vê o software como algo que pode ser melhorado e compreendido, e quem o vê como um obstáculo incompreensível criado por outra pessoa
A jornada de 8 horas não foi resultado da tecnologia, e sim de luta política
Claro, se esse “outro” for humano, dá para dividir esse mérito por meio de mentoria ou criando um bom ambiente
O texto de Kellan, “Code has always been the easy part”, vai na mesma linha. Nossa geração entrou em tecnologia viciada na sensação de agência que a web proporcionava
unlesspermitiam expressar o fluxo de forma natural. Mas, como sua evolução parou, cada um foi estendendo à sua maneira e surgiram codebases frágeisProgramação com AI aumenta a produtividade em algo como 10%. O verdadeiro gargalo é entender o que construir e convencer os outros disso. Programar é só um meio para entender isso
Mesmo assim, ainda vale resistir