Core

The knowledge we have can be split into:

  • things we know
  • things we know we do not know
  • thinks we do not know we do not know

Three Levels of the Knowledge Pyramid

1. Stuff You Know (Top of Pyramid)

  • Technologies, frameworks, languages, and tools used daily
  • Example: Java programming for a Java developer
  • Represents Technical Depth
  • Requires continuous maintenance - expertise deteriorates without active practice
  • Early-career focus for developers building expertise

2. Stuff You Know You Don’t Know (Middle Section)

  • Things you’ve heard of but lack expertise in
  • Example: Clojure programming language - developers know it exists but can’t code in it
  • Acts as a transition zone between known and unknown
  • Naturally expands when developers encounter new technologies

3. Stuff You Don’t Know You Don’t Know (Largest Bottom Section)

  • Encompasses the entire universe of technologies that would be perfect solutions, but technologists are unaware they exist
  • Represents blind spots and missed opportunities
  • The most dangerous knowledge gap because it’s invisible
  • Source of potential game-changing solutions

Relationship to Other Concepts

Source: Fundamentals of Software Architecture - Mark Richards & Neal Ford

Note

This content was drafted with assistance from AI tools for research, organization, and initial content generation. All final content has been reviewed, fact-checked, and edited by the author to ensure accuracy and alignment with the author’s intentions and perspective.