Because I’m self-taught in most things I do — from programming to design to animation — a lot of my friends ask me for tips on how to learn a particular thing.
“I want to learn how to make websites,” a friend will ask. “Where do you think I should start?”
Over the years, I’ve given a lot of different responses. Pointing people to free online resources for learning, like Codecademy or Khan Academy. Or telling them to join a local workshop or meet-up. Or both.
It’s not how I learned, but it’s easier to point someone to a resource than it is to give an autobiography for how I learned something myself.
However, seeing that advice fail again and again prompted me to rethink my rationale.
What would it look like, if I advised people to learn things how I’ve learned them?
When I dug to the bottom, I realized that there was a common foundation that was the basis for all the things I’ve learned. From programming languages and design software to spoken languages and hobbies.
In every case where I learned something that really stuck, a skill that I could later put into practice in my work and life, I was learning for a project, not for the sake of learning itself.
Learning for a project looks like identifying a specific goal, something that you’ll be able to check a “done” box on when it’s finished, and acquiring the of the knowledge and skills necessary to accomplish it. And only that.
It’s impossible to “learn how to make websites.” You can never check that box.
There are hundreds of frameworks and programming languages, and new ones pop up every day. Not to mention browser standards, support, and the ways people visit and use websites are all changing more quickly than you could finish that stack of computer science textbooks.
Instead of trying to “learn how to make websites,” create a project.
That might be something like “learn how to make a WordPress website customized with my own colors and logos.” Or “a resume website with examples of all of my work.”
The project can also be a feature, like “learn how to make a website that has a shopping cart.”
Once you have your project, start googling, or asking friends specific questions. Look for “how to” and keywords related to the project.
During this investigation, you’ll start to get a sense of all the mini-projects within your overall projects (e.g., setting up an IDE, using an FTP client). You’ll follow along tutorials, constantly applying things you’ve learned while recognizing new things you need to figure out.
Whether you realize it or not, you’re creating a syllabus for your project. And it will be something that, every time you do it for a new project, or a new thing to learn, becomes more second nature.
And this doesn’t just apply to making websites, but everything you might want to learn.
You can’t “learn Portuguese.” It’s completely unfeasible. I’ve been speaking and learning English my entire life and I still haven’t checked that box.
But you can “learn how to introduce yourself to others in Portuguese.” Then you can learn “how to ask for your favorite food.” And eventually work yourself up to something like “learn enough Portuguese to watch Blood of My Blood” and enjoy the international sensation.
You can’t “learn Photoshop,” but you can “learn how to remove the background from a photo.”
It also works beautifully for learning more physical, or less abstract things.
When I turned 30, as a half joke, half life-stage-initiation-ceremony, a friend of mine took me golfing. The idea being that I can’t keep playing pick-up soccer forever, but if I picked up golf it would be a fun thing for me into my later years.
Being the obsessive learner that I am, I quickly turned golf into a series of projects. But I never “learned how to golf.”
First, I learned “how to have a consistent golf swing,” which Ben Hogan taught me in his short book Modern Fundamentals. Then I learned, “How to practice golf effectively” on the driving range and putting greens. Finally, I learned “How to consistently score below 110,” then “below 100,” then “below 90,” all of which were just a google away from a syllabus of YouTube videos and blogs. Trying to complete those projects created new projects for me, like “learning how to make all of my short putts,” “how to hit out of sand traps,” and “how to plan a round.” Finally, the last thing I learned was “how to score below 80.”
In learning all that, and completing all of those projects, the list of things I don’t know towers high above what I do. Every time I learned something, I learned two things I didn’t know, that I didn’t know I didn’t know.
So I still wouldn’t say “I know how to play golf.” I never learned how to play golf. But I do know how to swing consistently, practice effectively, plan a round, make most of my short putts, hit out of sand, and score below 80.
And that’s plenty for me. Check.
On to the next project.