Jeff Atwood: Stack Overflow and Coding Horror artwork

Jeff Atwood: Stack Overflow and Coding Horror

Lex Fridman Podcast

November 29, 2018

Jeff Atwood is a co-founder of Stack Overflow and Stack Exchange, websites that are visited by millions of people every day. Much like with Wikipedia, it is difficult to understate the impact on global knowledge and productivity that these network of sites have created.
Speakers: Lex Fridman, Jeff Atwood
**Lex Fridman** (0:00)
The following is a conversation with Jeff Atwood. He is the co-founder of Stack Overflow and Stack Exchange, websites that are visited by millions of people every single day. Much like with Wikipedia, it is difficult to understate the impact on global knowledge and productivity that these networks of sites have created. Jeff is also the author of the famed blog Coding Horror and the founder of Discourse, an open source software project that seeks to improve the quality of our online community discussions. This conversation is part of the MIT course on Artificial General Intelligence and the Artificial Intelligence Podcast. If you enjoy it, subscribe on YouTube, iTunes, or your podcast provider of choice, or simply connect with me on Twitter at Lex Friedman, spelled F-R-I-D. And now, here's my conversation with Jeff Atwood. Having co-created and managed for a few years the world's largest community of programmers in Stack Overflow, 10 years ago, what do you think motivates most programmers? Is it fame, fortune, glory, process of programming itself, or is it the sense of belonging to a community?

**Jeff Atwood** (1:31)
I think it's puzzles, really. I think it's this idea of working on puzzles independently of other people and just solving a problem sort of like on your own almost. Although, you know, nobody really works alone in programming anymore. But I will say there's an aspect of sort of hiding yourself away and just sort of beating on a problem until you solve it. Like brute force, basically, to me, is what a lot of programming is. It's like the computer is so fast, right? You can do things that would take forever for a human, but you can just do them like so many times and so often that you get the answer, right?

**Lex Fridman** (2:07)
You're saying just the pure act of tinkering with the code is the thing that drives most probably the joy, the struggle balanced within the joy of overcoming the brute force process of pain and suffering that eventually leads to something that actually works?

**Jeff Atwood** (2:24)
Well, data is fun, too. Like there's this thing called the shuffling problem, like the naive shuffle that most programmers write has a huge flaw. There's a lot of articles online about this because it can be really bad if you're like a casino and you have an unsophisticated programmer writing your shuffle algorithm. There's surprising ways to get this wrong, but the neat thing is the way to figure that out is just to run your shuffle a bunch of times and see how many orientations of cards you get. You should get an equal distribution of all the cards. With the naive method of shuffling, if you just look at the data, if you just brute force and say, okay, I don't know what's going to happen.
You just write a program that does it a billion times and then see what the buckets look like of the data. And the Monty Hall problem is another example of that where you have three doors and somebody gives you information about another door. So the correct answer is you should always switch in the Monty Hall problem, which is not intuitive and it freaks people out all the time, right? But you can solve it with data. If you write a program that does the Monty Hall game, and then never switches, then always switches, just compare, you would immediately see that you don't have to be smart, right? You don't have to figure out the answer algorithmically. You can just brute force it out with data and say, well, I know the answer is this because I ran the program a billion times and these are the data buckets that I got from it, right?

**Lex Fridman** (3:34)
So empirically you find it, but what's the joy of that? So for you, for you personally, outside of family, what motivates you in this process?

**Jeff Atwood** (3:44)
Well, to be honest, like I don't really write a lot of code anymore. Like what I do at Discourse is like manager stuff, which I always kind of despised, right? Like as a programmer, you think of managers as people who don't really do anything themselves. But the weird thing about code is like you realize that like languages code, like the ability to direct other people lets you get more stuff done than you could by yourself anyway.

**Lex Fridman** (4:07)
You said languages code?

**Jeff Atwood** (4:09)
Languages code.

**Lex Fridman** (4:09)
Meaning communication with other humans?

**Jeff Atwood** (4:11)
Yes, it is.

**Lex Fridman** (4:12)
You can think of it as a systematic. So what does it like to be? What makes, before we get into programming, what makes a good manager? What makes a good leader?

86 more minutes of transcript below

Feed this to your agent

Try it now — copy, paste, done:

curl -H "x-api-key: pt_demo" \
  https://spoken.md/transcripts/1000651996090

Works with Claude, ChatGPT, Cursor, and any agent that makes HTTP calls.

From $0.10 per transcript. No subscription. Credits never expire.

Using your own key:

curl -H "x-api-key: YOUR_KEY" \
  https://spoken.md/transcripts/1000424815807