Sticky Notes Plan

3 Steps to Create The Ultimate Plan to Learn Code

There is an amazing wealth of information available to anyone wishing to learn code. This abundance of resources is both assuring and overwhelming. How do you sift through available resources and choose the course of learning best for you?

The nature of learning a new skill requires that you dive into foreign territory, which can be scary. But, it’s not uncharted territory; there are others who have been in your shoes before and succeeded.

For me, I visualize learning a skill as trying to cross from one side of a giant river to the other side. You’re currently on one side and you want to get to the other side. Standing, gazing across that great divide, you know there are lots of people who have tried to cross and have been unsuccessful. But, there also people who have crossed successfully, doing so using various methods available to you.

River Crossing

Photo courtesy of Chris Gladis

How do you, standing alone on the starting side, determine which path is right for you? Following these 3 steps will help.

#1 Evaluate All Options Against Your Resources

There are many options out there – too many to list. Quora is a great resource for any language you’re trying to learn. Here’s the Quora question and answer I used for as guide for Ruby. Because most resources will either be online or books available to order, create a bookmark folder for each language to save your list.

Also, your resources factor heavily into your decision as well. For me, spending years to get a CS degree, attending a developer bootcamp, or hiring a private tutor wasn’t an option because of time and cost reasons. Eliminate any options for which you don’t have the resources.

#2 Determine Your Learning Style and Match Resources

Once you’ve got a list of resources, it’s time to evaluate those options against your own learning style. Just because someone raved about a learning source doesn’t mean it’s right for you. Remember, there are many people who successfully crossed the river, but they didn’t all take the same journey. Find what works best for your brain.

#3 Don’t Be Afraid To Iterate

This last step is crucial, especially in learning web development. If you find a resource isn’t holding your attention or is incredibly too hard or too easy, don’t allocate your precious resources on it. Get rid of it and move on. This isn’t school, you’re not being graded on what you complete; instead, your accomplishment is all about what you learn.

One word of warning, don’t quit a resource because it’s challenging you; some of the best learning happens at this neural point.

My first week was scheduled to include Michael Hartl’s Ruby Tutorial. I even had a comment posted, which suggested this tutorial was a good place to start. However, I ultimately shifted course and focused my time on Rails for Zombies by Code School. I wanted to see the individual Rails pieces in action (MVC) before diving in heads first.

Learn Code Conclusion

Your time is the most precious resource you have when learning a new skill. Do what’s best for you and be able to adjust your plan as needed.

How do you create a plan for learning a new skill? Leave your thoughts and comments below.

 

  • http://twitter.com/brianball brian ball

    Hi Andrew,

    Nice write up: here’s my iteration:

    >#1 Evaluate All Options Against Your Resources
    >#2 Determine Your Learning Style and Match Resources
    >#3 Don’t Be Afraid To Iterate

    If you’re going to do step #2 anyway, why not do it first. If you know you don’t learn well on your own, why consider books, videos, etc. when a coach, tutor, or in-class instructor with a lab component is your route to go. Same for being an auditory learner or visual etc.

    Once you get a feel for the route you want to take, there are dozens of places to start. I’d say pick 3 and spend a few minutes in each. Look for good reviews because reviewers saying what worked for them can give good insight.

    Iterate for sure. As you learn a bit and get more info, you should definitely try to build something. Coding is like writing. If you don’t know why you’re writing, you won’t be able to say anything. Without wanting a solution to a problem, your code learning won’t stick.

    Any coding practice that’s heavy on typing and practice is probably better than that which is heavy on theory. For Ruby, using IRB to type something in and get that instant feedback is required to get your brain to connect “code” to output.

    Keep going. I like your Project >> Next Feature development cycle.

    • http://andrewkkirk.com/ Andrew K Kirk

      @twitter-7305822:disqus – You present a great point, there probably isn’t a value in considering learning tools/options that don’t match your style of learning.

      Great comment!