“Your economic security lies in the trust you have in your own capacity to produce, to think, to learn, adapt and provide value”
I learn too fucking slow.
Recently (the last year actually) I’ve decided on learning how to program and become a web developer.
But I’ve found that I have gaps in the way I tackle my learning process and that I’m mostly just remembering checklists instead of truly understanding the things I’m doing.
Besides that, my learning isn’t organized in projects or sub-skills and the time between my repetitions is too long.
This is just useless memorization and doesn’t really lead to anything I can build a career on.
I’m honestly going to say I haven’t had much experience with learning skills like tim, josh or scott have, but I’ve developed my own framework that I’ll be using going forward.
So that’s what I’m sharing in this article.
(Press F11 to read in full-screen)
Why is this important?
Most young people who graduate from school don’t have any marketable skills that can separate them from the other applicants at a job.
Learning skills that are high in demand, centered around your strengths and difficult + doing this in a fast and adaptable manner will provide you financial security for a lifetime.
If something is not hard to do or someone could easily/rapidly learn how to do it, it’s just not worth outsourcing. It’s the same reason I don’t pay someone else to brush my teeth and the same reason I do pay for my food.
It doesn’t mean you should learn everything and do everything yourself. But you should have some marketable economic skill that you can use as leverage to trade for the products generated by the economically valuable skills of others.
- Ex: Getting paid for repairing i-phones and trading that earned money to buy someone’s expertise in book-format.
In the following section, I’ll give you a breakdown of the framework I’ll be using to learn new skills and as an example I’ll be applying this to something I think is cool to learn; motion design. Of which I have currently (time of writing this sentence) 0 background/understanding of.
Here’s an overview;
Sorry no color this time ;). Let’s dive in.
You’ll get the most out of this if you actually follow along & ask yourself: What skill do I want to learn that would dramatically improve my life quality? **Here are a few hints**
How to Learn Any Skill
Your learning should be product/outcome-oriented. As in an actual end-result that will be used as a benchmark to measure your expertise by.
So none of that piss-weak stuff like “I want to play the piano” or “I want to learn how to knit” or “I want to become a web developer” or whatever.
You’ll want to shoot for a tangible outcome (something you can actually point at as reference of your success) like an ebook, program, website, blog, YT-channel, video of you practicing, video of the outcome, whatever.
- Ex for playing piano: Make a full video of yourself playing linking park in the end on the piano and post it on YouTube.
- Ex for programming: Build a functioning real-time chat-application like Facebook messenger with ruby on rails and put it online for everyone to use.
You can add a deadline to it if you want to. But if it’s a really complicated skill you’re likely to miscalculate the scope and fall into planning fallacy. That’s why I (suggest to) skip that.
Thinking about how you’ll design the project (end result) will prevent hours/weeks of wasted/misplaced effort. Don’t just dive head deep into something without having a fucking plan of attack and knowing the end result you seek.
- What do I want to be able to do/be/have after <x time>?
- What does “done/success” look like?
I want to make a 2 minute motion design reel for my freelance company TrueTech which explains all my services and the process of working with me. I want to do this with a professional female narrator which I’ll hire on fiverr.com.
Economically valuable skills are big and complex – make them small by dissecting them into their smallest components. This is the most important step (and the most difficult one, besides the actual practice).
- Ex: Cooking requires you to master things like cutting techniques, food-pairing and ingredient selection, .. .
These are all subskills that – when combined – make up the end result that’s so desirable.
These are the core components you want to be practicing on individually (and after that in an integrated project).
The ultimate goal of this step is to create a sequential, nested bulleted list with subskills that lay out concrete ways (projects you want to reproduce, actions to undertake or tutorials you want to complete) that’ll help you practice these subskills (see image below for example)
Here’s how to tackle this;
- Use books, courses, DVD’s to get a “big picture overview” on what the most important sub-skills are (limit this to 2 hours of researching at max). Look for people who already have created a map for you.
- Read the table of contents of 3 beginner/tutorial style books on amazon on this topic and you’ll get a GREAT high-level overview of any skill.
- Look for different courses that teach you this skill and try to find out how they lay out the steps. What’s the “roadmap” you should follow?
- Start googling for resources (video’s/books/people) that will teach you how to practice these subskills
- Search google for “How I learned <subskill>/how to practice <subskill>/how to learn <subskill>/<subskill> tutorials”
- Identify the critical tools that you’ll need to practice. Check if you need some physical/digital product you’ll have to acquire first.
- Google: “Top x tools each <designer/developer/insert other> needs
- Google: “Things I wish I knew before I started learning x”
- What are the smallest components of this skill?
- What resources will I use to learn each sub-skill? What are some great, consecutive projects to reproduce/tutorials to follow?
- If you got the money, you could try a course (I think the biggest value of a course would be the direct feedback/Q&A setting of a classroom. So IF you decide on paying for a course make it one that’s in person and come prepared.)
- What are the core tools that I’ll need to start practicing immediately?
From what I can tell, motion design is separated into different categories like visual effects, 3D animations, cartoon animations, stop motion animations and explainer videos. I chose “2d motion design” as the main skill to work on and started to dig deeper into it.
I started on Google & Amazon searching for;
- 2d motion design books, how to learn 2d motion design, how i learned 2d motion design, how to make explainer video’s, how I learned to make explainer video’s, …
I quickly realized that there were 2 main (critical) tools people are using to create these motion designs; adobe after effects and cinema 4D. Both aren’t supported for linux (the operating system I’m on), so I found blender and natron as an alternative.
Then I needed to build up a nested bulleted list of subskills and projects/tutorials. By skimming through the starter tutorials and the table of contents from the books on amazon I noticed that 2d motion design primarily consists out of 3 things;
- Image composition (Making 2d shapes)
- Keyframing (Moving/transforming 2d shapes over time)
- Storyboarding (Drawing out/wireframing the project before you start animating)
Next up was just looking for tutorials and projects that would help me practice each of these 3 subskills. Here’s my final result;
And voila, we’re done with planning (took me 2 hours, and I got a nice detailed plan of attack for learning this skill as fast as possible with all the sub-skills and tutorials for each).
The complexity of this project is doable in the confines of 1/2 weeks I believe. Then again, planning fallacy.
3) Fast, Distractionless Practice
The next thing you should be doing is start practicing on projects ASAP. Don’t read stuff, but for learning new skills it’s most important to work on projects that build towards your target goal.
Here’s some tips to keep in mind whilst doing this;
- No cell phone, windows or pop-ups whilst practicing. You should have the ability to put in uninterrupted hours of complete focus in the acquisition of this.
- Find or pay a mentor to ask questions to. (this makes it ALOT easier when you get stuck, then again professional support isn’t always available/cheap)
- Practice the skill at least once a day in the morning for repetition and negating the ebbinghaus forget-curve
- Lower the barrier to start practicing (make it easier to do daily). For example, if you wanted to learn the guitar, put it always in a visible place.
- If you really want to get good at something and make a career out of it, it requires trade-offs where other things in your life will be on-hold or neglected. A bit like the four-burner theory from James Clear.
- Create checklists and scaffolds to break actions down and achieve similar, consistent performance. In the beginning, you’ll have “checklist vision” where you might reach a certain result but don’t understand it deeply enough.
- You might run into “expert language” that you don’t really grasp at all. You can use analogies or the feynman technique for difficult concepts. Analogies are the fundamental keystones for comprehension. Use googling like “<concept> simplified/made easy/explained” or ask a mentor for a great analogy.
- What should be removed from my environment so I can give this project my fullest focus? What should be added to encourage daily practice?
- Who can I contact/what group can I join to ask questions to when I get stuck? What do I need explained to improve my practice sessions? Do I keep an active list of unanswered questions?
- How can I translate this result/action into a checklist so I can replicate the outcome in the future?
- How can I create fast feedback loops to watch my skill progress (How can I quickly notice the contrast between my actual performance and intended result?).
- When it might take a long time to reach an end result (ex: building a house), you don’t want to compare your performance with the desired result only at the end. You’ll just build a crappy house and not learn how it should have been done. Give yourself x amount of time to work towards the end-result to the best of your ability and then compare it to what you want.
- How can I make the loops smaller (time between performance & correction)? How can I make the feedback more clear/accurate?
- How can I test my skills in a bigger, integrated scope (grand project) for a longer duration and a smaller, separated scope for a shorter duration?
- What don’t I understand deeply enough that makes practicing harder? Am I spending too much time shotgun learning or voodoo learning?
- Shotgun learning = Doing many random/disorganized things in order to get the result you want.
- Voodoo learning = Following a certain checklist/steps to get a certain result without understanding how it works.
- Are my practice sessions still uncomfortable?
Well, I’m not going to start practicing motion design for now because I’m time-constrained so I’ll substitute this step with how I deliberately practice web development.
- When I’m practicing, I have my phone on airplane mode, my curtains are closed and my desk is aimed at a blank wall. I keep the door of my room closed at all times and mostly ignore my family when they come in (which I explicitly tell them not to do, especially before noon)
- I have a slack group for ruby programmers that I can contact for questions and the website stack-overflow that I can retrieve answers on. I’ve also hired a developer in the past to guide me through a project and I keep an active list of questions I wasn’t able to answer myself (but overall I’m pretty stubborn on learning everything myself. Which makes me stupid)
- I don’t prioritize blogging, dating, family and friends whilst focusing on this, which is a trade-off I make for this period of my life.
- I have a checklist for doing pretty much anything in programming in my onenote. I recommend creating a checklist for tackling pretty much anything you want to really excel at.
- When a problem is open-ended I give myself a certain time (1-2 hours) to get as far into it as I can, and then compare where I’ve gotten with the solution.
- I frequently visit explainer video’s on YouTube for concepts I don’t grasp and make drawings/diagrams to make difficult concepts easier to understand.
4) Spaced Repetition
Skills sharpen slowly and dull quickly.
This means that if you don’t repeat the skills often enough you will get bad at them fast.
I’ve done a period last year where I approached x-amount of women a week to rapidly increase my social/dating skills but if I’d do that now I’d probably be worse than where I left off since I didn’t actively maintain it.
- Create deliberate spaced repetition loops (to counter ebbinghaus curve). Use flashcards to repeat core information on a regular basis. This doesn’t have to be as intensive as the deliberate practice, just regular enough to keep the neural pathways strong.
- How can I space the repetition of this skill out in regular intervals? (When)
- What are the core aspects I should know at any time and “overlearn”? (What)
- I use the android app cram which allows me to create flashcards for each area of my life to repeat core information I decided on that I should know at any time. I’m still implementing this to be a daily habit on bathroom breaks, bus rides, car rides and whilst waiting inline.
- There are online applications which allow me to keep my coding skills sharp whilst working on other things.
The first 4 steps will give you a solid foundation of understanding and expertise to build true mastery on. But what separates good results from GREAT is simply the amount of hours of deliberate practice you’re putting into it and the fact you’re continuously looking for ways to improve your craft (most experts don’t do this once they reach a comfortable level).
A true master/expert is someone who knows his whole industry and specializes in one subbranch/category. It’s not an excuse for ignorance. If you’ve truly decided to master a skill, here are some pointers to take it to the next level.
- Become a master by analyzing the work of masters –> Ask people 10+years ahead of you of what they think is great <insert skill> or what separates it from average work. If access to experts is hard, find podcasts where you can be “a fly on the wall” and listen in on their talks.
- Find your weak spots and relentlessly practice on those. Practice sessions should feel depressing and uncomfortable.
- No stone unturned –> Read full-on books that deconstruct the topic to its smallest part.
- Find these resources by googling: Advanced <skill>
- Teach it to others –> The best way to master anything is to teach it to other people as teaching forces you to truly grasp/formalize the concepts in your head. Start a fucking blog or YouTube channel and start producing how-to content.
- Improve by contrast –> Get around people who are better than you and make you feel inadequate all the time. When you’re the best of your team, it’s time to look for a better team.
- Performance checklist –> Keep a series of questions you ask yourself before and after every time you tackle this skill. As a “quality check”. A preparation and reflection.
- Who are the high achievers in my industry and have 10+ years of experience that I could ask for examples/explanations of great work?
- How could I teach the things I’m learning to an audience? Video’s, blogging or side-tutoring people for example.
- What are the advanced components/cutting edge parts of my skill? How can I dive into these?
- What are some questions I should ask myself every-time before I start practicing this skill and how should I reflect on this afterwards when the project is finished?
I’m not at the mastery stage yet but I do have idea’s on how to implement these (or am already doing some)
- I have access to some recent projects of high achievers in my industry which I could dive in and research on. Alternatively, I can ask people in my slack group to send them examples of some of their best work or what they consider to be “great” work. (actually, just did that)
- I’m blogging on my company website about technical stuff and making video’s on YouTube about it (just not frequently enough).
- I’m planning on buying an advanced book called “crafting rails 4 apps”, which is a collection of expert practices which has been recommended to me by a podcast.
- I listen to two ruby podcasts of experts who discuss several topics.
- Ideally, I would get a permanent position at the biggest ruby on rails company in my country to improve by contrast in the presence of experts. I’ve applied there a couple weeks ago and I might get an internship.
- I have a checklist of questions I ask myself before starting a project and for improving/reflecting after it.
The mental aspect of mastery
I didn’t write this post to help you play around with some new skill for the fun of it. It’s supposed to serve as a guiding framework to build a career-foundation on.
But learning a skill and getting paid for it are two entirely different worlds. Here’s what I want you to clearly understand;
Mastering any fucking complex (=valuable) skill will bring you to the point of ultimate depression and make you want to gouge your eyes out with a rusty spoon, twice.
Let that sink in.
No really, take the time.
Our self-esteem is HIGHLY correlated with the trust we have in our own capacity to provide for ourselves. And in rapidly changing times with a million of choices in any direction it’s HARD to trust your ability to adequately manage the challenges of life.
We now live in a global economy characterized by rapid change, accelerating scientific and technological breakthroughs and an unprecedented level of competitiveness. These developments create demands for higher level of education and training than were required for previous generations. Likewise, these developments ask for a greater capacity for innovation, self-management, personal responsibility and self-direction. – Nathaniel Branden, 6 Pillars Of SE
Besides that, skills have never been harder to master, in both depth and breadth. In every industry thinkable, there’s a giant backlog of achievements. There’s just so much accumulated knowledge in any field that mastery is almost impossible (and it will be impossible at some point in the future).
Don’t let anyone tell you mastering a new skill is easy or will be fast. If you have set your sights on true mastery, expect pain and expect it often.
Expect to suffer through a lot of days grinding at your bottomless craft.
There’s never a place and time for true adequacy in the learning period. It’s a continuous emotional roller-coaster of self-doubt, distrust and relief. Every wrong step perceived as threat to your (financial) security.Newcomers are welcomed by course-selling people which say that entry is easy. Ofcourse it’s easy in the beginning!
Everyone can take step 1, but do you have the persistence to get to step 80.258? What do you do once the training wheels come off and you’re looking at an insurmountable challenge with no map to guide you? Here’s a quote I found about programming recently;
You’re going to get frustrated and screw things up and be embarrassed and want to quit. That never stops happening, no matter what level you get to (as far as I can tell). Programming is bottomless. You never reach that sweet spot where you’re sure you can solve any problem, and you definitely don’t reach the sweeter spot where you’re sure you can solve any problem elegantly and efficiently. Functional programming (subskill of programming) hurt my brain.
But I wanted to learn it. Now, it’s a core part of my work, but it took me about eight years of struggle to get comfortable with it. There were many times I came to a complete standstill with that “I just can’t get it” feeling. It didn’t feel like a temporary obstacle. It felt like an impossibility. Learning monads (or whatever) felt as impossible for me as turning myself invisible or growing a third arm. My brain screamed at me “Why even bother? It’s a waste of time. You’ve reached your capacity.
But I’ve learned to push past that. Now, I pretty much ignore “Why even bother?” Or, rather, I translate it to “I’m overtaxed. I need to take a break for a week, a month, or a year, and then try again.” What I’ve learned is that after a break, when I return to the subject, I have to backtrack (sometimes starting over) but I inevitably get farther than I did the last time. Sometimes it’s just a couple of steps farther, but it’s always progress.
Replace the word “programming” with any other complex skill, and it still rings true.
You will suck and continue to suck for quite a long period (even whole your career if true mastery is your aim). But what other options do you have? I feel like it’s a necessity to walk this path to reach a good life.
The rewards are on par with the challenge and the other options are shit anyway.
So here’s the mental process you’ll go trough for mastering any skill and turning it into a career. Graph courtesy of crashlearner.com and based on the 4 stages of competence
- The beginning is the most fun and least complex. There’s entry level tutorial/projects for any skill and the initial quick wins give you a surge of confidence. (1 – 2 months)
- Then reality sets in and the “beginner mind” passes where you’re faced with the ginormous crapload of stuff you didn’t even know existed and very scarce/spread out resources on how to practice these. Confidence takes a major hit and this is the most critical period to hustle/grind through. (4 – 18 months+, depending on complexity)
- Shit starts to make sense and the foggy pieces of the “puzzle of understanding” are starting to fill-in and become clear. You grasp the bigger picture and have a rudimentary approach to tackle problems. More importantly, you know where to search to solve the things you don’t know and are self-sustainable from this point. You’ve had enough “hits” to understand that failure is a sign to take a break and enough “wins” to understand the road you’re taking actually leads somewhere.
- Everything is fine and dandy.
So here’s some tips that have helped me to persist when I wanted to quit;
- It might feel as if everyone else knows what they’re doing and you’re the only one who’s struggling. But that’s nowhere near the truth. Everyone else is playing catch-up their entire life and ALSO have a useless lump of fat for a brain that’s easily distracted and needs to be regulated accordingly.
- Don’t ask for what you’re good at now, the chance you’re an expert in any field without planning for it is non-existent. Ask what you’re willing to get good at and struggle for. Nothing in life that’s worthwhile is easy (duh).
- Any skill can be gone through. Step-by-step until it’s as obvious as any other skill. You’ve learned to read, pick-up girls, , … . It’s the exact same thing. Everything is simple if you understand it well enough. Nothing is fixed.
- Expect failure, expect it often. Some feedback you get from practice might as well say “fuck you”. That’s ok. See it as an indicator of where you are, not what you are. Take a step back when overtaxed instead of going into a tired ‘brute force’ mode where you’re just shotgun-learning or voodoo-learning.
- Escape when needed, but always rebound to reality. Don’t stay stuck in fantasy but use it as a recuperation tool/buffer in difficult periods. Escapism is a tool to use at low points, not a lifestyle. (especially considering the opportunities that’ll arrive in the near future. ex: virtual reality worlds/porn, taste manipulation, ..). Food, video games, tv, alcohol, … . Pick your crux.
I don’t really have much words left to wrap this up. I’ve given you a list of what I consider are the most important life skills to master and a framework to acquire them in an efficient manner.
From this point onward, it’s just about making a choice and grinding through it. Again, here’s the picture on how to pick a skill to base your career on;
- Building on strength will ensure you have a competitive advantage because of formed personality characteristics.
- By choosing something difficult, you’ll have fewer competitors (higher barrier of entry) & be more in demand.
- By choosing something in-demand you ensure that people are actually going to pay you (a lot) for it.
Paradox of choice will probably make this very difficult in the beginning but the longer you walk a certain career path, the less confusing the choices become. Once you’ve truly decided on a path and you’ve traveled sufficient distance along it, the confusion will dissapear since you’ll just won’t be blinded by all the possibilities.
There’s a threshold you’ll eventually pass which clears up the confusion.
But most people my age drift from job to job because it never really “feels right” from the beginning or they don’t have any “passion” for it. Which is why they never build up enough deep domain expertise, which is a prerequisite for career fulfillment.
Go long and stick with it. It’s supposed to be this way.
Note: There’s much fuzz about “learning to program” these days but in hindsight I think it’s more convenient/smarter to learn non-digital skills like plumbing, laying solar panels, repairing complex devices, specialized surgeries, … . This way you don’t directly compete with the whole world online (think about that). It does require another external course/extra tuition though instead of learning everything online. But maybe that’s exactly the barrier of entry you want for your career?
Notenote: I’m a broke,
unemployed 22 year old man with a back injury who lives with his mother. I don’t pretend to know all the secrets to the universe – No-one really does. I’m just giving my perception on the world as I see fit and want to remind you constantly to keep in mind the references/results people have before taking their advice.
Do you have other tips to improve this framework?
Take care, <3
- Framework for learning skills by Tim ferriss: https://youtu.be/DSq9uGs_z0E?t=9m48s
- Framework for learning skills by Josh Kaufman: https://youtu.be/5MgBikgcWnY?t=9m32s
- Solid article: https://daringtolivefully.com/how-to-learn-any-skill-faster
Thank you so much for such an interesting article. Now i know more about the skills we need in life. The way you mentioned is great because they are useful.
I also write about personal growth in my website in Farsi language. I would be so much happy if you guys see that.
Great blog its very informative thanks for sharing.
Nice i really like keep it up thanks for this article.
Beautiful man. Enjoyed the outline and will definitely be taking a nugget or two from it.
The whole “learn to code” thing is woefully overrated. When you get Karlie Kloss opening up a “code school” you can guess its days as a rare skill are numbered.
You’re totally correct with your assertion about “offline” skills. However, I would suggest that it’s best to mix digital proficiency (knowing how to MARKET yourself / products online) with a real world expertise. This will give you access to an unprecedented potential audience – such as you alluded to with Youtube etc.
Regarding living at home, don’t worry about it. I knew two brothers who had to share a bedroom at 31 / 32. In our feminized world (women will always “live” easier than men), it’s easy to see what others are doing and think you’re a loser. Honestly, no one cares. And if they do call you out just ignore it or explain that they’re actually a slave for having to pay rent / mortgage.
Thank you for covering in detail such an important topic. When I read the word Deliberate Practice I thought you were going to start talking about Peak written by Anders Ericsson, I just finished reading it and it has given me a new perspective about optimal learning. Basically he says that deliberate practice should include a clear goal, focused and uninterrupted training, constant feedback from an expert (or master like you said) and constantly stepping out of our comfort zones. I wrote a post recently talking about this deliberate way of learning skills in my blog, http://www.thegreatgrowth.com for anyone who’s interested. Looking forward to your quarterly reviews man. :)
Thanks! Really well thought out! Good sensible message, very authoritative! Good look with the programming!
Well done bro. Loving the humbleness as well. Keep rocking <3
agree with you broo