Naming things is hard

Just because you like it doesn't mean it's good for you - AI edition

My very first post on this blog was about remote work. It highlighted that even though it might feel more convenient to not have to travel to the office, and more efficient to not spend time in commute or not be distracted by the teams around you, in the long term you might just find that all that friction has provided a benefit. In some ways, this post is similar to that.

I’m not trying to pass a definitive judgement, but at this point it feels like every serious software developer has to make a call on where they stand with AI in relation to their role. This is mine. (Though I acknowledge this may change in the future - in fact, it’s only prudent to periodically revisit my approach as this is a rapidly developing new world.)

I’m less than enthusiastic about the way AI is changing our jobs. This is both down to professional and personal reasons. On the professional side, I have strong concerns regarding the long-term effects of heavy AI usage on both our products/codebases and our abilities. On the personal side, woring with agentic AI gives me none of they joy I experience while coding by hand - see my previous post. I acknowledge that my personal feelings are clouding my professional judgement, as well as the sunken cost fallacy of my coding years, and related biases. On the other hand, my experience may give me insight into what works and what doesn’t at least for me.

So currently I’m using AI sparingly and with a definite distrust - both about the quality of its output as well as how good an idea it is for me to use it in the first place. I’m mostly aligned with Lars Faye’s take: “I never ask an LLM or agent to implement something that I’ve never done before or couldn’t do on my own, except perhaps purely for educational or tutorial purposes (and often discarded afterwards).“. When it comes to writing code, I use AI to get some of the busywork done, but I insist on doing a fair chunk of it myself. I use it much more to have it explain concepts and snippets for me in codebases or languages I’m not familiar with.

This is not to say I’m ignorant about the capabilities of today’s models and harnesses. It genuinely amazes me what we can do with LLMs now. I also know this genie cannot be put back into the bottle.

You might say I feel about AI coding as Obi-Wan does about using blasters. When he had no other choice, he did not hesitate to shoot General Grievous, but then he tossed the gun with disdain. “How uncivilized” - he proclaimed.

Coding by hand is my lightsaber:

This is the weapon of a Jedi Knight. Not as clumsy or random as a blaster; an elegant weapon for a more civilized age.