Hook It Up to the Machine

In the early 2000’s, my parents took us on a road trip to Glacier National Park in Montana.

We made the journey in our new (used) family van: a green Dodge Caravan whose reputation was soon to become “a lemon”.

I was a teenager and didn’t pay a lot of attention to the details of what was happening around me, but I do remember how the van kept overheating. It ran fine on the interstate, but anything under 40MPH had the car’s temperature gauge rising into unsafe zones.

I remember stopping in some small town in Montana to get it checked out by a mechanic. He checked it out, took it for a test drive, etc., and told my Dad the reason the car was overheating was because the idling fan wasn’t turning on. At higher speeds, like on the interstate, that was fine because there was enough airflow to keep the engine cool but at lower speeds the car would overheat. The mechanic said he didn’t know why the fan wasn’t turning on. There was nothing wrong mechanically from what he could see. But he couldn't fix it. He told my Dad that this was one of those increasingly common “computerized” cars that you have to hook up to another computer to diagnose the source of the issue. And he didn’t have one of those computers.

So we continued on our way. The rest of the trip required my Dad taking “the long way around”, like back roads where he could keep up his speed in order to avoid the car overheating. It was all very amusing to us as kids, almost thrilling because Dad had a legitimate excuse to drive fast (suffice it to say, Mom did not like this).

Once the trip was over and we returned home, my Dad was able to get the car in to a dealer where they hooked up the car’s computer to another computer to diagnose and fix the issue. I don’t really remember the specifics, but the issue was seemingly some failed digital sensor that prevented the idling fan from turning on. Once the sensor was replaced, things worked again.

Computers talking to computers.

Growing up in an era that shifted so many things from analog to digital, mechanical to electronic, I’ve thought about this trip a lot.

And I’m thinking about it again in this new era of building software with LLMs.

I think about that mechanic. This guy who grew up around mechanical cars that could be physically inspected, diagnosed, and repaired. So much of his experience and knowledge unusable in the face of a computerized car.

You can tell when a mechanical switch has failed with your eyes, but not a digital one. You need a computer to help you understand the computer.

Will this be my future?

If a codebase was made with the assistance of an LLM, will its complexity and bugs only be inspectable, understandable, diagnosable, and fixable with an LLM?

“Hey, can you help me, there’s a problem with my codebase?”

“Ok, I can confirm the issue, but I can’t fix it without hooking your codebase up to an LLM.”