The Power of Unknown Knowns: PragDave Thomas on Intuition and the Beginner's Mind

The Power of Unknown Knowns: PragDave Thomas on Intuition and the Beginner's Mind

UGtastic Archive
Transcript Verified 27 Minutes
The Interviewer

Mike Hall

Interviewer, community organizer at UGtastic

The Guest

Dave "PragDave" Thomas

Founder of Pragmatic Programmers and Pragmatic Bookshelf

The Conversation


Mike Hall Interviewer, community organizer at UGtastic
Hi, it's Mike with UGtastic. I'm here at SCNA 2013. I'm sitting down with Dave Thomas. You might know him as PragDave on Twitter. And you're also the founder of the Pragmatic Publishers, am I correct? Along with Andy Hunt, Pragmatic Programmers, Pragmatic Bookshelf.
Dave "PragDave" Thomas Founder of Pragmatic Programmers and Pragmatic Bookshelf
Yes.
Mike Hall Interviewer, community organizer at UGtastic
You gave a talk called 'Unknown Knowns'. Thank you very much for taking the time to sit down with me. Unknown Knowns, that's very philosophical, almost very meta.
Dave "PragDave" Thomas Founder of Pragmatic Programmers and Pragmatic Bookshelf
It's also hard to remember.
Mike Hall Interviewer, community organizer at UGtastic
Yes, Unknown Knowns.
Dave "PragDave" Thomas Founder of Pragmatic Programmers and Pragmatic Bookshelf
So, the inspiration for the title came from Donald Rumsfeld. He gave a press conference back in 2002 where he talked about known knowns, known unknowns, and unknown unknowns. When he was talking about the hunt for weapons of mass destruction, he left off the idea of unknown knowns. That is, things that are known, but you don't know that you know them.
Dave "PragDave" Thomas Founder of Pragmatic Programmers and Pragmatic Bookshelf
That, to me, is a really important concept because the reality is that's most of our knowledge. Most of our knowledge, the ability to do just about anything we do—talk, for example—is buried deep down below our conscious level. And so that's an unknown known.
Dave "PragDave" Thomas Founder of Pragmatic Programmers and Pragmatic Bookshelf
If you want to do something proficiently, perhaps surprisingly, you have to do it without conscious thought or without conscious intervention. The question is how do you become proficient at doing things through intuition?
Mike Hall Interviewer, community organizer at UGtastic
Like Blink, would that be an example?
Dave "PragDave" Thomas Founder of Pragmatic Programmers and Pragmatic Bookshelf
Blink is along that line, using your intuition. I think Blink is a little bit simplistic, probably because it's a mass-market book. The idea of the five-second decision is not a bad idea, but I think it can lead you to be quite lazy.
Dave "PragDave" Thomas Founder of Pragmatic Programmers and Pragmatic Bookshelf
The reality is that there's a process to gain intuition. You don't just say, 'Oh, I'm an intuitive person, therefore I'll make decisions without research.' To get to the point where you can make intuitive decisions, you first have to go through the work of learning all the stuff you're going to be deciding about. Only after you've internalized that are you in a position to make those intuitive decisions.
Mike Hall Interviewer, community organizer at UGtastic
Right, like a baby learning to talk.
Dave "PragDave" Thomas Founder of Pragmatic Programmers and Pragmatic Bookshelf
Exactly. A baby learning to talk is not going to learn words or sentences first. They're going to learn sounds, internalize those sounds, and get to the point where they can make them when they need to. Only then can they start learning words. You learn meaning not by being told, but by having tacit feedback. You learn things subconsciously by looking at the response when certain stimuli occur.
Mike Hall Interviewer, community organizer at UGtastic
When you go back and teach somebody who is completely naive to the concept of programming, it breaks you out of your complacent, tacit state.
Dave "PragDave" Thomas Founder of Pragmatic Programmers and Pragmatic Bookshelf
I think one of the things that I love to do, and I don't get to do enough of, is pair program to teach people a programming language. I used to do that a lot with Ruby. I loved it because I would say, 'Well, actually, that's probably not the way we do that.' They'll say, 'Why?' And it forces you to reexamine all these habits that you get into and dig back into that conscious side to work out why.
Dave "PragDave" Thomas Founder of Pragmatic Programmers and Pragmatic Bookshelf
I think one of the big mistakes people make is they get to a point where they can live life tacitly. It's easier than having to think about everything all the time. So you start getting onto autopilot. I think it's very dangerous to become stale.
Dave "PragDave" Thomas Founder of Pragmatic Programmers and Pragmatic Bookshelf
Once you have one layer mastered, you owe it to yourself to push and build on that. Maybe you've learned a programming language. Once you've got that nailed, go off and look at different problem domains or learn a new language. Always keep learning.
Mike Hall Interviewer, community organizer at UGtastic
One of the scariest things for people is making a massive career change. A few years ago, I went from being a .NET developer on a Microsoft platform to being a Ruby developer with a Mac. I went from being competent to not knowing how to change directories.
Dave "PragDave" Thomas Founder of Pragmatic Programmers and Pragmatic Bookshelf
It can be a key step towards empathy by becoming a learner and completely stripping yourself down. But there's another side to it. The theory says that beginners require context-free instruction. For a beginner, you have to be very directive. You feel bad telling people 'do this, then do that', but the reality is if you're dealing with a beginner, that's exactly what you should do.

Critical Insights


durable
"True proficiency in software engineering (and other disciplines) requires turning conscious knowledge into 'Unknown Knowns'—intuition built on deep, internalized practice."
durable
"Teaching beginners forces experts to break out of their 'autopilot' tacit state and re-examine the foundational 'whys' behind their daily habits."
durable
"Living entirely in a tacit, autopilot state is dangerous for a developer's career; continuous learning requires intentionally returning to the uncomfortable state of a beginner."
durable
"Beginners require context-free, directive instruction ('do this, then do that') rather than nuanced collegial debate, a transition that experts often find uncomfortable to manage."