O Fim da Programação: Minha Opinião Definitiva
Minha opinião nua e crua da forma mais profunda que consigo pensar se programação vai acabar. Neste texto e no vídeo que fiz sobre o tema, falo se vale a pena aprender a programar ou se vai ser tempo jogado fora. Quero expor verdadeiramente a minha opinião para você, aí do seu lado, julgar como quiser.
Para não deixar ninguém para trás, vou fazer todo mundo vivenciar o que eu vivenciei no passado da tecnologia, que é o que me habilita hoje a perceber padrões que estão para se repetir e, com isso, me posicionar de forma estratégica. Ao final, falo exatamente o que fazer para você não perder as esperanças.
4 Estágios que eu vi a programação passar
Nasci em 1983, há 41 anos, e vi e consegui entender muitas coisas da dinâmica das áreas que envolvem tecnologia e programação.
Estágio 1
O primeiro estágio era só nerd com nerd, fazendo coisa de nerd, e as pessoas riam.
Nos anos 90 e início dos 2000, o mundo passava pela bolha .com. Ninguém tinha acertado a mão em produtos e serviços, era muito Vaporware, software fantasma, sabe?
Uma das coisas que podiam te dar popularidade era saber fazer scripts pra mIRC. E junto disso, surgiram ferramentas como o WinNuke, ou até Trojans como NetBus ou Back Orifice.
Por conta dessas experiências, muitos "nerds" se tornaram excelentes programadores ou especialistas em segurança da informação.
Estágio 2
As coisas mudaram quando o mundo se recuperou da bolha .com. Os serviços do mundo real começaram a ser virtualizados de forma útil, não era mais Vaporware. Os computadores e a internet ganharam popularidade fora da bolha nerd e, para construir a infraestrutura, "infelizmente" você precisava ter pessoas de TI na sua empresa.
"Infelizmente" porque era essa a exata sensação. Gestores tradicionais achavam um saco fazer a gestão dessa área, pois não entendiam como esses profissionais se comportavam. As próprias pessoas de tecnologia desanimavam quem estava entrando. Era um ambiente muito mais hostil, e meu canal no YouTube surgiu em revolta a esse tipo de comportamento.
Poucas pessoas e poucas empresas tinham realmente conseguido se alavancar com o resultado obtido pela internet.
Estágio 3
TI saiu de "ser o problema" para "ser a solução de todos os problemas". Depois de ver que empresas estavam revolucionando seus negócios pelo uso correto da internet, o mercado virou uma loucura e o profissional de TI atingiu um hype inédito.
Inclusive, na época que eu estava trabalhando no Pagar.me, fui liberado pelo CEO do grupo Stone a ter orçamento infinito para contratar novos programadores. Nenhum outro setor teve isso. A sensação era que as empresas tinham pego a estrelinha do Mário, sabe?
A postura era de que a programação era a coisa mais valiosa do mundo. Tudo isso foi maximizado com uma campanha massiva nos EUA, endossada pelo Obama, Mark Zuckerberg, Bill Gates etc.
Só que, como quem já jogou sabe, uma hora o efeito da estrelinha do Mário acaba. E acabou.
Estágio 4
O quarto estágio foi de ressaca. A empresa que antes investia em treinar alguém, agora queria pessoas prontas, ou nem queria mais programadores, porque algo saiu do controle.
A cultura nas empresas ficou estranha, a oferta de programadores ultrapassou a demanda e o Venture Capital secou. Se isso seria o crescimento natural da nossa área, o hype foi um crescimento artificial, que naturalmente começou a sofrer uma correção para onde deveria estar. Para quem já tinha visto isso na economia, era só as peças reais se encaixando. O que era valioso continuava valioso.
Só que o que ninguém esperava era que no final de 2019, ou 2020 efetivamente, uma coisa histórica ia acontecer…
Bônus: Pandemia
Ninguém sabia os efeitos que a pandemia traria. Muitos economistas apostaram em deflação, mas o que aconteceu foi o oposto: governos e bancos centrais despejaram dinheiro na economia.
Qual foi o resultado de ter "dinheiro quase de graça" e da necessidade do mundo sair do físico e entrar para o digital? A gente saiu de um cenário de saturação de programadores para um aumento completamente imprevisto na demanda, atropelando qualquer saturação passada.
O mercado de tecnologia estava tão aquecido que muitas empresas aceitavam qualquer profissional, o que inflacionou salários e o turnover. Era a estrelinha do Mário de novo. E como toda estrelinha acaba, a correção voltou a acontecer.
A barra dos salários, porém, não acompanha a queda das vagas com a mesma velocidade, e isso cria uma situação chata: um júnior contratado no hype pode acabar tendo o mesmo salário que um pleno contratado fora do hype. É uma configuração difícil, correto?
Isso pressurizou ainda mais a anomalia de vagas júnior, pedindo uma lista colossal de pré-requisitos. Isso porque a empresa tenta equiparar o custo inflado da vaga com a produtividade esperada.
Você não podia mais só parecer que sabia fazer algo. A não ser que inventassem uma tecnologia que trabalhasse por você, né… Que programe sozinha… E para surpresa de todos, isso começou a existir.
Inteligências Artificiais Generativas
Chegamos no presente. Mas antes, vamos dar um salto no futuro, para o máximo que consigo enxergar. É agora que a gente entra na parte deprimente, mas não pare aqui, porque depois voltaremos ao presente, que é onde você pode agir, fechado?
Futuro: Programação vai acabar?
Por mais deprimente que seja minha resposta, lá no futuro, eu acredito que a IA vai conseguir fazer tudo melhor do que a gente faz, em escalas maiores.
Projetando uma linha de onde a tecnologia está levando a humanidade, em nenhum momento eu a vi regredir. Eu só vi avançar, evoluir.
Eu imagino que sairemos da era de algoritmos "moles" que nos entregam conteúdo "duro" (já existente), para uma era em que o próprio conteúdo será "mole", gerado sob medida para você. E isso vai causar um problema enorme, porque se hoje o algoritmo já consegue fatigar sua reserva de dopamina, imagine com um conteúdo especializado em você. Ferrou!
Mas tudo isso que falei não vale nada, sabe por quê? Porque não falei quando vai acontecer.
O maior problema das Inteligências Artificiais
Primeiro eu pensei: "tudo o que o se humano sabe, foi colocado em livros". Mas você tem um problema de distribuição aí, né. Então, o ser humano inventou algo chamado internet, e agora sim você tem acesso a todo o conhecimento já criado pela humanidade.
Só que, o fato de você ter em mãos todo esse conhecimento, faz todo mundo ser igual a todo mundo? Não. Talvez você não tenha interesse em todos os assuntos que já foram de interesse da nossa espécie, talvez não tenha tempo…
E aí o ser humano criou a IA Generativa, que consegue pegar todo esse conhecimento e executar coisas. E se a IA gera coisas com todo o conhecimento inventado pela humanidade, fim da linha, correto?
Mais ou menos. Tem uma falácia que eu demorei para perceber. Nós não conseguimos colocar todo o nosso conhecimento na internet, por vários motivos: limite da linguagem, de tempo, interesse…
A IA foi treinada com o que foi registrado em palavra, nosso protocolo de comunicação. Mas nosso cérebro é muito mais complexo. A internet possibilitou buscar o conhecimento que o humano conseguiu e quis anotar. Os modelos de IA foram criados em cima desse protocolo limitado.
Acho que só há chances de entrar no cenário distópico quando replicarem 1 para 1 como o cérebro funciona, ou criarem algo melhor. Enquanto isso não acontecer, o que foi criado até então é uma ferramenta que maximiza nosso cérebro, não substitui ele.
O que fazer daqui para frente?
A IA veio para ficar, e vai ficar cada vez melhor, mas está longe de eu delegar integralmente meu trabalho para ela. A única forma da IA não te puxar para o buraco do Go Horse é você saber programar bem. É a única forma de dar para a IA um prompt tão bem formulado que você está, na verdade, só terceirizando a "parte chata" de escrever código.
É aí que está o maior ganho de produtividade: transferir para a IA o "Busy work", as tarefas repetitivas. Isso está conectado ao Paradoxo de Jevons. Você usará o tempo economizado para produzir mais.
Então, quem é bom programador não está com o emprego em risco. Pelo contrário, pode se tornar duas vezes melhor, e se antes o salário estava inflacionado, agora a conta pode começar a fechar com mais facilidade.
Se você me perguntar se seu emprego está seguro, eu pergunto: "Você é um bom profissional?". Se a resposta for não, seu emprego nunca esteve seguro.
Abstrações em cima de Abstrações
Se você deseja fazer uma torta de maçã do zero você deve, primeiro, criar o universo. — Carl Sagan
Na nossa área, nunca fazemos algo do zero, sempre trabalhamos sobre abstrações de esforços passados: Assembly é uma abstração do processador, C é uma abstração que esconde registradores, JavaScript abstrai o gerenciamento de memória. A linguagem natural parece ser a próxima abstração.
Mas tem algo estranho nisso. Quando você compila um código em C ou JS, sob as mesmas condições, o resultado é consistente. Com a linguagem natural, não. Cada vez que um prompt é traduzido, gera um código diferente.
E o meu maior desconforto é: você joga os prompts fora. Diferente de um código-fonte, que você guarda. Isso porque se você rodar a mesma cadeia de prompts de novo, o resultado será outro e a cadeia pode quebrar. É como programar em C, compilar e jogar o código-fonte fora.
Isso é um sinal interessante de que a linguagem natural não segue a mesma dinâmica das abstrações anteriores. É um sinal que me faz não querer perder por nada a capacidade de programar código.
Abstração é um tradeoff. Geralmente, quando você sobe um nível de abstração, você está trocando produtividade por capacidade intelectual, vamos colocar assim. É exatamente isso que mostrou uma pesquisa recente do MIT.
Código não importa
Essa é uma frase criminosa sem contexto, porque dependendo do contexto ela está certa, e dependendo do contexto ela está completamente errada.
Aprender a programar me ajudou a pensar, eu não consigo mais ver o mundo da mesma forma de antes. Mas, código não é a parte mais importante nem quando código era importante. Código é só um meio para um fim.
É disso que vem o overengineering: escrever código desnecessário para situações que quase nunca acontecem. É como construir uma via que passa um único carro por ano. O triste é que muitos programadores, mesmo sêniores, constroem essas vias porque não adquiriram o tato para o negócio.
Tudo isso me lembra a filosofia "Worse is Better". Uma forma de interpretar essa filosofia é que um software simples é melhor que um complexo, e que é ligeiramente melhor ser simples do que correto.
Dependendo do contexto, eu concordo total. Simplicidade aumenta a adoção. O foco deve ser resolver problemas reais das pessoas e afetar o bottom line da empresa.
Inclusive, se eu voltasse a trabalhar numa empresa como programador, a primeira coisa que perguntaria não é a stack dela, mas sim qual iniciativa traz mais dinheiro, qual tira mais dinheiro e qual oportunidade está deixando mais dinheiro na mesa.
Diferencial
Quando você vende uma commodity, geralmente vai brigar esganando sua margem para poder oferecer ela mais barato, ou vai melhorar a sua distribuição, ou vai precisar adicionar um diferencial, certo?
Aí eu te pergunto, se todo mundo usar IA para criar produtos, como alguém vai se destacar? Vai ser o ganho de produtividade trazido pela IA e mais o quê? Se não ter esse "mais o quê", vai ficar tudo igual. Um conteúdo enlatado.
I.A. é uma bolha?
Sim, claro que é. Assim como programação e imóveis já foram. Mas nenhuma dessas áreas sumiram ou se tornaram inúteis quando a bolha estourou. O estouro só acelera uma correção natural pós-hype. A necessidade basal continua.
Diferente de NFTs, que quando a bolha estourou, não havia energia basal alguma e tudo virou pó.
Isso se conecta com a pergunta "Quando essa bolha vai estourar?". Ninguém tem essa resposta, mas especulo que será quando novos modelos não continuarem surpreendendo como estavam até então. A expectativa está alta, e se isso não acontecer logo, a situação pode se tornar um hype de cabeça para baixo.
Onde a I.A. é boa?
Eu vejo que ela é boa em muitas coisas, e que dificilmente vai dar para voltar atrás mesmo que estoure a bolha.
- Rubber ducking: Mesmo com uma resposta errada da IA, consigo acessar na minha cabeça a resposta certa. Eu só precisava ativar outros caminhos neurais dentro do meu cérebro que não estavam sendo ativados.
- Entender e explicar código: Isso ajuda muito quando você entra numa empresa e precisa digerir uma grande base de código, e você pode pedir para ela devolver isso em vários níveis de abstração.
- Trabalhar com documentos: Extrair, reformatar… todo aquele busy work que já comentei.
- Pesquisa (Deep Search): Usar a LLM para filtrar e correlacionar informações da internet.
- Criar softwares pessoais: Esse é outro ponto que acho muito massa. Pequenos scripts, nichados 100% nos meus problemas.
- Replicar soluções existentes: Ela é boa em replicar soluções para problemas existentes que estão repetidamente documentados e disponíveis de forma open source. O problema é que o modelo pode ora dar uma abordagem desatualizada, ora atualizada, e aí eu preciso dirigir a IA.
A IA tá subindo o nível, mas começou a subir numa velocidade menor, bem menor. A insegurança que está se criando é que não tem mais dados para treinar, não no volume que precisa.
Uma ideia maluca que me veio seria as empresas treinarem modelos com seus códigos privados. Mas por que fariam isso? Qual o incentivo para criar uma ferramenta que poderia replicar seus próprios produtos? Isso se aplica ainda mais a uma AGI, que poderia se auto-replicar, canibalizando a empresa inteira.
De qualquer forma, mesmo que por enquanto não chegue neste estágio, não precisa, porque a IA é melhor que humanos em vários sentidos.
Desvantagens dos Humanos
- Recuperação de memória: Retomar um projeto de 1 ano atrás é como começar do zero. Isso não acontece com o ChatGPT, ele vai continuar a thread como se nada tivesse acontecido. Vai ser você quem vai se atrasar todo tendo que ler a thread do começo.
- Perda de memória: Sofremos de perda, e às vezes preenchemos no lugar coisas que nunca aconteceram. A inferência de uma LLM pode gerar alucinações, mas a memória é estática e pode estar distribuída em vários pontos do mundo.
- Janela de contexto pequena: É custoso manter um raciocínio longo na cabeça. Inclusive, foi uma loucura organizar todas as ideias desse vídeo e não me perder.
- 7 pecados capitais: Outra coisa são nossas características ruins, que daria pra sintetizar nos 7 pecados capitais.
- Fundir conhecimento: Não conseguimos fundir nossas mentes, e para transportar informação dependemos de um protocolo de comunicação lento e falho.
- Precisamos descansar: A IA é melhor nos pontos anteriores, e tudo isso sem descansar. O humano precisa descansar, senão ele alucina muito mais.
Quem vai ser o ser humano num futuro distópico?
Vejo que a natureza é algo impermanente. Nossa sociedade navega entre paz e guerra, tempos fáceis e tempos difíceis… Isso é algo que acontece desde o macro, na sociedade inteira, até o micro, na sua vida particular.
Então, eu duvido muito que a gente não consiga se adaptar e atingir também por um momento um estágio de paz. Eu sinto que a maior dor é na velocidade da mudança, se as IAs canibalizarem tudo e não precisarmos fazer mais nada.
Nesse cenário, eu focaria na minha biologia: corpo e cérebro. Faria exercícios e me dedicaria a ter um "cérebro acadêmico", como disse antes.
O que falta para atingir a AGI?
Minha intuição diz que o que me move como humano é a "fuga da morte". Não como indivíduo, mas como espécie.
Talvez, para atingir a AGI, o sistema precise sofrer da mesma ânsia de evitar a morte. Mas não é simular essa sensação, é a condição real de morte. Enquanto a máquina for perfeita, essa perfeição será sua maior desvantagem, porque não tem como "dar vida" para algo que não tem "como morrer". Nossas "falhas" são, na verdade, qualidades essenciais para nossa sobrevivência e evolução.
Se essa premissa estiver certa, significa que vamos acabar recriando o que já temos: a espécie humana. Então, qual a diferença do que já temos hoje?
Conclusão final: O que fazer daqui para frente?
Para quem está entrando ou é júnior
Decida melhorar o mundo em 0,0000000001%. Vá pelo caminho técnico, justamente o caminho que agora aparentemente está sendo substituído pelas IAs. Você precisa encostar nele para ver se gosta. Siga o seu brilho, estude e pratique profundamente o que você quiser. Esse conhecimento dos princípios será reutilizado em qualquer lugar.
Para encontrar um emprego, se coloque na posição de quem está contratando. Se 100 pessoas mandam 100 currículos, tudo vira spam. Então, bola algo diferente, pelo menos para empresas especiais. Escreva uma Cover Letter mostrando interesse genuíno nos objetivos dela.
Para quem já está mais avançado
Se você está preocupado em perder o seu emprego com a vinda das IAs, ou está querendo um emprego melhor, vou recomendar a mesma coisa: tente melhorar o mundo em 0,0000000001%. Mas, agora, aplicando seus conhecimentos de uma forma mais concreta.
Faça um projeto sozinho e coloque um anúncio nele. No momento em que ele gerar 1 centavo, seu cérebro vai explodir. É uma sensação nova. O terceiro passo é cobrar por um produto ou serviço. Faça uma venda para alguém que você não conhece. Você vai se sentir inadequado, é normal, mas você precisa passar por isso para se transformar numa pessoa completamente diferente.
Quando chegar nesse estágio, você entenderá que pode fazer o mesmo dentro da sua empresa. Foque em:
- Aumentar a receita. O impacto disso é muito maior do que fazer coisas que mantenham clientes atuais.
- Reduzir o "Churn" e aumentar o "Lifetime Value". E use esses termos de negócio ao se comunicar.
- Reduzir custos. Vai depender do contexto se existe algum custo muito alto, o que pode acabar fazendo este ser o item mais importante e impactante.
Quando conseguir fazer isso, duas coisas acontecerão: o dono da empresa te verá como um sócio, e você será odiado dentro da empresa por quem se sentir ameaçado. É estressante, mas vale a pena.
Se estiver desempregado, use as mesmas estratégias: analise uma empresa, identifique um problema de negócio, monte um microprojeto atacando-o e tenta mandar um e-mail para o CTO ou outra pessoa influente lá dentro. Tenta abrir uma porta, e quando ela estiver aberta, fala que você adoraria trabalhar na empresa.
Se demonstre interessado. Quem é humano e está comprado com a empresa, gosta de trabalhar com outro humano interessado.
Para todo mundo
Aprenda a se comunicar. Você talvez esteja tão focado na IA que esqueceu que a relação humana é a mais complexa. O maior valor está em pegar a informação bagunçada na sua cabeça e linearizar ela. Uma pessoa que se comunica bem passa na frente de outra tecnicamente melhor, pois consegue encaixar sua habilidade no mundo com menos atrito.
Quando você ensina algo para alguém, você moveu essa pessoa do ponto A para o B. Agora imagina fazer isso com uma equipe, e o resultado dessa equipe move os clientes, que move os clientes deles… Não dá para calcular o impacto desse efeito em cadeia.
Se você já sabe se comunicar e programar bem, use IA para o "busy work" e se manter na posição de criador, de quem identifica e resolve a dor de outras pessoas. Se fizer isso, você estará caminhando para descobrir como se dar bem, independente do que acontecer.
Por fim, obrigado por ler um texto tão longo, e pela chance de colocar tudo isso pra fora.
Fonte: https://youtu.be/vaFHawMRsps