Executando verificação de segurança...
16

1 mês usando Antigravity full agente e perdi um pedaço da lógica de programação

Eu sou dev full stack pleno, trabalho com Nestjs + Angular. Eu sei iniciar um projeto, configurar git, github, docker compose, postgres, subir servidor, fazer CI/CD, teste de carga, configurar nginx, firewall, DNS, etc.
No meu emprego atual, eu sou um Tech Lead hands-on. Portanto, eu que corro atrás de tecnologia, programo, faço arquitetura, code review, etc. Mas eu trabalho para uma empresa pequena, então estamos sempre em processo de mudança, e a mais recente, foi abandonar vender software grande e focar em softwares pequenos, migrando toda a escrita de código para o agente do Antigravity.

Sobre mim

Eu sempre fui muito estudioso. Eu nunca fiquei preso na minha stack! Eu gosto de GO, C++ e CLI. Eu iniciei como suporte e aprendi a programar em bash, depois estudei Javascript para front e backend. Não satisfeito, eu comecei a aprender Java, C, C++, Dart e GO. Eu estudei arquiteturas e teoria dos compiladores, comecei a criar meu primeiro parser e meu primeiro lexer em GO (ficou um lixo). Pouco tempo depois, comecei a escrever um compilador e uma linguagem própria, nunca tive dificuldade em lógica de programação, até participei da criação de uma linguagem (abandonada) com alguns colegas.
Eu sempre me destaquei em aprender rápido as coisas, eu tinha uma boa base, eu aprendi Dart, apanhei um pouco pra GO, mas aprendi. C e C++ foram mais fáceis. Porém, eu tenho um enorme problema: quando eu fico muito tempo sem praticar algo, eu esqueço. Eu já tive que reaprender GO 2x, Dart eu tive que reaprender 1x e Flutter 3x.

Ultimo projeto

Meu ultimo projeto, foi um e-commerce baseado em cotação. Fizemos o sistema para o cliente, e esse foi o ultimo antes da migração total para o Antigravity.
Depois, eu comecei a atuar sozinho em um CMS, fazendo a migração do Lovable para o Antigravity. Passado 3 semanas, está entregue. Eu dividi meu tempo fora do trabalho (que sempre foi curto) para voltar a estudar GO e Dart. Meu projeto atual, está sendo um cliente http em Flutter, é o meu esforço para abandonar clientes feitos em Electron.

Consequências

Eu precisei ficar um tempo sem estudar, sem praticar, sem programar. Eu estava usando o cliente http para re-aprender Flutter, mas precisei dar um tempo. Então antes eu dedicava 2h por semana + ou - nesse projeto, recentemente eu dediquei nada.
Então, agora eu resolvi voltar. E eu estou perdido! Comecei a me perder no código, comecei a me perder em estrutura de dados. Enquanto antes, eu transformava um simples objeto em um array super complexo, envolvendo várias tabelas com join e reduce, agora eu não consigo nem pensar em como fazer um botão ficar ativo.
Sinto que perdi parte da minha lógica de programação, em Go, eu comecei a estruturar as coisas de maneira bagunçada, eu mais refatoro código do que escrevo.

A situação está difícil eu nunca pensei que perderia 3 anos de estudo constante tão rápido.

Em fim, apenas um desabafo. Eu ando muito cansado psicologicamente, quando eu saio do trabalho, eu não consigo mais pensar nas coisas direito, então a minha lógica que estava ruim, com o cansaço mental fica muito pior. Eu aos pouquinhos, vou voltar a estudar, fazer um esforço para praticar, eu odeio Javascript, mas gosto de Dart, GO e C++. São minhas linguagens favoritas, o que acaba sendo meio frustrante essa situação.

Carregando publicação patrocinada...
4

O cérebro humano não é um banco de dados. É muito difícil gravar algo na mente devido a limitações biológicas.

Dado o seu histórico, é evidente que você mais reconhece do que realmente aprende. Quando aprendemos algo não esquecemos. Isso serve para a coisa mais banal.

Não sei se gosta de jogos, mas se jogou algum por bastante tempo, e parou, então voltou, independentemente de quanto tempo, aposto que ainda lembrava de como funciona as coisas e a fluidez continua lá. Precisa tirar o ferrugem, mas é relativamente rápido. Isso de dá pela a quantidade incrível de prática que colocamos sem perceber em jogos.

O ideal é sempre pegar uma ferramenta enxuta para aprender, e focar somente nesta, afinal o ponto é aprender. Eu recomendo Rust, C ou C++. Como linguagens são apenas ferramentas com prazo de validade, não compensa se matar para estudar mais do que 2 linguagens (a menos que seja necessário para trabalho). É possível implementar algoritmos, lógica, estrutura de dados, interfaces e etc em praticamente qualquer linguagem. O aprendizado é o mesmo, muda somente a sintaxe!

Eu tenho planos de criar um Runtime usando Rust para entender melhor como lidar com concurrency, threads, smart pointer e por ai vai. Apesar de ser em Rust, poderia ser em absolutamente qualquer outra linguagem.

Acho que deu para sacar, não? Pegue uma linguagem, use isso para aprender o que realmente importa e não outras linguagens pois isso tem prazo de validade. Fundamentos por outro lado, então sempre presente, mesmo que a maioria das pessoas não vejam.

Não é só ler, não é só fazer um exercícios, é suar praticando o que acabou de entender, seja por livro, video, ou qualquer outro lugar.

A situação está difícil eu nunca pensei que perderia 3 anos de estudo constante tão rápido

Não acho que perdeu nada, e você eventualmente irá entender o motivo.

Não sei se serve de consolo, mas já dediquei exatamente 3 anos e alguns meses supostamente "estudando". Um dia eu me dei conta que no fim do dia eu não sabia praticamente nada. Ganhei uma certa maturidade para algumas coisas, mas o ganho x esforço não batia de forma alguma. A sensação de frustração de achar que, devido ao tempo eu deveria saber com masteria X, foi esmagadora. Para não perder mais tempo eu simplesmente aceite que não havia aprendendo nada, foi apenas um momento de enganação onde eu fazia tudo para me convencer que estava progredindo, menos estudando. No entanto, os 3 anos me fizeram entender estudar não é fácil, mas pode ser libertador se for feito da forma correta. A forma correta varia de para cada pessoa.

A regra master para qualquer pessoa é que, estudar mais não é o mesmo que aprender mais. Cérebro não é um banco de dados, você vai esquecer boa parte do que estudou.

2

Concordo com tudo que você falou. Eu na verdade, acho que estou mentalmente cansado. Eu parei, olhei para o código e travei. Então eu copiei, mandei pro GPT, expliquei a situação e ele me deu 3 linhas de código. Partindo dessas 3, eu consegui se virar sozinho, finalizei minha feature e consegui um flow.

Eu acredito, que estou um pouco sobrecarregado, já tem quase 1 ano que eu não tiro férias. E a ultima vez que peguei férias, estava em 2 empregos, então fiquei trabalhando em um enquanto estava de férias em outro.

1
  1. Da não pra dizer que alguém nao aprendeu por um texto escrito por outra pessoa. É menorprexar como o procesos de aprendizado funciona e quem esta escrevendo, ha diversas variáveis ai. É suposição sua pelo texto escrito que abre uma faceta pra nós.
  2. primeiro fundamento no proceso de aprendizado é memorização segundo Aristóteles. Sem que se lembre de algo impossivel aprofundar conhecimento posterior.
  3. Se ele nao pratica que indiretamente memoriza mesmo que tenha aprendido pode haver perda
3

Tenho uns anos de "estrada" na TI e também tenho essa fragilidade de memória; Se foco em um projeto, esqueço do outro. O mesmo com linguagens e sintaxe, um 'Tutorial Hell' em loop.

Fiquei mais em paz comigo ao ouvir relatos semelhantes de colegas, e entender que isso é resultado da soma avanço da idade + preocupações da vida adulta + excesso de trabalho. Ontem mesmo estava pesquisando como declara uma variável em PHP - e olha que é a minha linguagem principal nos 2 projetos grandes que trabalho.

Outra coisa que contribui é o 'emburrecimento' que a IA causa, o que pode ser um problema... ou não. Tenho limitado a IA ao autocomplete, assim consigo

  • me manter codando, usando a memória e reforçando os conhecimentos de programação
  • controlar a lógica do que estou construindo
  • evitar problemas comuns do código gerado pela IA, como lógica incoerente, lapsos nas regras de negócios, descolamento da codebase existente, etc.

Vamos que vamos, a IA ainda é uma coisa nova... e com o tempo vamos aprendendo e nos adaptando.

(edit para corrigir o link)

1

Ai está uma parada que acontece muito comigo, ficar em um eterno tutorial.
Como eu disse no meu relato, eu fiz um pequeno parser para resolver um problema no meu antigo local de trabalho: criar etiquetas personalizadas usando a linguagem ZPL. Que era um inferno, então eu comecei a criar uma linguagem declarativa para resolver esse problema. E eu fiz em GO.
Ano passado, eu tive que reaprender GO, e quando eu precisei criar um Map, eu travei e precisei olhar na documentação.
Esse ano, eu precisava bombardear um endpoint em uma API, resolvi fazer em GO. Eu travei em 3 pontos: na chamada http, na criação das gorroutines e na hora de escrever os logs.
Basicamente, um loop eterno de aprende, usa e esquece.

3

Meus ¢2: tu tá pivotando teu cérebro. Como disse nosso colega aqui, mudando de dev pedreiro pra dev engenheiro. E não é uma transição fácil. E resistir será inútil.

Desapega e abraça a vida de analista de sistemas. Eventualmente tu ainda irá programar, mas será verbal coding de agora em diante. Só dar uma olhada em como foi programado o comando /specify do GitHub Spec-Kit:

https://github.com/github/spec-kit/blob/main/templates/commands/specify.md

3

Relato muito pertinente, Igor. Acredito que estamos vivendo a transição do 'Dev Pedreiro' para o 'Dev Engenheiro'. O perigo de ferramentas como o Antigravity não é a ferramenta em si, mas a perda do senso crítico.
Quando paramos de escrever a lógica básica, nosso cérebro desaprende a debugar mentalmente.

O segredo talvez não seja evitar o agente, mas usá-lo para acelerar o boilerplate enquanto dobramos a atenção na arquitetura e nos edge cases. Se você não sabe mais como o código funciona, você não é mais o dono do projeto, é apenas o orquestrador de uma caixa preta.

Falando sobre empresa pequena ou no começo, entendo a correria, mudança, a demanda da gerência eficiente, a sessão de alerta constante, acredito que isso sobrecarregue o sistema, talvez seja interessante dá uma pausa e descansar, sair e respirar. Assim limpará o processamento que demanda consumo de eficiência. Creio ser uma forma boa para se reconectar com partes da mente que deixamos de caminhar por um tempo. E que ao fazer isso pode ver uma melhora na velocidade da retomada de onde estava em comparação a quando começou do zero.

A estrada na mente só cresceu uns matos, se capinar de novo, volta ao normal.

4

Perfeito, acredito que fiquei um pouco "cego", já que eu estava no modo agente, mas não tenho nenhum controle do código (prazo). Eu vou dar um tempo pra mente, vou focar no meu projeto em Flutter e ir estudar o que eu gosto, que são compiladores.

1

Cara posso estar enganado mas mais parece que voce esta quase tendo um Burnout do que qualquer outra coisa, nao sei se isso ocorre com todos os devs mas eu nao consigo parar de pensar "algoritmicamente" e com "lógica de programação", faz parte de mim, ate pra escovar os dentes, trocar pneu do carro ou fazer qualquer outra tarefa, tudo é algoritmo estrutura de dados e lógica de programação :)

1

Estamos vivendo um momento de transição, essa é a verdade. Para as empresas a IA traz solução, pois ela entrega mais rápido, mas o ser humano precisa supervisionar e revisar essa entrega, mas para nós, devs, a situação é complicada, pois a maioria programa porque gosta e a IA tem tirado o sentido da programação. A verdade é que somos pagos para resolver problemas, mas a forma como isso tem mudado tá afetando negativamente a qualidade de vida profissional.

Tenho usado IA mais para pesquisa hoje em dia, pois usar ela para fazer o trabalho pesado não tem sido tão interessante, para coisas que vão além de POCs.

1

Tenta trabalhar melhor a sua neuroplasticidade, ela ajuda em campos como a programação para sua memoria ser ativada de imediato e conseguir materializar caminhos dentro da mente que ativam melhor o conhecimento.

É bom esquecer das coisas, porque percebe o que importa para você estar presente na sua rotina, é uma mente nova todos os dias, e focar em coisas mais importantes na sua liderança pode recompensar drasticamente o seu desenvolvimento.