Fala minha tropa, hoje venho trazer um tema aqui que tenho já matutado a um bom tempo, e acredito que agora eu tenho o mínimo de maturidade para poder falar sobre (embora ache que isso é só o começo de uma série, já que a IA veio pra ficar).
O gatilho desse texto foi um post do Leandro Proença (que também lançou um post no Bluesky), e a partir dos breve comentários, achei que seria massa trazer isso de uma forma mais corrida (acredito que em breve saia o artigo dele também sobre isso).
Para começar, antes que os defensores de vibe coding venham tacar preda, eu trago nesse texto a minha experiência com inteligência artificial, e também de como eu acredito que ela pode ser benéfica. Já fui um cara mais contra ela, mas na engrenagem do capitalismo, eu não faço as regras, eu só aceito. Pois bem, vamos lá.
Eu, Robô
Bom, eu estive envolvido em dois momentos com projetos de IA de forma profissional, e acredito que isso me possibilitou ver dois momentos distintos o quanto ela avançou para o usuário final. Em 2023 a 2024 (se não me falha a memória), eu estive em um projeto pensando Chatbots com IA para auxiliar uma área que era muito onerada pelos contatos via aplicativo de comunicação interna. A ideia era utilizar alguma ferramenta que ajudasse a fazer uma triagem e resolver pequenas dúvidas. Tive contato nesse período com as ferramentas do Chatbase (que usa o GPT por baixo dos panos), e também do Gemini e Amazon Q (esses tive só apresentação de consultorias, sem ter um uso efetivo).
No segundo momento, foi quando passaram a avaliar ferramentas de código com IA embutida. Por conta de me envolver em bastante projeto, acabei tendo a oportunidade de participar desse piloto junto com outros devs, e aqui foi onde eu acho que começou a ter coisas com as quais eu não concordava, não via que agregava valor e que não entregava resultado, segundo meu ponto de vista.
Minority Report
Pois bem, esse segundo momento foi um processo mais impositivo, mas acredito que era para justamente testar os limites da ferramenta e saber onde ela atenderia ou não. A ferramenta escolhida foi o Cursor, e a primeira vista não dei muita bola, até começar a perceber que havia uma pressão maior para usar a ferramenta diariamente (e era válido, aliás, quem estava encabeçando o projeto precisava de dados para tomar uma descisão). Decidi me abrir para a ferramenta, e comecei de forma tímida a utilizar o Chat, muito para geração de ARDs e PRDs das aplicações legadas, e me pareceu muito interessante nesse sentido.
Depois avancei para uso do autocomplete e, enfim, comecei a ter uma fluidez maior. Contudo, sempre com um pé atrás - aliás, sou de humanas, essa criticidade de tudo faz parte de mim. Passado um tempo, a ferramenta se afirmou como útil, mas ao meu ver de forma muito prematura. Acredito que um tempo maior de benchmark faria mais sentido, além de qualificar os dados: quem estava usando a ferramenta (por níveis de Jr, Pl, Sr…), como estava usando, quando estava usando, para quê estava usando, qual a qualidade de prompt utilizada e, sobretudo, quantos prompts foram utilizados. Digo isso, pois um dos vídeos que vi na época foi do Augusto Galego sobre esse medo dos devs, e ele trazia esse ponto da relação entre quantidade de prompts e o quanto gastaria pra fazer na unha.
Nesse processo, foi solicitado alguns feedbacks, e acredito que muitos mascaravam um limite, que é claro, dessas IAs que auxiliam na codificação, fora a elaboração de estatística sem ter um cuidado com o que se diz. Ninguém é bobo, todos nós somos adultos e vivemos em um mundo capitalista; no mundo do trabalho, somos divididos por níveis, e cada um toca a banda como deve tocar. Digo isso pois, você fornecer dados como: reduziu X%, aumentou X%, etc, etc, etc, é o que faz brilhar os olhos dos cabeça branca (quem tem dim dim de verdade). Essas métricas, segundo o breve curso que fiz de UX, condiziam mais com as famosas “métricas da vaidade”.
Projeto Gemini
Bão, chegamos ao ponto que eu queria chegar. Antes de qualquer coisa, acima eu só expûs o que eu senti e acreditava para aquele momento, inclusive em conversas que tive no privado com colegas e em reuniões conjuntas. Não se trata de nada além de perceber o óbvio em nossas relações de trabalho, como empregador e empregado.
Indo pro que interessa. Estive em um projeto posterior para servir de case para a área, onde deveria utilizar IA de ponta-a-ponta - a ideia é interessante, se você agora pretende fazer um benchmark agressivo para saber os limites internos de onde a IA pode ir de fato. A princípio, era um sistema legado, que tínhamos já alguns problemas, e miramos nele por conta de uma simplicidade de lógica de negócio.
Não vou trazer aqui o passo-a-passo desse projeto, pois trata-se de algo mais interno, e inclusive foi gerado apresentação para contar um pouco de como foi o processo (mas, claro, seguindo o rito corporativo). O que eu queria trazer aqui são os efeitos de como conduzi esse processo (claro, influenciado por uma necessidade de que eu não intervisse no código).
Já havia cerca de 1 mês que estava usando o Cursor para pequenas coisas, e seguia o rito normal de trabalho (como os Incas e os Astecas). Até que chegou esse projeto, e a lei era: não deve haver intervenção do DEV. Ou seja, eu iria apenas guiar a IA a construir tudo de ponta-a-ponta, testar, enviar bugs do terminal para a IA, e ela se resolver.
Ex_Machina
Esse período de duas semanas, eu tive um uso intenso de IA no dia-a-dia, basicamente o dia inteiro eu estava ali conversando com o Chat, usando o Claude Sonnet 4, e refazendo do zero o sistema legado escolhido. Quando foi gerado a primeira versão okayzinha, eu achei animal. E com isso fui ajustando layouts, resolvendos bugs, montando as funcionalidades - parecia coisa de outro mundo. Entretanto, cada vez mais notava um distanciamento meu em relação ao código. Em empresas de tecnologia se discute muito o ownership do produto que você trabalha, mas com essas IAs agora, como fica a questão?
Nesse período, também me aperfeiçoei um pouco em prompts, usava Gemini como auxiliar para gerar prompts para o Cursor, mas não programei uma linha de código sequer, absolutamente nada. Apenas validava as construções, se elas faziam sentido, pedia para refatorar de maneira X, mas sem programar.
Teve alguns momentos que me assustei pela facilidade: implementar em 15 minutos a tokenização de URLs para mascaramento de IDs, com testes já incluídos nos specs. Agora você me pergunta se eu sabia fazer isso na unha, vou ter que te falar que não.
É onde percebi o quanto de produtividade que ela trazia, era o quanto de burrice ía crescendo em mim. Sem perceber no avanço, de mais duas semanas, em 1 mês eu posso atestar que tenho uma queda relativa cognitiva no que diz respeito ao uso de IA (servi de experimento pelo menos). Incomodado com isso, calhou que uma Newsletter do Tem vaga pra Jr! enviou esse texto aqui:
O preço invisível do ChatGPT: estudo revela que uso constante pode reduzir sua criatividade
Esse artigo fala um pouco de como o uso intensivo das IAs podem afetar as nossas ativações neurais, e de como a longo prazo isso representa um perigo. Chegou ao ponto, de eu começar a internalizar que não sabia mais programar, que eu era uma farsa. E, de fato, todo aquele monte de código não era meu, não fui eu que pensei, encadeei, nada disso. E se der problema em produção? Entraremos na Engenharia Reversa para descobrir o problema e no que vai dar. Ou capaz, que entraremos na era do “vibe fix”, reúne um monte de log, dados, joga pra IA e deixa ela resolver (será que dará certo para contextos que tem inúmeras integrações e complexidade lógica?).
Fora isso, um tema pouco falado, todo mundo fala que você tem que aprender prompt, xyz, mas pouca gente fala do impacto em saúde mental que uso intensivo pode e deve estar gerando em desenvolvedores pelo mundo a fora. Essa pressão, cada vez maior, por resultados a todo custo, faz com que os devs abram mão de sua persona envolvida, para delegar para a IA, porque de fato ela entrega mais rápido, a questão é: entrega com qualidade?
Com o Cursor, e outras ferramentas de código, criou-se um frenesi da entrega a qualquer custo, lideranças levando que o time aumentou em mais de 150%, é um novo ápice do capitalismo no ramo da tecnologia. E juntamente disso, vemos o ápice da alienação do trabalhador - é, a gente só sente quando a água bate na bunda. Quando os maquinários chegaram nas linhas de produção, quem estava no âmbito administrativo não sentiu que seria substituído, até que surgiu o computador, planilhas, sistemas (e todo esse mercado criou o mercado de devs). Mas agora, a conta tá chegando pra gente que somos peões premium. Como lidar com tudo isso?
Matrix
Parabéns guerreiros e guerreiras, se tu chegou até aqui, depois de eu falar para um caralho, você só precisa clicar no link abaixo e mandar “EU QUERO” no comentário, que irei mandar os melhores prompts para salvar a sua vida, além de assinar minha newsletter semanal, e minha mentoria pela bagatela de 15 mil dól…..brinks.
Bom, diante disso, “o que eu faço Victor? não uso IA? uso IA?”. Bão, aqui é aquele momento do Morpheus com o Neo, você tem duas escolhas:
1 - Usar a IA como ferramenta
2 - Tornar-se gerente de IA
A escolha é sua. Eu estou falando de um lugar como desenvolvedor pleno, outros textos de devs mais novos e mais experientes pode ajudar dependendo de você que tá lendo. Eu, já tomei a segunda pílula, e eu trouxe no texto (acredito ter deixado bem claro) o quanto me fez mal.
Acredito que a gente precisa usar a IA como ferramenta, ela veio pra ajudar de fato, otimiza muita coisa, e tá bom. Como você pode usar? Acredito que já evitando prompts do tipo:
- Preciso que você ajuste a view X, está vermelha, não branca
- Preciso que você me ajude com esse bug aqui (aí vem um rajadão de trace do terminal)
- Preciso que você crie uma rota que irá devolver o payload tal
Evitar esses prompts bobos (mas muito danosos) é importante, porque quando você menos ver, você já nem tá mais pensando direito, você só vai dando rajadão de linguagem natural e a IA vai se virando nos 30.
Outra coisa, evitar terceirizar trabalho. “Ai, mas o meu chefe tá cobrando de usar IA”. Irmão, tu vai usar a porra da IA, mas não terceirizando. No dashboard ele não vai ter o que tu inputou (se tiver também, qual o problema?). Então evita prompts que a IA gera troucentos códigos que tu não faz nem ideia do porque ele criou a disgrasa de um concern na aplicação, imbutido num service, pra chamar no controller.
Procure, em vez disso (e aqui não vou discutir prompt, então calma lá pedreiro de prompt), traga prompts que estimulem seu pensamento lógico cognitivo. Não recorra a IA primeiro, saia dessa porra de IA First. Primeiro tente pensar por você o problema, quais seriam as hipóteses, investigue. Isso não leva tanto tempo quanto a gente diz (nós devs adoramos aumentar como se as coisas fossem muito maiores do que são). Beleza, pensou? Agora, chegou num limite do que você raciocionou, aí é interessante com o apanhado de informações, perguntar para a IA se faz sentido, que caminhos e alternativas ela poderia te dar.
E com isso, evite que ela construa todo o código para ti de cabo a rabo (claro, há pedaços que são chatos de se fazer, que você pode pedir pra ela dar aquela forcinha). Mas você, jovem gafanhoto, dev jr, não faça isso, você mais do que ninguém nessa terra, tem que escrever cada linha, inclusive coisas repetitivas, para fixar o conhecimento da linguagem.
Em contextos que os códigos precisam de um pensamento mais complexo, em vez de pedir para a IA solucionar, opte por solicitar que ela te indique o caminho, qual seria o passo-a-passo, sem lhe fornecer código. Até para você considerar se aquilo faz sentido ou não.
Último ponto que queria trazer de como usar, é a etapa final do seu trabalho: a revisão. Após você pensar, seguir o passo-a-passo, etc, peça para ela revisar, se faz sentido com requisitos, histórias de usuários ou seja lá o que for que tenham te passado de especificação. Com isso, você usa ela para dar um carimbasso no seu trampo sem te emburrecer.
Dessa forma, nós enquanto devs, trabalhamos de maneira mais orgância e colaborativa com IA, conseguindo trazer satisfação pessoal no nosso dia-a-dia, tendo o famoso ownership do código (muito útil em WarRooms) e deixando nosso cérebro mais forte (porque aliás, ele é um músculo que requer treino constante para não perder o shape).
The Terminator
Bom, essa foi minha visão que eu queria passar, se você não concorda, deixa nos comentários, se concorda, também deixa a sua visão aí. Não quero bancar o paladino da IA, e falar o que tá certo e errado, é apenas minha experiência e minha visão, vai de você escolher e definir como quer usar as IAs, só tome cuidado para não cair na dependêncIA. Fé!
PS.: Esse texto não foi escrito e nem revisado por IA, conforme selo de qualidade abaixo.
Em tempo, vi ontem um vídeo sobre o outro lado da moeda do GPT, vale muito a pena ver esse vídeo da BBC: ChatGPT: o que você não vê.
Top comments (0)