I always was a nerdy, deeply technical programmer. Contributing-to-open-source-and-reading-papers-in-my-spare-time type of programmer.
Programming is like a game of chess for me: winning (i.e. delivering a product) is important, but only if I played this game myself. I don't enjoy winning if my opponent disconnected. I don't enjoy beating people who don't know how to move pieces. I don't enjoy winning with an engine, and coding agents are basically "winning with a chess engine".
I started to use AI for coding a long time ago, when copilot was first introduced. At first, I was happy: "wow, this can write boring boilerplate and unit tests". Time went by, agents got better, time spent writing code myself went down. Half a year ago I suddenly realized I hadn't written any code for over a month, and I am a full-time software dev without any managing work. Not only did I stop writing code, but agents also became pretty good at proposing plans and architectures, and I was mostly providing missing context and technical details of our infrastructure.
One day the realization hit hard. Coding agents removed everything I loved, and - mostly - amplified everything I hated. My role is to gather context from other humans and provide a detailed explanation (similar to a well-written jira ticket) to some super intelligent engineer, then review the result and provide more context/explanation if needed. So, basically, a manager.
A couple of years ago I could work on a single coding task for weeks. I knew all classes, all functions, I was slowly building up information at a comfortable tempo. Now I am forced to increase my mental throughput multiple times. What took a couple of weeks now takes a couple of hours, and I still need to comprehend that. I always feel tired, I don't have enough mental capacity to hold that many abstractions and technical details. So you either autoaccept or get burned out reviewing tens of thousands of lines.
One more downside is that code has 0 value. You can code your own OS from scratch, and people will think "ye, I can vibe code that in a weekend". I don't even know what is valuable nowadays.
Maybe I am a bad employee. Increasing employer profits was never my goal. I always loved to solve puzzles, and for the last 10 years this was well aligned with my employer's desire to increase profits. I never was good as a manager, or brilliant at generating ideas. My power - and passion - was solving complex technical problems with my hands, fast and with good quality. Now it is gone forever. I feel completely lost and unmotivated. I don't see any value in learning anything related to computer science, reading papers, contributing to open source. I hate my new "AI delegator" role and I hate my work. I loved coding so much (I use neovim btw) that I was sure I would do this until I die, and now I don't know what to do with my life. This is the only thing I know, and, most importantly, the only thing I am/was passionate about. Anyone else feeling the same?
The goal was being able to make things and I've judged my abilities on how much faster I can do things year after year. This speeds things up on one side but creates this backlog of things that need testing.
I still love programming but I always preferred the language and style I used 30 years ago. I've been forced to adapt to newer ways, frameworks and different methods to keep up with the times. Using AI is the new react/angularjs frontend pattern of 2015. All of these new patterns were less satisfying then what we had before.
For me I'm doing things I couldn't find time before and polishing areas I could but weren't high quality enough.
Paying for AI is a struggle mentally and trying to find a good balance is part of the newer challenge. A codex subscription gets used up too quickly or I can't find enough tasks to use up my subscription and both states cause mental burden. At work trying to maximum output while keeping within a reasonable token usage level is a struggle. Local models using cpu can do a lot for free but need to be carefully planned to limit scope. Using free opencode models works but code quality can fall apart so carefully balancing that can be hard. The code quality of top end models looks awful but can be better if you want to spend time on that aspect and trying to balance that with token usage is hard.
My biggest wonder is if job interviews are testing that you can hand code still but forcing you to use llms when hired.
reply