Code Still Matters

Photo by Jaymantri from Pexels: https://www.pexels.com/photo/fence-2912/
One of the stories I remember from reading Walter Isaacson’s biography of Steve Jobs was about Steve recalling his father building a fence:
“I thought my dad’s sense of design was pretty good,” he said, “because he knew how to build anything. If we needed a cabinet, he would build it. When he built our fence, he gave me a hammer so I could work with him.”
Fifty years later the fence still surrounds the back and side yards of the house in Mountain View. As Jobs showed it off to me, he caressed the stockade panels and recalled a lesson that his father implanted deeply in him. It was important, his father said, to craft the backs of cabinets and fences properly, even though they were hidden. “He loved doing things right. He even cared about the look of the parts you couldn’t see.”
As we move into the age of AI agents that are writing code for us, I’m reminded that coding is supposed to be a craft, even an art form.
And while “typing code was never the job,” as many people like to say nowadays, the craft of coding is important. The parts of any system you can’t see should still matter.
That’s the part people miss. Caring about the back of the fence isn’t about aesthetics for its own sake. It’s that beautiful code, code that’s well-organized, consistently named, and easy to follow, stays reliable over time. A codebase that’s ugly underneath, tangled, inconsistent, held together with duct tape, isn’t just unpleasant to work in; it’s unreliable. The mess is exactly where bugs hide, waiting to surface at the worst possible time. And it’s not just humans who struggle with this. An AI agent still has to read the code to work with it, and a tangled mess confuses an agent just as much as it confuses a person.
I feel like undervaluing the parts you can’t see also isn’t anything new. For decades, managers would often fail to see the value in refactoring code. Capitalism’s priority is to “move fast and break things.” However, if you take a more long-term view of software, then things change. For software you will use for decades, getting the “back of the fence” right is really important. If you are building a one-off script or small tool that you will only use occasionally, then this matters much less.
For this reason, AI agents are great for churning out prototypes, proofs of concept, and small one-off tools. But for software we care about, just letting the agent generate code and never looking at it is a mistake our industry is making.
You might ask, if the code passes the tests, why does it matter if anyone reads it? Because tests catch what you thought to test for. They don’t catch the bug nobody imagined, and they don’t help the next person or agent understand why the code works the way it does.
So, what kind of software should we care about? Long-lived software. Software with millions of users. Library and framework software we all depend on. Tools that need to be reliable and trustworthy.
Jobs’ father didn’t build that fence to impress anyone walking by. Nobody outside the family would have known if the back was sloppy. He cared anyway, and that’s the lesson he passed on to his son. Software deserves the same standard. Code still matters. Read the code.