Journal

Real Programmers

January 17, 2026 at 10:32 AM

AI coding assistants like Claude Code and Cursor have changed the way I work. My daily programming today looks nothing like it did even a couple years ago. Today, I hardly ever write individual lines of code. AI coding assistants has relieved me of this. It’s better at it than I am. I’m OK with that.

This is a big change for me, because over my thirty-year career, writing individual lines of code has my main pursuit, taking up most of my time and attention. It was the only way to build up the functions, methods, libraries, frameworks, and apps that delivered on my actual goal: producing great software that is useful and meaningful to people.

Now that I can delegate a lot of this work AI coding assistants, and that means I can focus more on thinking about exactly what I want to make, rather than tediously and laboriously trying to achieve my desired effects. I now spend more time thinking about the edifice as a whole, rather than on building it up brick by brick.

I love this. It’s freeing.

I know others don’t agree. Judging from what I see and read on the internet, many experienced software developers seem to think AI has nothing to offer—that it’s a fad, a trap, an option only for the lazy or uninitiated. Whatever. It’s not how real programming gets done.

This reminds me of The Story of Mel, a Real Programmer. As the story goes, there once was a programmer, named Mel. Mel had a computer with a drum memory, and it was possible to optimize every instruction the machine executed. He wrote his code in machine language.

Raw, unadorned, inscrutable hexadecimal numbers. Directly.

Mel reveled in this kind of work. He knew all the minutiae of how his machine functioned. He could calculate the speed of the rotating drum storing his machine instructions, and he could time the read head to pass over the address of his next instruction at precisely the right moment for optimal execution speed. He scoffed at programmers who were starting to use a new-fangled software aid called an optimizing assembler, a tool to assign these addresses to the machine instructions automatically. He refused to use it.

Mel said, “You never know where it’s going to put things”.

Plus ça change…

Today, optimizing assembers lie several levels beneath the notice of contemporary real programmers. Over time, we have simply come to accept the loss of detail Mel thought was essential to proper work—since it wasn’t actually essential to the task. It was merely essential to Mel’s view of himself as a programmer.

Who knows what happened to Mel when the exact details of his machine changed out from under him? It didn’t take long, for sure. That change came fast. What didn’t change was that the actual goal for Mel was the same then as it is today: making great software. The same kind of change that Mel ridiculed is—but surely fell victim to over time—is happening right now. Only the bugaboo isn’t optimizing assemblers; it’s AI.

Yes, AI coding assistants are non-deterministic. Sure, they easily get off track. Indeed, “You never know where it’s going to put things.”

Yet, we’ve crossed over into a new era anyway. Change is coming to all software development. AI is a box of magic tools, and today, I think the job of a real programmer is to figure out how to make the best use of this new potential. Build new processes. Make new tools. Integrate AI into a new working method. Succeed at this, and help to define a better future for how we create software. Ignore the new potential, and run the risk of being left behind.