Why Great Developer Still Google Their Errors


Summary

The episode challenges the common belief that expert developers have all programming syntax and procedures memorized. Host Jonathan Cottrell argues that even the most accomplished developers frequently look up information, reference documentation, and search for solutions online, and that this doesn’t indicate a lack of skill or knowledge.

Cottrell introduces Bloom’s Taxonomy as a framework to understand different levels of knowledge. He explains that the first level—simple recall or memorization—is the most basic and least transferable. True expertise in development resides in higher levels: comprehension, application, analysis, synthesis, and especially evaluation—the ability to compare, contrast, defend, and form informed opinions about technology and approaches.

The discussion clarifies that great developers focus their energy on understanding principles, patterns, and the larger architectural picture rather than memorizing transient implementation details like specific syntax. This higher-level understanding is what transfers between projects and technologies and is the real hallmark of mastery. Memorizing syntax offers limited value as languages and tools evolve.

The episode concludes with practical advice: developers should not feel insecure about needing to look things up, and they should avoid wasting time arguing over minute implementation details. The key takeaway is to invest in developing deep, transferable understanding rather than surface-level recall.


Recommendations

Frameworks-Concepts

  • Bloom’s Taxonomy — Referenced as a framework for understanding the depth of knowledge. The host outlines its six levels (Knowledge, Comprehension, Application, Analysis, Synthesis, Evaluation) to explain why great developers operate at higher levels like evaluation rather than just memorization.

Tools-Websites

  • Stack Overflow — Mentioned as a common resource where developers, including great ones, go to find and copy code snippets for problems they’ve forgotten how to solve from memory.
  • .tech domains — Promoted as the future of tech domains for startups, highlighting benefits like availability, relevance to the tech industry, and examples of use by companies like Viacom and Intel. A discount code (spec.tech) is offered for listeners.

Topic Timeline

  • 00:00:00Introduction to the developer’s Googling habit — Jonathan introduces the topic by acknowledging that even great developers frequently Google errors, reference documentation, and copy code from Stack Overflow. He questions how true mastery can coexist with this need to look things up and sets the goal of deconstructing the myth that expert developers have everything memorized.
  • 00:03:46Defining mastery versus stored knowledge — The discussion shifts to the core disconnect between what we believe mastery is (having stored knowledge) and what it actually is (the ability to apply, understand, and deliberate). Cottrell states the episode’s purpose is to explore what makes a great developer from the perspective of mastery versus mere recall.
  • 00:06:42The illusion of learning and Bloom’s Taxonomy — Cottrell revisits the concept that learning is often mistakenly equated with information recall. He introduces Bloom’s Taxonomy as a model to understand knowledge depth, listing its six levels: Knowledge (recall), Comprehension, Application, Analysis, Synthesis, and Evaluation. He posits that syntax mastery relates only to the shallowest level.
  • 00:09:53What great developers actually care about — The host explains that great developers operate at the higher levels of Bloom’s Taxonomy (evaluation, synthesis). They focus on principles, patterns, and how parts fit together at a high level, creating an abstraction away from specific syntax or rote procedures. This understanding is transferable and valuable, unlike memorized details.
  • 00:11:47The transferability of deep knowledge — Cottrell argues that memorized syntax is not useful when languages change or projects differ, as this shallow knowledge doesn’t transfer. In contrast, the deeper understanding gained from principles, patterns, and the ability to compare and contrast does transfer between contexts. The implementation details become less important than the overall effect and meta-principles.
  • 00:12:52Conclusion and practical advice — The episode concludes by encouraging listeners not to feel pressured to memorize every standard library. The key bonus takeaway is to avoid wasting time arguing over the minutiae of programming language implementations, as this is crucial for a developer’s maturity. True growth comes from focusing on transferable, high-level understanding.

Episode Info

  • Podcast: Developer Tea
  • Author: Jonathan Cutrell
  • Category: Technology Business Careers Society & Culture
  • Published: 2018-10-01T09:00:00Z
  • Duration: 00:13:58

References


Podcast Info


Transcript

[00:00:00] If there’s one thing that makes developers self-conscious, it’s probably their Googling

[00:00:10] history.

[00:00:12] More specifically, the things that they Google that they’ve forgotten how to do.

[00:00:18] Even great developers, and perhaps especially great developers, still look things up.

[00:00:27] They still reference documentation.

[00:00:30] They still have to Google that one Stack Overflow article and copy and paste that line of code

[00:00:37] that they forgot how to write from memory.

[00:00:41] And how is this possible?

[00:00:42] How can we become truly great at something and yet still need the support from a quick

[00:00:51] Google search?

[00:00:53] That’s what we’re going to talk about in today’s episode.

[00:00:54] My name is Jonathan Cottrell and you’re listening to Developer Tea.

[00:00:57] My goal in this show is to help driven developers like you connect to your career purpose and

[00:01:02] do better work so you can have a positive influence on the people around you.

[00:01:06] It’s October 1st and that means that we are nearing the end of the year.

[00:01:11] And you’re probably starting to think about some of the things that you’ve done this

[00:01:17] year.

[00:01:18] Hopefully you’re kind of reflecting back a little bit and also preparing for the

[00:01:24] busy end of the year season.

[00:01:27] And many of us have just come through the conference season.

[00:01:33] A lot of conferences happen towards the end of summer and we get a chance to see

[00:01:40] the people that we really kind of idolize in various technology groups.

[00:01:46] Maybe you don’t idolize them, but at least they have accomplished something in their

[00:01:52] respective groups.

[00:01:54] And in today’s episode, I really want to kind of deconstruct this myth that these

[00:02:02] great developers, the people who are presenting at conferences, the people that you are used

[00:02:07] to looking up to, the ones writing the books, the ones writing all of your favorite

[00:02:13] blog posts, these great developers, they don’t have everything memorized.

[00:02:20] They don’t have the entire documentation for whatever language in their heads.

[00:02:27] Now what we’re not going to do on this episode is say that these developers are not

[00:02:32] accomplished.

[00:02:34] This isn’t a message to try to make you feel a little bit better about your need

[00:02:38] to look things up, although certainly you shouldn’t be feeling apprehensioned about

[00:02:43] needing to look things up.

[00:02:45] That’s not the point of this episode.

[00:02:46] The point of the episode is also not to say that these people are not as smart as

[00:02:50] you think they are.

[00:02:52] That’s also not necessarily true, and in many ways these great developers are probably

[00:02:58] even smarter than we might think.

[00:03:01] And this is true for you as well, because we have a disconnect between what we believe

[00:03:09] is knowledge or mastery of development versus what actually is mastery, what is necessary

[00:03:20] for mastery in this field.

[00:03:22] And that’s what we’re going to talk about in today’s episode.

[00:03:24] We’re going to talk about this difference, this break between knowledge, having some

[00:03:30] stored knowledge and the ability to retrieve that knowledge, the difference between that

[00:03:36] and application, understanding, the ability to deliberate.

[00:03:44] That’s what we’re talking about in today’s episode.

[00:03:46] What makes you a great developer from the perspective of mastery and knowledge?

[00:03:53] Before we get into that discussion further, I want to take a moment to talk to you

[00:03:57] about today’s sponsor.

[00:04:01] The future of tech is going to be on .tech domains.

[00:04:06] I want to talk to you about three key benefits of .tech domains for startups.

[00:04:11] Number one, availability.

[00:04:13] Domain names have been around for a long time, and a lot of domain names are taken.

[00:04:17] The ones that you want are very often taken, and so you end up settling for domain names

[00:04:22] that you don’t necessarily want.

[00:04:25] The good thing about the .tech domains is that many of them are still available.

[00:04:31] You can get a high quality domain.

[00:04:33] You don’t have to compromise or settle for a hyphenated domain or extra letters or numbers.

[00:04:40] Then the actual relevance of the .tech extension to the tech industry.

[00:04:45] This is a good keyword to have.

[00:04:48] It’s intuitive, it’s descriptive, it creates a great first impression, and it helps you

[00:04:53] stand out in the crowd.

[00:04:54] Some good examples of .tech domains, and by the way, startups that have migrated

[00:04:59] .tech domains have raised 500 million in funding at this point.

[00:05:07] For example, Viacom, you don’t have to, let’s say you already have a good domain

[00:05:12] name.

[00:05:13] You can still use .tech domain names.

[00:05:16] Viacom has an open source portal for their brand at Viacom.tech.

[00:05:23] This strategy clearly distinguishes the Viacom .tech open source portal from the main Viacom

[00:05:30] branded site.

[00:05:32] You can also find Intel using .tech domain at insight.tech.

[00:05:38] This is their portal for their internet of things and their embedded innovation.

[00:05:42] If you have a need for a new domain name, or if you’re looking for a particularly

[00:05:49] interesting name, kind of your base domain name, I encourage you to check out .tech.

[00:05:56] Here’s the most compelling part of this.

[00:05:58] Because you are a developer T listener, if you’ll use the code spec.tech at checkout,

[00:06:04] head over to go.tech, that’s G-E-O dot T-E-C-H slash spec.fm, go.tech slash spec.fm.

[00:06:13] You’re going to get 90% off on your registration.

[00:06:17] You can get this on one year in five year.

[00:06:19] For one year, it’s going to cost you just 24.99.

[00:06:24] Go and check it out, go.tech slash spec.fm.

[00:06:28] The future of tech is going to be on .tech domains.

[00:06:33] So we’re talking about the illusion of learning and knowledge as it relates to

[00:06:42] recall.

[00:06:43] Now we’ve talked about this very recently on the show.

[00:06:45] The idea that learning is kind of based on this concept that you’re putting information

[00:06:52] into your brain for recall at a later point.

[00:06:56] And so it seems intuitive that if you have to look up something, let’s say you forgot

[00:07:01] the syntax or you forgot a particular procedure, that you still have a lot left to learn.

[00:07:08] And the illusion continues that those who are really good at programming, those great

[00:07:14] developers that you follow on Twitter or that you watch their YouTube videos at conferences

[00:07:21] and that kind of thing, that they already have all that stuff down, that they don’t

[00:07:25] forget those things, that they don’t Google for that syntax.

[00:07:30] And this isn’t necessarily true.

[00:07:31] In fact, it’s almost certainly not true.

[00:07:35] And the reason for this is because knowledge is not simply having a dictionary of information

[00:07:42] in your mind.

[00:07:44] And we’ve mentioned this before, but Bloom’s taxonomy.

[00:07:48] This is a kind of a way of understanding how far your knowledge goes.

[00:07:54] So in Bloom’s taxonomy, which we’re not going to get too detailed with this, but

[00:07:58] Bloom’s taxonomy identifies six different kind of layers where you understand things

[00:08:06] more and more as you go through these layers.

[00:08:08] The first one is knowledge.

[00:08:09] And this is kind of that retrievable information in your head, right?

[00:08:14] You have some kind of trivial information that you can pull out of your head.

[00:08:18] And if somebody were to ask you that question, then you can retrieve it.

[00:08:21] And that’s where it ends.

[00:08:22] The second is comprehension.

[00:08:25] This is being able to classify and describe things, but not necessarily use that information,

[00:08:33] which is the third level that’s application, taking that information and using it in some

[00:08:38] particularly useful way.

[00:08:41] The fourth kind of layer is called analysis.

[00:08:45] This goes beyond taking that information and using it, and instead you can take a

[00:08:50] step back and see how it is being used.

[00:08:53] This is kind of a meta layer.

[00:08:56] The next step is synthesis.

[00:08:58] Imagine having multiple pieces of information, multiple use cases, and being able to understand

[00:09:04] how they fit together.

[00:09:06] Finally, the sixth layer in the Bloom’s taxonomy is called evaluation, right?

[00:09:13] Being able to rate and understand and appraise and compare and defend.

[00:09:21] This is kind of the ability to debate and to weigh pros and cons and to evaluate the

[00:09:27] quality of a particular use of information.

[00:09:32] And so as we look at this taxonomy, what we can realize pretty quickly is that syntax

[00:09:42] doesn’t really provide that level of depth.

[00:09:47] Really what we’re talking about when we examine the career of a great developer

[00:09:53] is how is it that they arrive at that sixth level of Bloom’s taxonomy, that

[00:09:59] ability to compare and to have informed opinions about various types of technology,

[00:10:07] simultaneously not always having that retrievable knowledge about syntax.

[00:10:16] And the reality is that the things that a great developer cares about very often

[00:10:21] have much less to do with a particular rote procedure or the specific syntax.

[00:10:31] And they have much more to do with some level of principle, some kind of pattern,

[00:10:38] some higher level understanding of how those parts fit together, not necessarily the

[00:10:43] internals of those parts.

[00:10:46] And this understanding essentially creates an abstraction away from the particulars.

[00:10:54] This doesn’t mean that great developers don’t care about the particulars.

[00:10:57] For example, this may lead to an argument that great developers don’t care about performance.

[00:11:05] This isn’t necessarily true.

[00:11:07] Instead, they rely on patterns and they rely on principles and focus on the kind of the

[00:11:17] largest impact that they can spend their energy on.

[00:11:23] So if they were to spend all of their energy on, let’s say, memorizing the details

[00:11:28] of the syntax of a given programming language, what happens to that knowledge and how useful

[00:11:34] is that knowledge when the syntax changes or perhaps when they work on a project that

[00:11:40] uses a different language?

[00:11:41] Unfortunately, a lot of that information just simply doesn’t transfer.

[00:11:47] And for that reason, that higher level of Bloom’s taxonomy, that kind of shallow

[00:11:52] layer of Bloom’s taxonomy, tends to be transitive.

[00:11:57] That knowledge that you would normally have kind of just available for retrieval

[00:12:01] is not particularly useful when things change.

[00:12:05] But the ability to compare and contrast, the understanding that comes at a deeper

[00:12:12] level of knowledge, that does transfer.

[00:12:17] Your ability to understand patterns, to understand principles of programming, that

[00:12:22] information does transfer.

[00:12:25] The implementation details quickly fade away in importance.

[00:12:30] And instead, the great developer chooses to focus more on the overall effect, the

[00:12:39] meta principle at hand.

[00:12:42] Thank you so much for listening to today’s episode of Developer Tea.

[00:12:46] Hopefully this is an encouragement to you, not only in the way of you not having to

[00:12:52] go and memorize every single little thing in every standard library of every language

[00:12:58] that you use, but also to avoid wasting time.

[00:13:03] This is kind of a key bonus takeaway for today’s episode.

[00:13:07] Avoid wasting time arguing over the minutia of a given programming language implementation.

[00:13:16] This is extremely important for your maturity as a developer.

[00:13:19] To avoid arguing over unnecessary minutia.

[00:13:25] Thank you so much for listening.

[00:13:26] Thank you again to dot tech.

[00:13:28] The future is on dot tech domains.

[00:13:32] Head over to go dot tech slash spec FM to get 90% off 90% off on your registration.

[00:13:41] You can do one in five year registrations, go dot tech slash spec FM.

[00:13:47] Thanks again for listening to today’s episode.

[00:13:49] And until next time, enjoy your tea.