Remember when you were first learning to drive? It was hard, wasn’t it?
You start with the theory. You read a book, learn a bunch of rules, go through photos of different scenarios and decide whose right of way it is. The blue car or the red bicycle? What if the red bicycle has a hat and is on the wrong side of the road?
NOTE: This is a cross-post from my newsletter. I publish each email two weeks after it’s sent. Subscribe to get more content like this earlier right in your inbox! 💌
The book is boring, it doesn’t make sense, and who cares that a double center line means you can’t drive on or over it but does not explicitly ban passing…?
Motorcyclists. That’s what allows lane splitting 😉
This weekend, I’ve been reading the California Driver Handbook because I’m taking the written test this Monday. Finally getting my US driver’s license 🇺🇸
Just between you and me, I was supposed to do that 3 years ago… you’re not allowed to drive with a foreign license after you start paying rent. Oops
While I was reading the book (the Slovenian version of which caused me so much anguish when I was 19), I noticed something 👇
IT MAKES SO MUCH SENSE! All of it. The whole thing makes total sense!
Of course you’re supposed to leave 3ft (1 meter) of space when passing a bicycle. No shit you shouldn’t block an intersection. Yes of course you merge onto the freeway at the speed of traffic.
How could I ever think this stuff was hard to memorize and didn’t make sense!?
I was learning in a vacuum. Reading the theory of how to drive a car before I had ever driven a car. Of course it didn’t make sense.
Don’t learn tech in a vacuum either
You read the rules, and you go, “Huh? But why?”
It’s hard to understand technical decisions if you don’t know why they were made. It’s hard to memorize APIs if you don’t use them. It’s hard to get a feel for architectural patterns if you don’t face the problem they solve.
The visitor pattern is pointless until you’re building a language parser. Redux and MobX are useless until your app is big enough to share logic between different parts of the UI. React and Vue are a waste of bandwidth when all you need is a date picker. And so on…
People often ask me for coding exercises. Toy problems to solve. And I’m happy to give them. It’s one of the most popular add-ons to offer with an infoproduct.
But it’s just not the same. You have to be solving a real problem. A problem with real customers and stakeholders and money exchanging hands.
Don’t just learn some shit you hear about online. Don’t reach for a library just because some bloke mentioned it on Twitter. Think.
Does this solve a problem I have?
Am I experiencing an issue and looking for a solution?
Do I feel impostor syndrome and think learning one more library will help me feel better?
If you answered Yes to two of those, you’re on the right track!
If you answered Yes to the last one… I and other purveyors of fine learning products and experiences will love you as a customer, but I’m afraid learning One More Thing™ won’t help you feel better. You’ll just discover even more stuff you don’t know.
Yes, that 3rd option is why Udemy is full of shit courses always selling at a 99% discount that nobody even opens after buying. That’s also why I’m not on Udemy.
Find a problem, then solve it
You have to find a real problem. Then solve it. Learn whatever you have to learn to solve your problem. Don’t learn any more than that. Don’t learn any less.
Sure, have a rough map of what’s out there. Keep in touch with the times. Hold your finger on the pulse. Just don’t go into details until you’re solving a real problem.
To quote Netflix: We don’t hire people to write code. We hire people to solve problems.
That’s why, when people ask How do I learn to code? or How do I learn D3? What about React?, I always say: Start with a problem. When you hit a snag, learn the solution.
I’m happy to provide a problem for you. But I fear you won’t be as motivated to solve it as if it was your own problem.
My favorite coaching clients have a problem or app idea that I help them solve. Some of my worst experiences (and theirs, tbh) have been when clients come to me like, “Ok I wanna learn this. Gimme shit to do”
Err… did you learn how to drive a car because someone said Yo, everyone drives!? Or was it because you wanted to take that cute girl or guy to the movies without asking your mum for a ride?
Even if you’re learning just for fun, find a fun problem to solve. You’re gonna have way more fun. 😉
In Other News…
I got to drive a 1957 Porsche 356 Speedster replica this week and that was fun and looked cool as hell.
Learn While You Poop has been going great too.
We’ve covered all of Redux and started doing MobX.
Yes, these videos kinda go against what I was talking about earlier, but my hope is two-fold:
- Give you broad shallow understanding of what’s out there — help you build a map
- Be a resource for when you do need to go deep into a topic
Time will tell if it works ¯\_(ツ)_/¯
A few cool things…
Here’s a few things I saved to Pocket recently 👇
- DevTube is a search engine slash index for developer videos on YouTube.
- @acemarke sort of inspired this week’s email with a tweet. You should follow @acemarke, he’s cool.
- This fascinating paper that says face-to-face communication is reduced when you move people to an open office.
- This great article about Headless interface components.
- These fascinating trends with jobs for hackers. React is going off the charts and blockchain is catching up. Prime time to actually work on that silly blockchain-redux idea I’ve been building 😛
P.S. If you like this, make sure to subscribe, follow me on Twitter, buy me lunch, and share this with your friends 😀