Mental Models w/ Gabriel Weinberg, CEO of DuckDuckGo (part 2)


Summary

In this second part of the conversation, Gabriel Weinberg delves deeper into practical mental models for developers and decision-makers. He emphasizes the importance of validating mental model mappings through collaboration and diverse perspectives, highlighting DuckDuckGo’s values of ‘question assumptions’ and ‘validate direction’ as operationalized processes.

Weinberg introduces several key models: path dependence (how small decisions can have cascading effects that constrain future options), statistical significance (crucial for understanding A/B testing and data-driven decisions), and the trio of deliberate practice, the Dunning-Kruger effect, and imposter syndrome. He explains how these models interact in skill development, where initial rapid progress leads to overconfidence, followed by a confidence trough that manifests as imposter syndrome.

The discussion explores how mental models from other domains—like music theory’s concept of transposition or sorting algorithms from computer science—can be metaphorically applied to problem-solving in different contexts. Weinberg shares examples from his own experience at DuckDuckGo, including how early decisions about tools and systems created path dependence challenges.

Towards the end, Weinberg offers advice to developers about finding their ‘North Star’—understanding what they truly want to do professionally—and being intentional rather than adrift in their careers. He reflects on what he would tell his younger self about operationalizing mental models earlier and being more agile in decision-making processes.


Recommendations

Books

  • Super Thinking — Gabriel Weinberg’s book containing 300 mental models, which is the main subject of the episode. The book aims to help readers think better by applying models from various disciplines.
  • Principles — Ray Dalio’s book mentioned in relation to having ‘believable’ people check your ideas against their expertise in specific subjects.
  • Hackers and Painters — Paul Graham’s book referenced when discussing the overlap between artistic and programming disciplines, suggesting mental models can transfer between these domains.

Concepts

  • Red Team — An independent group that challenges an organization by assuming an adversarial viewpoint to improve effectiveness. Used in military, journalism, and other fields as a formalized way to get fresh perspectives.
  • Baumol’s Cost Disease — A policy topic Gabriel mentions being fascinated by—why costs in education, healthcare, and infrastructure have risen dramatically without corresponding improvements in outcomes.

People

  • Anders Ericsson — The researcher who studied world-class performers and developed the concept of ‘deliberate practice’ as the key method for achieving expertise in any field.
  • Annie Duke — Referenced in relation to thinking about beliefs as bets rather than binary positions, helping break out of black-and-white thinking patterns.

Topic Timeline

  • 00:00:57Validating mental model mappings through collaboration — Gabriel discusses how to validate whether you’re correctly applying mental models to situations. He emphasizes that it’s difficult to do this alone due to cognitive biases, so DuckDuckGo operationalizes validation through collaborative meetings where team members question each other’s assumptions. The company’s values of ‘question assumptions’ and ‘validate direction’ are built into their processes, and in personal life, this often means relying on partners or spouses to provide that external perspective.
  • 00:03:04Importance of diverse perspectives in decision-making — The conversation expands to why diversity in teams is crucial for effective decision-making. Jonathan notes that checking ideas against a diverse group—not just in background but in experiences and perspectives—helps avoid groupthink. Gabriel adds that even diverse teams can develop shared mindsets on long projects, necessitating ‘outsiders’ to ask fundamental questions. This leads to discussing the concept of ‘red teams’—independent groups that challenge organizations by assuming adversarial viewpoints to improve effectiveness.
  • 00:06:43Path dependence and preserving optionality — Gabriel introduces the concept of path dependence, where small decisions can have cascading effects that constrain future behavior. He gives developer examples like choosing a library without full evaluation, then being stuck with it later, or early company decisions about bug reporting systems that become hard to change. The opposite model is preserving optionality—making choices that don’t fully commit you to a path. Jonathan relates this to developers who suffer from analysis paralysis, suggesting that sometimes creating adapters for interchangeable components is better than seeking the ‘perfect’ choice.
  • 00:09:49Statistical significance and understanding probability — Gabriel highlights statistical significance as a crucial but often intimidating concept for developers. He explains that while the underlying math can seem daunting, the core ideas are essential for interpreting A/B tests and data-driven decisions. Jonathan shares a personal story about his pregnant wife’s medical symptoms to illustrate how people confuse ‘more likely’ with ‘likely’ when discussing probabilities, showing how statistical thinking applies to everyday life decisions and risk assessment.
  • 00:14:28Deliberate practice, Dunning-Kruger, and imposter syndrome — Gabriel presents three interconnected models: deliberate practice (working at the edge of competence with expert feedback), the Dunning-Kruger effect (overconfidence followed by underconfidence as skills develop), and imposter syndrome (feeling like a fraud despite competence). He explains how these models describe the psychological journey of skill acquisition. Jonathan adds that senior developers often feel they’ve stagnated because they’re no longer experiencing the rapid acceleration of beginners, comparing it to cruising at high speed versus accelerating from a standstill.
  • 00:19:24Applying models from other domains to development — Jonathan shares how mental models from music—specifically the concept of transposition (shifting music between keys)—can be applied to software development through modular design. Gabriel agrees that extracting models from hobbies and other disciplines is exactly the point of his book, as these deeply internalized patterns become shortcuts for thinking in other areas. He mentions that development concepts like technical debt, brute force algorithms, and divide-and-conquer are also useful outside of software contexts.
  • 00:24:51Advice to younger self and operationalizing mental models — When asked what he’d tell his younger self before starting DuckDuckGo, Gabriel says he’d provide the blueprint of how they now operationalize mental models through templates, objectives, and forcing functions to question decisions. He reflects that early on, they worked on many things that weren’t the right direction and could have been de-risked earlier. The key lesson is operating nimbly in uncertain environments through rapid experimentation and validation.
  • 00:31:21Finding your North Star and being intentional — In his final advice to developers, Gabriel emphasizes figuring out your ‘North Star’—what you truly want to do professionally. He explains that having this clarity helps guide project choices and career decisions, leading to greater happiness. Jonathan summarizes this as being deliberate and intentional rather than drifting. Both agree that with mental models and deliberate practice, people can develop expertise in almost any area they choose to pursue.

Episode Info

  • Podcast: Developer Tea
  • Author: Jonathan Cutrell
  • Category: Technology Business Careers Society & Culture
  • Published: 2019-05-31T09:00:00Z
  • Duration: 00:35:30

References


Podcast Info


Transcript

[00:00:00] in today’s episode we continue our discussion about mental models with gabriel weinberg

[00:00:09] gabriel runs duck duck go as the ceo and he’s written a book about mental models called super

[00:00:17] thinking this is a list of 300 mental models and we’ve been going through some of them on

[00:00:22] this episode in the last part of the episode part one if you haven’t listened to it i encourage you

[00:00:27] to go and listen to that it gives you kind of a primer on what mental models are and then we

[00:00:32] start going through some that are useful to engineers we’ll continue that discussion and

[00:00:37] we’ll have a few other questions for gabriel in today’s episode my name is jonathan cuttrell

[00:00:43] you’re listening to developer t and my goal on the show is to help driven developers like you

[00:00:48] find clarity perspective and purpose in your career now let’s get straight into the interview

[00:00:53] with gabriel weinberg i’d love to know do you have a

[00:00:57] way of kind of testing your your mappings when you come across a situation and you’re trying to

[00:01:04] map a decision onto a model how do you validate uh that mapping yeah i i do but you know you’ll

[00:01:13] see if you like the answer or not um because of of the biases that we’ve we’ve talked about some

[00:01:20] and there are many um and and the one that you just mentioned you know a bias towards a particular

[00:01:26] predilection for a certain way of looking at it and i think that’s a good way of looking at it

[00:01:27] things i think it’s very hard to do yourself um and so the main reliance that i use and i’ve also

[00:01:36] tried to operationalize the doctor go is to have multiple people involved and so a lot of these

[00:01:41] meetings that we’re talking about are actually collaborative meetings right where you know

[00:01:46] someone has written down what they think is the right you know thing to do which may include

[00:01:52] literally writing down some named models and as part of the thinking and then other people are

[00:01:57] talking about what they think is the right thing to do and so i think that’s a good way of looking at

[00:02:00] it and i think that’s a good way of looking at it and i think that’s a good way of looking at it

[00:02:01] we have three values of duct at go one of them is question assumptions and one of them is validate

[00:02:06] direction um and so they’re like totally built into our processes and we encourage people

[00:02:12] to effectively question other people’s assumptions and that can be challenging at times um but that’s

[00:02:18] the way i found to to make things work now in my life you know it’s a doctor go it’s all the time

[00:02:24] in my personal life you know that’s generally my wife questioning my life and i think that’s

[00:02:27] my assumptions um but i do think you need you generally need somebody else i think it’s very

[00:02:32] hard to do alone so i totally agree with that that’s actually something we’ve we’ve talked

[00:02:38] about quite a bit on the show it’s one of the things that um i believe ray dalio talks about

[00:02:42] in his book principles having people that kind of are believable in subjects so you you have a

[00:02:48] preconceived notion and you check your you know that notion against the people who are most

[00:02:57] in addition to that i think that it’s it’s really critical that we check these ideas against a

[00:03:04] diverse group of people right so and when i say diverse i don’t just mean you know people of

[00:03:10] different uh backgrounds i also mean people with diverse experiences and diverse perspectives right

[00:03:17] um and the reasoning for that is like if you have a lot in common with another person not only do

[00:03:25] you have a lot of those kind of surface level

[00:03:27] things in common like you like the same music or you know you like the same you hang out at the

[00:03:32] same places but you may also have the the same kind of perspectives and those will shape your

[00:03:39] biases so you end up making similar decisions and making similar judgment calls and so if you have a

[00:03:45] bunch of people in the same room who look the same act the same uh and have similar experiences in

[00:03:51] life then they’re probably also going to have similar decision making yeah absolutely i mean i

[00:03:56] i put another

[00:03:57] layer on that as well which um so so we i totally agree with that we have a core

[00:04:02] objective to go to hire a diverse team um for in that diversity of thought type of way

[00:04:09] but one other thing i’ve realized is that you know even if you have a diverse team

[00:04:13] if everyone is say like you have a company objective or a big project that a bunch of

[00:04:19] developers are working on you know and they’ve been working on it for a while they can all get

[00:04:24] in the same mindset even if they do have a

[00:04:27] degree of diversity about like that was the right decision and you often need someone outside that

[00:04:33] group to kind of be the question assumptions person and so what we try to do is we try to do

[00:04:39] this a number of ways but one thing is we have every all the objectives in the company really

[00:04:44] report out weekly kind of what’s going on and we do that at project level too and anyone can follow

[00:04:50] any project and objective and people outside the project objective are encouraged to ask

[00:04:55] what might be considered stupid

[00:04:57] questions or um just other you know thoughts that they have and often those from the outsiders are

[00:05:04] things that really kind of jigger things to the core you know not always but it’s often those

[00:05:10] outsiders who are asking things that the insiders are just too far down a direction to be able to

[00:05:16] question anymore so i’m going to read something uh from wikipedia that’s exactly relevant to this

[00:05:22] uh i assume you’re familiar with the concept of a red team yes yes

[00:05:27] and that’s exactly what this is it’s it’s an independent group that challenges an organization

[00:05:31] to improve its its effectiveness by assuming an adversarial role or point of view so that’s the

[00:05:37] very very uh wikipedia formalized version of this but the the idea is useful i believe it’s been

[00:05:44] used in military groups it’s been used certainly in journalism um so where where somebody who has

[00:05:50] not been involved on the actual you know progress of that reporting they will come in and try to

[00:05:57] tear the tape and they will come in and they will come in and they will come in and they will come

[00:05:57] the story apart before it goes out exactly and there’s there’s a reason why those cliches you

[00:06:02] know fresh pair of eyes and and things like that um are true you know because it really is a fresh

[00:06:11] perspective that is required in some of these cases yes it’s kind of like a you have this kind

[00:06:17] of local sense of diversity and then a more global or long-running sense of diversity and both are

[00:06:23] important exactly so i’d love for you to share um

[00:06:27] you know i know you have a list of these that you think are particularly relevant to developers

[00:06:31] uh i’d love for you to share another one of those perhaps one that’s uh not not as intuitive uh to

[00:06:37] us maybe it’s it’s the opposite of what you might kind of intuitively assume yeah i have i have a

[00:06:43] couple you can tell me how counterintuitive they are so one that i think is in practice

[00:06:51] not very intuitive is the concept of path dependence and what this is means is you make

[00:06:57] little decisions all the time and you may not realize that those decisions may have cascading

[00:07:03] effects that really constrain your behavior further on um and for example in a developer

[00:07:09] context that might be a quick choice to use a tool or a library um which you didn’t fully evaluate as

[00:07:17] like the best tool or library for the job and then all of a sudden you know a month into the

[00:07:22] project or later sometime later in the project you’re running into trouble but that library is

[00:07:27] so embedded in your code that it would take a lot of effort to you know to strip out um or the tool

[00:07:35] in your infrastructure or you know a canonical example using the company for developers is you

[00:07:41] know maybe really early on in the company you know someone didn’t think too hard about you know

[00:07:47] what the bug reporting software is we’re going to use and then all of a sudden you know we have

[00:07:52] 5 000 bugs in it and we don’t want to switch systems even though it’s a suboptimal system

[00:07:57] and so you know thinking about that from that mental model in mind you want to kind of check

[00:08:04] those decisions a little bit harder and think are these having a path to send

[00:08:09] dependence problem or not and the opposite model is preserving optionality whereas if there’s a

[00:08:15] choice where you know you’re not really committing to something fully that might be the better

[00:08:21] choice at the moment now that can also have a cost so you have to weigh that

[00:08:25] um but yeah so that’s a good point i think that’s a good point i think that’s a good point i think

[00:08:27] that’s a good point i think that’s a good point i think that’s a good point i think that’s a good point

[00:08:27] so tell me was that counterintuitive yeah i think i think it’s it’s not necessarily intuitive that

[00:08:33] a simple decision today uh could have you know cascading effects into the future i knew that

[00:08:40] on the other hand you have developers who will spend a lot of time trying to analyze what is the

[00:08:45] perfect choice and the the second model that you mentioned this preserving optionality may actually

[00:08:51] be a better use of their time so perhaps you can make for example just a concrete example

[00:08:57] instead of you know trying to arduously uh determine which particular code package you want to use

[00:09:05] maybe you make an adapter so that you can switch those out in the future right and so that would be

[00:09:11] a good use of your of your time and energy and uh will likely pay dividends in the future and it’s a

[00:09:18] fairly small investment exactly a couple related to that it’s just the the model of analysis

[00:09:22] paralysis which can happen to developers where yeah they just go way too deep into the code and

[00:09:27] deep into something that doesn’t necessarily matter um where they’ve already kind of reached

[00:09:31] diminishing returns on a decision um yeah and so now that one’s probably quite intuitive for a lot

[00:09:38] of us that was more intuitive i mean so i got two more if you’re if you’re up for them yeah let’s go

[00:09:44] so one that is is um i think very counterintuitive people we have a whole chapter on

[00:09:49] basically the statistics models um that you need to know and we try to

[00:09:57] stay away from the equations you don’t necessarily need to know all the underlying math but we really

[00:10:02] think that developers and everyone should know kind of what the concept of statistical significance

[00:10:09] and you know how it’s used like in a b testing uh really means so that um when you know you’re

[00:10:17] part of a project that is using those techniques you can really appreciate the numbers and the

[00:10:23] decisions that are coming out of that um and i won’t get into the full explanation of that but

[00:10:27] really i want to be able to um give a little bit of more explanation here because that would be

[00:10:31] that would take a while um but i think that concept is one that people really should take the time

[00:10:39] to understand um and i think it is i think a lot of people especially uh i see this a lot in our

[00:10:44] company especially developers can get scared of it because it feels very mathy and statistics maybe

[00:10:50] they didn’t take that maybe they felt um that it was too difficult say in high school or college

[00:10:56] um but they’re i think as long as you had the time to think about it it was sort of an impediment because

[00:10:57] when you’re in a project where you know you’re you’re not even doing it you’re not doing it you’re not

[00:10:57] I truly believe there is a way to understand it that anyone can understand.

[00:11:01] And we did try to write that in the book.

[00:11:03] But I think it’s worth taking time to understand that concept.

[00:11:08] Yeah, I’m going to share a personal story here because I think it’s relevant to this

[00:11:12] discussion on statistics.

[00:11:13] And another really kind of deep dive discussion on how statistics can relate to developing

[00:11:21] beliefs, for example, right?

[00:11:23] I actually talked to Annie Duke about a similar topic, the idea that we have these beliefs

[00:11:30] that we develop over time, and we typically kind of, our brain tries to make those beliefs

[00:11:36] binary.

[00:11:37] So we either do or don’t believe it.

[00:11:40] We don’t have a continuous scale of belief.

[00:11:43] And her kind of message to the world is, look at your beliefs more like bets.

[00:11:48] So how much would you bet on that?

[00:11:52] And it kind of breaks your brain out of that binary creation.

[00:11:56] So the personal story.

[00:11:58] My wife and I are expecting our second child.

[00:12:01] Congratulations.

[00:12:01] And thank you.

[00:12:03] And she recently has had this kind of odd symptom where her hands and her feet are itching.

[00:12:10] And so it’s summer.

[00:12:13] It’s probably allergies or something.

[00:12:16] It’s hot.

[00:12:17] There’s so many things that go on during pregnancy in her body.

[00:12:21] And so it works.

[00:12:22] It wouldn’t be surprising if there are some erroneous reasons why her hands and her feet

[00:12:28] are itching.

[00:12:29] And so we go to the doctor.

[00:12:31] And of course, we also have checked online to see what could be causing this.

[00:12:37] And one of the main things that might cause this, although it’s still quite unlikely,

[00:12:42] is called cholestasis.

[00:12:44] And cholestasis is essentially an issue that happens both when you’re pregnant and when

[00:12:51] you’re not pregnant.

[00:12:51] But there’s…

[00:12:52] There’s a specific kind that happens when you’re pregnant.

[00:12:55] And so we have a test done.

[00:12:58] And we’re actually still waiting on the results.

[00:13:01] And I assume that they’re going to come back negative for this cholestasis.

[00:13:07] And so we were discussing the possible outcomes.

[00:13:12] And my wife has done a little bit of research on cholestasis.

[00:13:15] And she says to me, you know, it’s really likely that we’re going to end up in the NICU.

[00:13:21] And I said, is it…

[00:13:22] Is it likely or is it more likely?

[00:13:25] And this was a moment where we were talking about statistics, but we were experiencing

[00:13:31] it in a very personal way.

[00:13:32] And so this idea that we should expect to end up in the NICU versus it’s a little bit

[00:13:40] more likely than it was, but it’s still incredibly unlikely, right?

[00:13:45] And so we still have this kind of statistically, we shouldn’t believe that we’re going to end

[00:13:51] up there.

[00:13:51] But because…

[00:13:52] Because of a lot of factors, which we won’t dive into, it’s easy to see the more likely

[00:13:58] and replace it with likely.

[00:14:02] Yeah, that’s a great example.

[00:14:03] I hope everything worked out.

[00:14:06] Yeah, well, it’s the risk of complication is fairly low.

[00:14:11] And, you know, I’m going to assume that things…

[00:14:14] And rationally, I should assume that things will turn out just fine.

[00:14:19] Well, I have one more for you, if you like.

[00:14:21] Yeah, let’s do it.

[00:14:22] So it’s really a set of three models that I think would be useful for developers to

[00:14:28] internalize.

[00:14:30] And you might have talked about this before on an episode, but it’s the idea of deliberate

[00:14:35] practice, which came from a gentleman, Anders Ericsson, who spent a career kind of studying

[00:14:42] experts, world-class performers and athletes and intellectuals of different types, musicians,

[00:14:49] and kind of how they got to be experts.

[00:14:52] And he identified this process, which he calls deliberate practice, as kind of the best way

[00:14:58] to move up a learning curve on really anything.

[00:15:02] And the process is pretty simple.

[00:15:04] It really involves kind of going to the edge of your competence right outside of your comfort

[00:15:09] zone and working on a specific skill along the direction that you want to improve, and

[00:15:17] then getting real-time feedback from an expert who can help you.

[00:15:22] And of course, during this time, we’re also seeing a problem, which is the thing that

[00:15:24] the systems have to be able to work.

[00:15:25] And as you’re going into these different sets of people’s ideas, you’re going to go, how

[00:15:27] am I going to help them to get to this point?

[00:15:27] How am I going to help them to fully, you know, maybe help them to build their brand?

[00:15:28] How am I going to help them to develop their brand?

[00:15:28] How am I going to help them to be a better person?

[00:15:29] How am I going to help them to achieve that?

[00:15:29] How am I going to help them and try to inspire them to develop their brand, to be able to

[00:15:29] make this product?

[00:15:30] How am I going to help them to develop their brand?

[00:15:30] Well, it’s really, really important that we don’t have to confront each other.

[00:15:30] So I think it’s a great way to kind of get this idea going that you might want to

[00:15:32] um in part because you’re failing a lot and that’s kind of hard to um you know internalize

[00:15:39] and so the two other models related to that are this thing called the dunning-kruger effect

[00:15:44] which was studied by these people named dunning and kruger and what they graphed was kind of how

[00:15:52] people feel as they’re moving across this learning curve and what they discovered is when you start

[00:15:58] out you make a lot of progress on the skill almost immediately and you feel really good about

[00:16:04] it um which is great but then you over project your confidence on the skill and you think you’re

[00:16:10] way more of an expert than you are at it um and then when you realize um that you’re not

[00:16:17] whether that’s pointed out to you or or for some other reason you you figure it out

[00:16:21] your confidence plummets and you way overcompensate on the negative direction

[00:16:26] and you’re in this

[00:16:28] you’re in this

[00:16:28] kind of trough of like really under confidence and that is this third mental model called

[00:16:34] imposter syndrome where you may feel that especially when you’re talking to experts

[00:16:38] who are farther up the curve that you’re an imposter and you don’t belong even working

[00:16:42] on this kind of skill um but that’s not true obviously you’re actually pretty farther along

[00:16:48] than the beginners um and so this method of deliberate practice is really a great thing

[00:16:55] if you’re trying to improve but then you also have to be able to

[00:16:58] have to be really wary of these like psychological trigger models that you don’t fall into so if you’re

[00:17:05] on the side doing the skill you kind of want to be aware of that and then if you’re a mentor on

[00:17:10] the other side you want to be aware a help people go through this process but be kind of understand

[00:17:16] that they can fall prey to these other models yeah absolutely we actually did an episode on

[00:17:23] imposter syndrome for the uh for the senior developer it’s it’s actually something that’s

[00:17:28] something that is more common than you might expect and um i’m sure you actually know this

[00:17:34] uh and we discussed the idea that you know a lot of our feeling if you imagine uh getting in a car

[00:17:42] and pressing on the accelerator that initial jolt going from standstill to 10 miles an hour

[00:17:50] is going to feel like you’re uh that like you’re progressing quite a bit more than if you were to

[00:17:58] be steady at 60 or 70 miles an hour and so for a lot of senior developers because they’re not

[00:18:06] learning at the pace that they used to it may feel like well i’ve stagnated but most senior

[00:18:13] developers are still cruising along at a high capacity right um they’re they’re the ones that

[00:18:19] are on cruise control at 60 or 70 miles an hour and just because they aren’t feeling that momentum

[00:18:24] or i guess that acceleration uh it can seem

[00:18:28] like you know things are not progressing at all one survey that we uncovered as part of the

[00:18:33] research showed that you know across a wide variety of of industries about 70 percent of

[00:18:40] people felt that they had imposter syndrome at least one point in their career so it’s it’s very

[00:18:46] extremely widespread the other 30 percent were probably not telling you exactly yeah it’s

[00:18:53] probably it’s probably everybody yeah at some point so so these models

[00:18:58] you have a lot more in the book and you know really getting a hold of a wide variety of these

[00:19:06] in and i would also add that you know if you’re listening to this episode right now another thing

[00:19:12] that has been really useful for me is to take models from other domains and other things

[00:19:17] like hobbies that i participate in so for example music there are a lot of mental models that can

[00:19:24] come from music one of them as a quick example

[00:19:28] the the tonal scale has 13 notes if you count you know the the beginning of the octave and the end

[00:19:34] of the octave and you can start at any point on that scale and and move uh through those notes

[00:19:42] at the same uh i guess distance between each note and you can translate what’s called transposing

[00:19:51] music from one key to another there’s nothing special about a given key uh as far as

[00:19:58] you know whether or not you can transpose that music over to another key they all kind of

[00:20:04] mathematically they just shift right and so this is this is a model of thinking if i can

[00:20:10] create software that is similar right if i can uh somehow find a way to modularize what i’m using

[00:20:17] so that i can shift it from one project to another it’s very similar in terms of okay it may sound

[00:20:23] different it may the outcome may be a little bit different but uh that underlying model of

[00:20:28] transposability is applicable so i’d love to know you know do you find that these outside

[00:20:35] practices that we have hobbies uh interests um maybe even cross industry that those are useful

[00:20:43] places to find models yeah i mean absolutely i mean that’s effectively um the premise too of

[00:20:50] of writing the book i mean a lot of these models and we we covered some but a lot we didn’t cover

[00:20:56] a lot of the ones from certain disciplines

[00:20:58] you know come from economics and chemistry like catalysts and activation energy or

[00:21:04] there are other physics ones um there’s we covered critical mass but there’s a bunch others

[00:21:10] inertia and things like that um that are widely applicable and i think you know those are the

[00:21:17] ones i can easily enumerate because they’re coming from major disciplines but if you’re

[00:21:21] working and you have a good sense of models from your hobbies and you see how they metaphorically

[00:21:28] help you in other situations that’s exactly the point um and it’s helping you because you’ve

[00:21:34] internalized music because you’ve done it for so long they mean they’re wired in your brain right

[00:21:40] to see that way and so now you can use that as a shortcut for all these other areas of your life

[00:21:45] and i think that’s exactly the point is you can do that and you don’t want to just segment

[00:21:50] all of your knowledge and experience from music into the music part of your life

[00:21:54] you can use those things that you learned and you

[00:21:58] learned so well in music and apply them to code and music and code is actually or art and code

[00:22:03] generally is you know remember paul graham has that book hackers and painters i think there’s a

[00:22:08] lot of um overlap in those two um disciplines in particular yeah and i think the people who are

[00:22:14] listening to the show they feel that they they can tell that there’s a kind of a connection

[00:22:19] between those two things and the same is true from your development life to your non-development life

[00:22:26] um i had written i had written down some

[00:22:28] from the book we talked about technical debt at the beginning that are actually from development

[00:22:33] that are really useful outside development so i wrote down premature optimization brute force

[00:22:38] algorithms divide and conquer algorithms the mvp type of concept was i guess more product but also

[00:22:44] can apply development um those are all very useful outside of the you know development product world

[00:22:50] as well yeah i very very regularly use divide and conquer search algorithms for socks in my drawer

[00:22:58] it’s very strange but it turns it turns out it actually works and sorting algorithms yeah i mean

[00:23:04] i use that to find maybe that’s probably what you mean by a sock thing to find stuff in my house

[00:23:09] you know i can’t find something yeah if you if you put for example if you put things that are

[00:23:15] similarly sized into the same buckets you’re kind of doing a bucket sort right uh and it’s literal

[00:23:20] but it turns out that you know your mind can actually grasp the size of something a little

[00:23:25] bit better than it can grasp other aspects of it and so i think that’s a really good way to do that

[00:23:28] it’s easier to find something if you know where the size you know similarly sized things are

[00:23:33] today’s episode is sponsored by git prime have you ever noticed that the best engineering managers

[00:23:41] also happen to be the ones that debug problems really well part of the reason for this is that

[00:23:47] well engineering managers are using mental models like what we’re talking about in today’s episode

[00:23:52] to approach problems it’s not just about code it’s about systems

[00:23:56] git prime has written up a list of the best engineering managers in the world and they’re

[00:23:58] published a book about patterns that you find on successful engineering teams go and check it out

[00:24:05] it’s at gitprime.com slash 20 patterns that’s two zero and then the word patterns that book is

[00:24:12] entirely free and if you go to that link you can actually get a physical copy delivered to you as

[00:24:17] well also free head over to gitprime.com that’s g-i-t-p-r-i-m-e.com slash 20 patterns that’s two

[00:24:26] zero and then the word patterns

[00:24:28] thanks again to gitprime for sponsoring today’s episode

[00:24:31] so uh gabriel i know we’re kind of running up at the at the end of this episode uh and i’ve enjoyed

[00:24:39] uh every moment of it i i do have a couple of questions and these may open up into into larger

[00:24:45] discussions uh that maybe we can have another time but uh the first one we’ve talked about

[00:24:51] duck.go a little bit i’d love to know you’ve been doing this for a little over 10 years now

[00:24:56] and if you could go back and

[00:24:58] give yourself that 2008 or even 2007 pre-duck.go version of you if you could give yourself

[00:25:06] you know one kind of quick lecture uh or piece of advice or or you know picture of the future

[00:25:13] what would you take back to that it’s interesting um it’s probably it’s probably several answers to

[00:25:19] that but uh let me let me take it from a couple different framings um in terms of like project

[00:25:28] and um you know things like that um at the beginning we really didn’t have and it was

[00:25:35] just me at the beginning as much of these kind of mental models we’ve been discussing

[00:25:39] operationalized inside the process of deciding what to work on and for the first many years

[00:25:46] we worked on a lot of stuff that turned out to not be the right direction um you know sometimes

[00:25:54] you got to do that right you got to take risks and you know you make experiments and sometimes

[00:25:58] fail but we went way beyond that you know building whole huge features and even kind of products that

[00:26:05] we could have validated were were incorrect and de-risked that as another mental model

[00:26:11] a way earlier so one advice i’d give is probably like if i could give the blueprint of of some of

[00:26:18] these things of how we operate now with those templates and objectives and really those

[00:26:24] forcing functions to question what we’re doing um i think that’s probably the single big

[00:26:28] thing i could do um you know out of anything um of course it would be prescient to want to know

[00:26:36] the future um that that would that’s probably the the uh you know the silly answer um yeah

[00:26:44] assuming that giving you the the future wouldn’t change it yeah exactly um but i think that’s

[00:26:51] probably the real answer is you know if the future is still uncertain and

[00:26:58] you operate in a very fast moving and most developers operate in a very fast moving

[00:27:02] technological industry where a lot of thing is uncertain you want to operate in a way that you

[00:27:09] can be very nimble and and figure out what’s going on through experimentation very quickly

[00:27:14] and i think we weren’t or i wasn’t as agile you know when i was starting um as i could be

[00:27:21] yeah it’s really important to think about these these models and i know we’ve at this point

[00:27:28] we’re we’re just we’ve said the word models probably a thousand times but you know i mean

[00:27:33] they really are they’re they’re kind of like a map right um and it’s it’s it’s such an interesting

[00:27:38] concept because uh it’s not really a specific map it’s more like navigating skills uh you can

[00:27:45] think about it that way um so i have two more very quick questions for you the first one

[00:27:51] is one that i like to ask all my guests what is one topic of discussion that you wish

[00:27:58] more people would ask you about i really don’t have a great answer to that uh you know there

[00:28:05] are other things i’m interested in that i don’t get to talk about a lot you know but i’m also not

[00:28:11] um like the world’s expert at it and so i don’t know if i deserve to talk about it at this point

[00:28:18] um but i like to talk about these subjects and um you know some of the things that are currently

[00:28:25] fascinated me are actually like developers

[00:28:28] topic around evolutionary algorithms and um a policy topic around why things cost so much

[00:28:35] um called i think it’s brumal’s cost disease of like education and um health care and infrastructure

[00:28:45] at least in america has just the costs have gone on up and up without much to show for it

[00:28:50] and no one really knows why and so i’m super interested in that but you probably shouldn’t

[00:28:57] ask me about those things because i don’t know

[00:28:58] answer well it’s you know talking about a subject i think you mentioned something kind

[00:29:05] of interesting that uh you know you don’t deserve to talk about it but i think it’s um

[00:29:10] you know one of the things that i think developers often get wrong um actually relates directly to

[00:29:16] that it’s the idea that everything you do must necessarily be to some professional end and uh

[00:29:23] i know that you don’t necessarily agree with that but uh i do think i do think that

[00:29:28] you should have the opportunity to talk about that thank you well i definitely it’s definitely

[00:29:32] going to research at all i mean these these are kind of on the hobby side and then ultimately they

[00:29:38] turn into the professional side if it gets if i get deep enough into it you know yeah well i think

[00:29:44] i think you know going back to what we’ve been discussing this whole episode it’s you really

[00:29:49] have the ability to take you and others who who study models you can think about these things

[00:29:56] and think about them thoroughly and engage almost any topic of discussion and start to get your

[00:30:02] hands around it. That’s a key lesson. So, I mean, it’s one that I love to underscore and we wrote

[00:30:09] in the book and I really believe is that, you know, with the power of models, but also just

[00:30:14] the power of just people are good at learning things. I think people end up having, especially

[00:30:21] after they have a career for a while, a very static view of their abilities. But in reality,

[00:30:27] you could really become an expert using deliberate practice or other things that really anything

[00:30:33] if you just spent enough time, you know, researching and practicing. And so I definitely

[00:30:40] believe that, you know, certainly if I put effort into these topics, I could be back here in a

[00:30:45] couple of years being an expert at it for you. It’s really just putting in the effort.

[00:30:51] Yeah. And nobody gives the expert badge out anyway, right? So most of the time,

[00:30:58] expert is one of those kind of soft terms that we self-apply or that ends up being applied.

[00:31:06] And a lot of it is just about learning and spending time with the subject.

[00:31:10] Exactly. Well, Gabriel, I have one last question for you. And this is, I think I might be able to

[00:31:16] predict the answer, but we’ll see. If you could give developers who are listening to this show

[00:31:21] regularly, what would you do?

[00:31:21] Regardless of their experience level, just 30 seconds of advice, what would you tell them?

[00:31:29] I’m curious what you predicted.

[00:31:36] I think my advice would be to figure out, I mean, I think I’d start with what is that North Star

[00:31:43] and figure out what it is you actually really want to do.

[00:31:50] Like we have a lot of people now who are conducted at Go. And that’s a core question

[00:31:54] that we try to determine for people because, you know, every kind of, you know, some people don’t

[00:32:00] have any ability necessarily to choose their projects, but there’s often a wiggle room of

[00:32:07] kind of what exactly you work on and even what job you choose. And if you have that North Star

[00:32:14] and you know where you want to be, whether that’s, I want to be a generalist or I want to be a

[00:32:18] specialist in this subfield or, you know, I want to be a specialist in this subfield or, you know,

[00:32:20] I really like working on this type of thing and that makes me happy. And you know that you can

[00:32:27] really make yourself a lot happier in life. And if you don’t have that North Star to really answer

[00:32:32] that question, you can just really feel adrift. And so my advice is probably that, which really

[00:32:39] is not just for developers, really for everybody. Yeah. My prediction is that you would say to be

[00:32:46] deliberate. And, and, and, and, and, and, and, and, and, and, and, and, and, and, and, and, and, and,

[00:32:50] rather than just trying whatever random thing comes along that deliberate, you know, whether,

[00:32:57] whether it’s deliberate practice, deliberate thinking really deciding is, is the critical

[00:33:04] skill. And what you’re saying about having a North Star, I think is, is kind of step one of being

[00:33:10] deliberate. Yeah, exactly. I mean, I agree with that. I mean, everything that, you know, we try

[00:33:17] to do and I try to do it right down here.

[00:33:20] Yeah. Another word for that would be being intentional. Right. And, and critically thinking

[00:33:25] about whatever it is you’re doing. I’m really engaging the topic fully. Yeah.

[00:33:31] Gabriel, this has been an excellent conversation. Thank you so much. I’d love to know this book

[00:33:36] comes out on June 18th, correct? And people can find out on Amazon. You can pre-order it now,

[00:33:41] I believe. Yes, you can. There’s more info at superthinking.com. And if you are not an Amazon

[00:33:46] fan, there are other ways to pre-order it.

[00:33:50] But you’re welcome to use Amazon as well.

[00:33:53] Excellent. Thank you so much, Gabriel.

[00:33:54] Thank you.

[00:33:57] Thank you so much for listening to today’s episode of Developer Tea,

[00:34:00] my interview with Gabriel Weinberg. Make sure that you go back and listen to part one,

[00:34:05] if you haven’t already, and then subscribe. If you enjoyed this episode, there are more episodes,

[00:34:10] just like this one coming out soon. We publish three episodes of this podcast a week.

[00:34:15] So if you don’t want to fall behind, go ahead and subscribe and then listen to the ones that

[00:34:19] stand out to you.

[00:34:20] Not to listen to every episode of this show. It’s not a serial kind of show. It’s not one where we

[00:34:25] have ongoing storylines. The only time that we actually connect one episode to another is when

[00:34:29] we’re doing a series or if we have a guest on the show. So you can definitely listen to one episode

[00:34:35] at a time. There’s no pressure to listen to all of these. Thank you again to GetPrime for sponsoring

[00:34:41] today’s episode. Head over to getprime.com slash 20patterns. That’s all one word with the numbers

[00:34:48] two zero. That’s getprime.com.

[00:34:50] slash 20patterns. You’re going to find a field guide to help you recognize achievement,

[00:34:55] spot bottlenecks, and debug your development process with data.

[00:34:59] Thank you so much to Gabriel Weinberg for joining me on today’s episode.

[00:35:03] Go and check out superthinking.com. That’s where you can find his brand new book,

[00:35:09] which comes out on June 18th of this year. Thank you so much for listening to today’s episode.

[00:35:14] This episode wouldn’t be possible without Spec Network. Sarah Jackson is the producer for the

[00:35:19] show.

[00:35:20] My name is Jonathan Cottrell. And until next time, enjoy your tea.