Learning and researching topics is fun, but it can be really hard.
Even if you’re at an institution like a school or university you’ll likely still be self-learning a lot of things (especially if you work in tech), so learning how to learn is important.
In this post I want to talk about some techniques and principles for self-directed learning. I don’t claim to be an expert, but I’ve spent the last few years or so teaching myself a lot and putting my knowledge to work (literally), so I thought I’d share some of my learnings here.
Let’s get into it.
Auto-didacticism is the practice of learning with no formal structure or curriculum in place. There’s no specific topics, order, or exams. A good fictional example of an auto-didactic learner is Tyrion Lannister from Game of Thrones.
Tyrion is well-read across many different topics like history, politics, military strategy, and more, which he learned about by reading lots and lots of books when he was young. He didn’t attend some kind of institution to acquire this knowledge, or go through some kind of course; he simply sought it out through intellectual curiosity (and probably over a lot of wine).
In the context of the internet, auto-didactic learning is similar. There is an absolute abundance of content online that anyone can access to start learning about a topic. From a practical perspective, I see the beginning of auto-didactic learning as an endless, recursive Google search.
You want to know how something works, so you Google it. Then you stumble upon another concept you haven’t heard of, so you Google that. You keep going until you break everything down into small pieces, and understand the concepts and primitives behind it. This can be through blog posts, videos, books, or whatever resources you come across.
Let’s take a look at some more concrete examples.
To use an example, let’s think about Passkeys, a new authentication method becoming popular on the web.
I’d probably start with the question: “What are Passkeys?”, which would start telling me how “Passkeys are built on public-key cryptography” → So I’d Google “what is public-key cryptography?” → I’d learn about what that is → And so on.
It’s almost like taking a concept or topic to its logical conclusion, or at least to a point you understand (depending on how much knowledge you have of a subject) and then working from there.
You’re also likely to have questions about what you’re learning about. “So what happens if someone loses their Passkey?” etc. These are all questions which you should ask, either to Google or some kind of forum, and will help you have a better understanding of how things work.
The general steps I use are:
Google a question about whatever you’re learning about.
Google any words or concepts which you don’t know or understand.
If the subject is still too difficult, break it down into smaller pieces.
Frequently ask questions to test your understanding/clarify anything unclear (e.g. “so what if x happened”, or “but what about y”).
Repeat, going further down the concepts if needed.
This is the process I would usually take browsing the web, but you can’t really “test” your knowledge. I find feedback and iteration is helpful, so I tend to use Discord servers, forums, or other tools for this aspect of learning.
Here’s some general advice which might help you on your independent learning journey.
If you’re learning about something complex or brand new to you, it’s likely going to be difficult. In some cases it’s very difficult, and the sources out there might not be up to scratch.
Sometimes you will not have fun. You will want to pull your hair out, or smash your head into the desk. Persist. You will get there.
One of the best ways to check your understanding (in my opinion) is to ask a lot of questions. Ask “what if I did x instead of y?” questions, speak to people on forums, Discord, whatever, and if there’s something that doesn’t make sense to you ask a question about it. It will give you a clearer picture of the topic or concept you’re learning about.
The tricky part is knowing which questions to ask, and how to ask them. This comes with practice and is still something that I’m working on. The goal is to ask questions in such a way so that you can learn effectively, as opposed to letting others do your thinking for you.
This is very much tied to the point above, and also one of the hardest things for me.
When learning something new, you don’t know anything about it. You’re likely going to ask stupid questions. Don’t limit yourself out of the fear of looking stupid.
Or even worse than this, don’t stop yourself from learning because it feels out of your comfort zone or “why would I even bother learning X?” - at least if it’s an excuse to yourself.
I have real skin in the game here, with an entire blog basically doing this. I will say it’s not for everybody, and I know not everyone wants a blog or to be a writer. But consider this just another tip or thought you can use, even if you want to just write privately.
As technology gets more and more complex, the less we understand about the substrate we are building upon. I’m guilty of this myself, and have done plenty of “glue engineering”.
This kind of recursive approach to learning and “going down the stack” fits very well with self-learning, as you might imagine, and is usually a good place to start.
Search isn’t what it used to be. You will likely have to sift through a lot of content to find good and bad resources. I’ve found that I got better at this as time went by - you can start to distinguish what constitutes a “good” resource vs a “bad” resource.
Of course as well you can look for recommendations for good resources from people etc.
I find this proverb quite useful when learning a new topic or concept. I “trust” the information given be a resource at face value, but I still verify it by looking at many different resources, even just skim-reading them. I rarely use a single source.
Many people, including myself, are guilty of doing what we do as humans: wanting the end results with as little effort as possible.
10 minute ab workouts and “learn to code in a week” courses are nothing new. I think there is something in our psychology to desire results quickly. Peter Norvig (Director of Research at Google) has an infamous blog post on this idea called Teach Yourself Programming in Ten Years.
This post has mainly been on getting started with and how to find resources. Of course there’s a lot more to the learning process.
The point I would like to make clear is the goal of auto-didactic learning is to promote critical thinking. You are finding resources and gauging their worth yourself. You’re thinking of clarifying questions yourself. You are not delegating your thinking to someone else.
Auto-didactic learning isn’t something with a designated start or finish. Everyone is different. It’s a journey of cultivating knowledge to become better. So I think it’s important to enjoy the process, and remember that learning is fun.
If you have any thoughts on this blog post, or how to learn more effectively please share them. I hope you enjoyed.