Before University Begins, I Started With a Question: How Do Great Programmers Think?

A book of conversations with the legends of programming, one unforgettable lesson from a Netscape pioneer, and a documentary queued up next — the honest notes of a student standing at the gates of university.

Muhammad Faizan Qureshi
Full-stack web developer & educator · about me

On September 7, I begin a new chapter of my life as a university student in Computing. Before stepping into university life, I’ve been using my free time to explore something I’ve always been fascinated by: understanding things deeply — not just knowing how they work, but asking why. It’s a small difference in wording and a gigantic difference in life. And it recently led me down a rabbit hole I want to share with you — one that began with a single question and a very thick book.

01The question I walked in with

The question is the title of this article: how do great programmers think? Not “what languages do they know” — languages change. Not “what tools do they use” — tools are replaced every few years. I wanted the machinery underneath: the habits of mind that make someone excellent at this craft, across decades and technologies. When you’re about to spend four years studying Computing, you want to know what the finish line actually looks like — not the degree, but the thinking.

So I did what I always do with a question that won’t leave me alone: I went looking for people who had already lived the answer.

02The book: Coders at Work

That search led me to Peter Seibel’s Coders at Work: Reflections on the Craft of Programming — a collection of conversations with accomplished programmers: pioneers of early computing, designers of famous languages, and engineers who built the software the modern world runs on. It’s not a tutorial book. There’s no code to copy. It’s something rarer: a long, patient listen to how great minds actually talk about their craft — how they started, how they debug, how they think about failure, and what keeps them curious decades in.

I’ve just finished the first interview — with Jamie Zawinski (known across the industry as jwz), an early Netscape developer and Lisp programmer, and one of the most quotable voices in the book. Reading him felt like sitting across from a senior developer who has zero interest in impressing you — which is exactly why everything he says lands so hard.

03The lesson that stayed: curiosity is a habit

One lesson particularly stayed with me, and I want to hand it to you exactly as it settled into my own head:

Curiosity is a habit.
Not a gift. Not a personality trait you were issued at birth. A habit — practised daily, like anything else worth having.

Zawinski described learning by taking things apart — digging into code, asking questions, experimenting, and simply wondering, “How does this work?” No grand strategy. No ten-year plan. Just the persistent, almost childish refusal to leave a “how” unanswered. That’s how the best programmers I’ve ever read about describe their entire formation — and it’s strangely liberating, because a habit is the one thing on that list you can start tonight.

It also matches everything I’ve experienced myself. My DIT journey didn’t begin with talent — it began with a browser, a file full of markup, and the question “what happens if I change this line?” Every award I’ve earned since grew from that same stubborn wondering.

04What progress is really made of

Here’s the second half of the lesson, and honestly the half I needed more: progress doesn’t necessarily come from knowing everything. Read that again if you’ve ever felt behind. It comes from staying curious, experimenting, getting stuck, learning, and trying again. Getting stuck is not the opposite of progress — it is progress, doing its slow, invisible work.

I think of every bug that ever held my brother and me hostage while building Handy Tools — including the night a broken deployment path made our whole site vanish into a 404. In the moment, pure failure. In hindsight, the single most educational evening of the entire project. The programmers in Seibel’s book tell story after story like that. The pattern is always the same: the stuck part comes first; the growth is what’s left after you unstick yourself.

05Next on my list: Code Rush

Because jwz’s stories come alive on a screen too, my next stop is the documentary film Code Rush, released on March 30, 2000. It follows the Netscape engineers — Jamie Zawinski among the prominent figures — through one of the most dramatic races in software history: open-sourcing the Mozilla project ahead of AOL’s acquisition of Netscape. The film captures the intense personal and professional pressures Silicon Valley engineers lived under, in the final rush to release the Mozilla source code to the world.

Why does that matter to a student in 2025? Because Mozilla became Firefox — the browser family that kept the open web open — and because that story is the perfect case study of this article’s whole point: real programmers under real pressure, shipping something they believe in, getting stuck and trying again. Curiosity, at industrial scale.

##Your turn

So that’s where I am: a book in progress, a documentary queued, and a university career about to begin — armed with the one lesson I’m confident will still matter in every semester ahead. Let me leave you with the words I’m writing on the first page of my own notebook:

Don’t stay stagnant. Keep exploring. Keep building. Keep learning.

And now my question for you: what are you reading or exploring these days that has changed the way you think? I genuinely want to know — send it to me and it might shape what I explore (and write about) next.