How to lose a friend

On anti-systems approaches to software development
Several years ago, I met a coworker who would become a friend. We were both working at Square, and he needed help on a problem with a load-bearing Gradle plugin[1] that was causing some issues. To be honest, I don't even remember the nature of the problem. What I do remember, quite clearly, was being impressed with how quickly he picked up the skills and knowledge necessary to become not only productive but genuinely helpful. With some guidance from me, he solved his team's problem—and because of the importance of this plugin in the wider ecosystem, he solved many teams' problems.
Yesterday, my friend confessed, not for the first time:
More and more I feel like I have maybe one more job outside of this and I'll be obsolete and need to find something else. Maybe become an electrician or carpenter. The latest models are terrifyingly good.
He's not alone in feeling like this. Eventually he'll opt out of the system, or be forced out, and those that remain will feel even more strongly that "the latest models are terrifyingly good." (Self-)selection bias is funny that way. Anyone who can't stand working with LLMs simply doesn't, and isn't represented in the data. Maybe they're not even in the industry anymore—and doing something useful instead, like being a plumber.
When I think back on how I met my friend, I think that what my CEO would have wanted is for someone (maybe just me) to prompt an LLM into a solution to the original problem. If it were someone else, then I'd be tasked with reviewing the proposed change. It would be some sprawling mess with hundreds of lines of unnecessary documentation, a hacky solution with smart-sounding but ultimately meaningless comments explaining why it worked (and it may have). Ultimately I would have rejected it as unmaintainable.[2] If someone suggested that I solve the problem instead, I wouldn't have, because it didn't impact my team and I was already fully committed for the quarter.[3] Perhaps the problem never would have been solved in any fundamental way, and many different teams would have found little one-off hacks that would live on in build scripts for years because everyone was too scared to touch them—it ain't broke, so don't fix it.[4] Alternatively, maybe I would have taken it on, with or without the help of a bucket of tokens. And then I would have taken medical leave for burnout sooner or for longer.
And of course, in any of those scenarios, I never would have made a new friend.
- ← Previous
AGENTS.md considered expensive