Everybody’s Got One

If you woke up this morning hoping for one more person’s take on all this ‘AI’ stuff, I guess it’s your lucky day.

You won’t find a(nother) rant about how large language models (LLMs) aren’t all that ‘intelligent’, how they pose an existential risk to humanity, make people dumber, are eroding our ability to build and maintain software, are eliminating millions of jobs thereby upending the global economy, or how the whole thing is a bubble floating over a pyramid (scheme) and built entirely on theft.

All of those things seem true to me to varying degrees (especially the theft part), but that’s not what this is about. So if a rant about one of those what you’re looking for, best keep looking.

Ok, I said no rant. I lied. For the record, I utterly abhor that a small number of sociopaths are building empires and fortunes based on what can only be described as blatant and intentional theft. It’s not the first time this has happened – see: robber barons – and it probably won’t be the last. But these people are “sorta my people” and my small part in enabling this reality fills me with no small amount of regret. Even if AI ends up being amazing (and to me the jury is most definitely still out), the original sin will remain.

If you’re early in a career in software and looking for guidance, or predictions about the course of the industry, there are lots of places to look. If you’re well into that career arc and trying to orient and navigate there are no shortage of thought-provoking and often depressing perspectives to consider.

If you’re looking to understand how these chat bots (and the large language models they’re built on) do the seemingly magical things they do, take a few hours (!) and let Andrej Karpathy explain.

All I’m offering is a (hopefully cogent and coherent) exposition of what’s in my head.

Caveat emptor.

I’m not an Artificial Intelligence expert. Like others “of that age” I had a dream of teaching machines to think. In my teens I voraciously consumed science fiction, read futurists like Hans Moravec, and was convinced we were probably “really close” to being able to build thinking machines. For a while I considered studying cognitive neuroscience on top of computer science, but realized it was probably biting off more than I could comfortably chew.

I was interested enough to do some related coursework during my computer science undergraduate, in the mid 90’s. At the time the practical state of the AI art were things like expert systems, and there was a bit of an “is it/isn’t it” tug-of-war with the information retrieval folks who focused on organizing information in ontologies and graphs. Image recognition and natural language processing were unsolved areas of active research, and you could tell the “AI people” ‘cause they wrote code in Prolog or Lisp.

I ended up being pretty disillusioned by the state of the art and didn’t give it much more time or attention for years.

I started paying attention again around ten years ago. Advances in compute (and a bit in algorithms) made things that had been “impossible” (or at least impractical) suddenly possible or “adjacent possible.” This was right around the time a bunch of non-PC gamers started to care about GPUs (Graphics Processing Units).

Since then I’ve built stuff – and helped teams build stuff – using machine learning (a term I strongly prefer over “AI”), and I’ve built and trained small models, and used the current (recent?) crop of large language models enough to have a sense of their current capabilities and limitations.

So I guess I’d describe myself as “not completely clueless.”

So… “AI.” Let’s start with two dirty little secrets.

Dirty-little-secret #1: In the decades I’ve been in the software industry, I’ve rarely loved the act of writing code.

I loved (and still love, mostly) solving problems for people who couldn’t solve those problems themselves. Writing code was a means to that end – not the end.

I didn’t hate writing code, but knowing I’d figured out a solution was the really rewarding bit. And (or maybe “So”) I was really never “the best coder” in a group. I was a “pretty good programmer” and I worked to develop good habits that let me collaborate with people who were better than me and only rarely feel like the idiot holding us back.

I also had some experience early in my career that forced me to realize that over time – especially as the people who wrote it disburse – code becomes more of a liability than an asset. So, in the long term, less can very much be more.

Dirty-little-secret #2: One of my few persistent “career goals” has been to put myself out of a job. To make my role unnecessary. I think of it as being “lazy in the long term” – willing to work hard on a problem today so I can stop working on or even thinking about that problem entirely “tomorrow.”

Despite the marketing hype, the current generation of LLM-based tools don’t have the potential to make “people like me” obsolete. What they do have is the potential to drastically reduce the number of people who need “people like me” to help them solve problems with computers and technology.

In a world that “software ate,” but where most people can’t self-service their software needs, these tools have tons of potential for disintermediation and empowerment. Disintermediation and empowerment seem good.

So you might think I’d be loving these tools.

I thought I would, too.

But, it turns out, I do not.

That’s not to say I hate them. I don’t. The opposite of love isn’t hate.  It’s indifference.

On a personal level, I’m mostly indifferent.

On the broader implications and impact of these tools and technologies it’s closer to say that I’m ambivalent, and from a professional perspective not actively embracing AI is potentially problematic. Those are both topics for another time.

I’ve come to realize that I just don’t enjoy using these tools, and I really struggle to convince myself that the value they have is worth their costs. (NB: Their actual costs. Not just the loss-leading “we’ll make it up in volume” fistfuls of dollars each month they’re priced at today.)

They’re too often opaque, capricious and unpredictable. making it unwise to trust their results.  That makes me not reach for them to answer questions, or solve problems, unless I’m already confident I know the answer.

I think about the output from an LLM as I might the writings of a hard-line political pundit. Everything has to be skeptically considered. Everything has to be fact checked. It turns out that without chasing the footnotes, you’ll never know if the reference material really says that, or even if it exists.

Maintaining the appropriate level of skepticism is real work.

I find that these tools transform work but don’t reliably reduce or eliminate it.

They turn writing English into reading and re-writing English.

They turn writing code into reading reasoning about and fixing code.

They turn fact and knowledge seeking into, well, fact and knowledge seeking.

Don’t read this as me saying these tools have no value. That’s not my point at all. I’m making a bounded statement about my experiences with these tools.

The other thing I’ve learned, which surprised me at first, is that using an LLM to answer a question, or write code, or solve a problem makes me feel … nothing.

I was drawn to computing, and ultimately studied and pursued it as a profession, because I found it rewarding. Not just financially – though getting well paid to do something I enjoyed was certainly not a bad thing. Solving problems – especially tricky problems – feeds my brain endorphins.

And who doesn’t love endorphins, right?

I love learning, and each time I attack a problem – win or lose – it changes me a bit. Teaches me something.

I get none of those rewards when I use these tools. The victory feels hollow. As if I’ve cheated. Or have been cheated.

A friend and former colleague said we’ve “…largely become a culture of answer seekers, not knowledge seekers. We want the answer, but don’t particularly care to understand why or how. This was a problem before AI.”

I think he’s right, and his observation touches a nerve. One of my most valuable (and most irritating) habits was instilled in me at a young age by my uncle Denis – an actual working scientist who told me to “Always ask why.”

Supressing that impulse, lessening the drive to understand, makes me… sad.

I stumbled across an analogy that resonated with me – using language models and chat bots to write or solve “thinking” problems for you, this author said, is like bringing a forklift to the gym to lift weights. If your only goal is to lift the weights, fantastic, job done – provided the model doesn’t drop the weight on someone’s toes, or decide to drive through the locker room instead. But if any part of the goal is to become a person who can lift weights … learning to drive a forklift is becoming someone who can drive a forklift, not someone who can lift weights.

If what you need to do is move lots of heavy things, over and over, day in and day out, and that’s all there is, by all means use a forklift. Just realize that what you’re getting good at is driving a forklift.

This might lead you to ask the entirely reasonable – “so what?”

Well, from a personal perspective, I just don’t use these tools much. I don’t pay for a chatbot and don’t imagine that changing. I occasionally ask Gemini questions – when it’s not outright fabricating things the model is pretty good at summarization. I’ve had Claude write code – especially when I already know what the code needs to do and the cost of verifying it’s “done it right” is lower than the cost of me just doing it.

But I don’t use AI every day. Or even most days.

I don’t ask a chatbot for feedback on my writing, for instance. I write it, read it, revise it, and sometimes ask other people to read and critique it too. So my writing has occasional typos, sometimes mixes metaphors (thanks, Matt!), and can be a bit awkward.

And that’s ok.

Over the years I’ve been writing, I’ve gotten better at it – and the point isn’t just to lift the weights.

Leave a Reply