You ever want to learn something, and just get totally overwhelmed by the near infinite number of guides out there?
Learning from the Internet
Imagine you’re an early-career designer who wanted to depeen their understanding of typography, what do you do? Plugging “how to get better at typography” into Google returns a deluge of mediocre “content” from SaaS company blogs. Eventually, you read enough of these guides to understand the components of type usage: font choice & pairings, size scale, accessibility, etc. Then, you make your queries more specific and find the best guide on each topic.
That’s the process of learning anything on the internet. There are several metaskills at work here:
- Knowing what to search for
- Decomposing your need into different steps
- Knowing which guide to follow for each step
The tricky thing is that most of these skills are catch-22s. How do you know to search for when you don’t know what you’re supposed to learn? How do you decompose a problem into steps when you don’t understand a problem? How do you know what the best guide is for each step when you don’t know how that step works?
As a result, I’ve lost track of the number of times I’ve said to myself “I’m going to learn how to build a basic CRUD app this weekend” only to lose the entire two days wading through an ocean of guides without writing any code.
For many domains of craft like product design and software engineering (though I can’t speak as well to the latter), there’s already a ton of great guides out there for most things you’d want to learn1. The real problem is figuring out which ones to follow. If we want to increase the amount of knowledge in the world, the marginal unit of expert time is better spent organizing than producing.
Knowledge maps out there today
One great example of this is Khan Academy’s knowledge map of K–12 math, now defunct, alas. Having an authoritative source map out the knowledge space and their dependencies + provide a good resource to learn it means that a lot of the metawork outlined above is done for learners.
Unfortunately, K-12 math today is not too different from where it was 10 years ago. So a map of knowledge here has limited utility compared to domains that are rapidly changing like software engineering, where the canonical way of doing something today is often radically different than 10 years ago.
Another drawback of this map is that it only links to first party content. Sal Khan is an amazing educator, but is he better than the rest of the Internet combined?
Addressing exactly the above two is the Open Source Society University – most well known for their open source computer science curriculum. It works like the name says: the whole thing is a github read.me that anyone can contribute to (though in practice, there seems to be only 1-2 maintainers), describing a computer science syllabus where all the content is from free 3rd parties sources.
While an improvement over some dimensions, this approach still leaves much to be desired in the following aspects:
Maintenance cost There are only ~1.5 contributors. We need 100x more if we want to tend a truly comprehensive garden of knowledge for any topic. How do we motivate them? For a deep dive on the people who work on open source, I recommend picking up the book Working in Public.
Modularity of content Probably a downstream consequence of lacking maintainers, but almost all sections of OSSU lead to full EDX style courses. This is not particularly useful for the most common mode of Internet learning: picking up only the exact knowledge necessary to unblock yourself on a project.
Connecting the dots How does the knowledge from one course relate to the next? This gets especially tricky when the material is cobbled together from 3rd party sources that don’t talk to each other. Having even a 5% gap in coverage between modules can send learners down a rabbit hole that exhausts their motivation. This problem gets worse when you start making content more modular.
An even better knowledge map
Based on the lessons from KA and OSSU, how do you make a better knowledge map?
Comprehensive and detailed syllabus of knowledge
- Third party, to leverage the Internet
- Granular, so you can drill into a specific topic
- Comprehensive, so you can situate yourself within the domain
Discussion of source material
- For different kinds of learners (video vs text vs project) with different kinds of prereqs
- Discuss how they relate to prereqs. Fill in any gaps.
Community of maintainers
- To keep expading the graph, and updating content.
- To Identify areas with weaker coverage, and call for writers.
You could boostrap the first two for a while, but will eventually need to find a solution to the community problem – whether in an open source way, or by forming a company.
Ultimately, a knowledge map on its own is not useful unless people are active deriving value from it and the answer to the community problem will entirely depend on who derives value.
Mostly true for fundamental topics. There’s obviously not enough documentation at the edges of any domain, but most people are not there, and the people who are are better equipped with the metaskills needed to help themselves. ↩