It was the first time in weeks, maybe months, that I’d felt something that used to be common in my day-to-day: excitement about the lines of code in front of me. I used to write (approximations of) Good Code most days. Somewhere along the way, everything changed. Nowadays I don’t even write the first version of most of the code I commit. I’m definitely far more productive with an agent at my side. They’re not at all horrible at this coding stuff, just not truly great at it. At the end of the day, the code they spit out is… acceptable. It gets the job done, it passes my litmus tests, but it certainly isn’t Good Code.
You use an agent to write code, the code is not very good, and it makes you miserable. You claim to have written good code every day in the past and to have been happier that way. So why do you still use the agent? Just write the code. Why complain in a blog post? Just do it the way you prefer that also gives better results.
So, out of college my first job was at Cisco. I worked on IOS. I was a good programmer for someone just out of college and after my first year I owned the entire power system part of the code for the new line of switches to be released.
I killed myself working that first job. Literally have back pain to this day and have hearing loss from being in lab with loud fans.
I was, however, promoted slower than many other engineers that joined at the same time.
What I came to realize is that companies do not want or care about good maintainable code or features. They care about the amount commits or bugs you close. They don’t care if you create 100 more bugs in that process. I realized this one day working with an engineer that had been promoted twice when I had only been once. He had no fucking clue what he was doing.
Say the bug was something like. The CLI was outputting the wrong index for the card in slot physical slot 5.
Now, me, I’d spend time looking for the source of this. All 7 slots use the same indexing loop in the CLI print. It’s clearly an issue on what is being written as the index in the backend. The loop is hard coded to 0-6 but it is pulling the cards user displayed index using the values written to non volatile storage. I’d find the source of the issue. Verify that slot 5 was actually displaying the correct info for that card and being associated with that cards eeprom dump correctly. I mean the bug is “slot 5 is showing wrong index” but it could actually be just repeating all info for slot 6 in slot 5. Need to make sure all info is correct and that this isn’t causing another CLI with these same dependencies to fail in another way.
This guy. He’d write an if statement to subtract 1 from the print index if the index in the loop was slot 5. 2 lines of code. Fixed. Next bug.
AI is perfect for the garbage dump that is the major corporations. These were the people getting promoted.
Ironically. I’m the kind of engineer that will actually keep his job. The code monkeys are the ones that will be cut as the AI “fixes” shit just like they do.
But now we have to cleanup the AI garbage instead of the garbage code the “senior engineer” wrote.
To do something right, you have to do it twice. Never in history has someone’s first whack been Good Code. That’s why compiling the first time is suspicious. Anything complex enough to celebrate is difficult to keep in your head all at once, and finding a simple alternative is only satisfying if it’s worked down from something merely okay.
Having a machine that spits out something merely okay sounds conducive to the goals of this back-in-my-day rant.

