0:00
/

If everyone can build software, what decides who survives?

Root Cause with John Gallagher, on culture, feature factories, and a 2 MB game on a 1.5 MB Amiga

The market is full of tools right now, and most of them have AI in them. Most of them won’t survive. That was the question I brought to John Gallagher: if anyone can build software now, what actually decides who makes it?

He said culture. That word can mean almost anything, so most of this episode is me trying to find out what he means by it.

John has been writing software since 1998, when I was nine. Assembly on microcontrollers, then iOS, then more than a decade of Rails in production. Today he’s a principal engineer at Dynatrace and the author of Software Design Simplified. At one of his previous companies he lived through the incident we’ve all had: the app is down, the people who could help are asleep in another time zone, and the logs tell you nothing. He spent the next eighteen months changing how his team saw its own system. Downtime dropped 98%. Then he turned around and cut the observability bill all that new enthusiasm had created.

2,000 engineers with AI are still 2,000 engineers

I started close to home. The AI SRE space is suddenly crowded, and I wanted to know whether that’s AI making it easier to build, or something that started earlier. John’s answer was OpenTelemetry. Before it, a handful of big vendors held the market, and switching meant ripping out their proprietary instrumentation and learning a whole new set of screens. OTel made the instrumentation portable, and the startups followed. The lock-in didn’t disappear, though. It moved into the dashboards and the two hundred alerts you set up by hand. He told me about a team that switched vendors and found 90% of the cost was in the accumulated cruft, not the instrumentation.

Then the question I actually wanted to ask. Startups used to win on speed. If AI makes the big companies fast too, what’s left for the small ones?

John works with 2,000 engineers. When he joined, he assumed that was the whole company. It’s 5,000 people. He says AI is massively changing how fast they move. And yet.

“It’s a speed up, but it’s not the same kind of speed up.”

Conway’s law didn’t get repealed. The structure of the teams still shapes the structure of the product, and the number of communication paths in a company that size lives in a different universe from a team of twelve. Big companies also sell something no startup can: we’ll still be here in ten years. His comparison was jazz and prog rock. Two genres, not a better and a worse.

“We know what the customer wants”

This part was uncomfortable to listen to, because I recognized myself.

John stays at a company three or four years, because that’s roughly how long it takes for your own bad design decisions to come back and bite you. (With AI, he says, more like four months.) Across every company he’s been at, small or large, one anti-pattern refuses to die: resistance to talking to customers. Are you using the product? No. Are you paying five figures for it? No. But we know what it needs, because we made it.

I suggested it’s ego. People who build things are creative, and it’s hard to let other opinions near the thing that exists in your head. John agreed, then made it more complicated. A founder needs that ego. Nobody gets a company off the ground by collecting feedback from a hundred thousand people first. He brought up a Radiolab episode about top athletes being excellent liars to themselves. So you have to be selfish enough to start a company and humble enough to remember you’re solving somebody else’s problem. Both at once. I’m still working on the second half.

A software company is not a factory

So if culture isn’t just customer obsession, what is it? First, John wants to put one myth to bed: that the best product wins. The best marketed product that solves the right pain at the right time wins, and luck does a lot of the work. Culture is something else. How people treat each other, and what mental model the company holds of what software even is.

The model he can’t stand is the factory. We stamp out features like tin cans, and more features make a better product.

“If we went into every piece of software and deleted the 80% of features that people rarely use, the software would be better. Undeniably better.”

Try that with a TV manufacturer and see what happens to sales. This is also why he thinks AI made culture about ten times more important. When a product manager can prototype a feature in an afternoon, the interesting question becomes what stops it from going straight to production. That’s not a tooling question.

Hired Guns

Then we got nostalgic. I asked whether the AI shift compares to the shift from physical products to software, which I never lived through. I was born into a world that already had computers. John was born in 1976, into a household where an Amiga cost more than anyone could explain, and his parents found the money anyway.

The game was Hired Guns. Six floppy disks, and the box said you needed 2 MB of memory. Their Amiga had 1.5. No internet, no manual, no one to ask. He started deleting library files from the operating system one at a time to see what still booted. Hours of it. His brothers told him to let it go. I won’t spoil the ending, but it’s where his love of programming started, and he still remembers the intro music.

People like to say the human brain learns like an LLM, from a lot of data. This story is the opposite. One problem you care about too much teaches you patience, experimenting, verifying. Most of what makes an engineer.

Did we waste a year?

I asked him something I’ve been asking myself. I’ve spent the last year or two trying every new tool, partly so I can argue about the hype from actual experience. And I keep circling back to the same place: things changed, and the fundamentals didn’t. Should I have spent that year on resilience engineering or residuality theory instead?

His answer: no learning is wasted, certainly not compared to scrolling your phone, which he admits he’s done plenty of lately. Then he passed on the advice Jeff Bezos gave 37signals: invest in things that don’t change. For John that’s testing, design, and feedback loops at every level of an organization. He also says all his priors are gone. The other day he caught himself rearranging a GitHub issues board by hand.

My favorite part is about being wrong. He’s paired with engineers who were certain the bug was a race condition in Redis. The first experiment supports it. So does the second. The third doesn’t. By the fourth it has nothing to do with Redis, and that’s the moment you find out how someone handles being wrong.

Don’t read a book

My last real question was for people who never had a science education or a childhood of hacking. Is it too late to learn critical thinking? His recipe has three ingredients: obsession, a small feedback loop, and for goodness sake, don’t read a book. Reading about critical thinking is like reading about tennis. Go get a racket.

He also thinks your own emotions are a feedback loop, and that group think starts with somebody’s feeling, not their argument. There’s a painting class and a tennis court in that part of the conversation, and I’d rather you hear them from him.

He also kept his promise about a book recommendation, which I asked him not to reveal before we hit record. And Tamanna’s question from the previous episode, about which pet he’d have, found exactly the wrong recipient.

🎥 Watch on YouTube · 🎧 Spotify · 🍎 Apple Podcasts

Find John at joyfulprogramming.com and on LinkedIn.

Discussion about this video

User's avatar

Ready for more?