I remember in college, watching people cram semesters worth of material into their brains to try and pass some test and spending marathon studying sessions for finals. I wanted no part. I valued my drinking time far too much to dedicate those prime evening hours to endless study. Maybe, in some part, my drinking problem facilitated good studying habits that allowed me to avoid all nighters for most of college. Some of the same tricks I used in college are what helped me learn to code in a fairly short amount of time and continue to help me pick up new skills.
Don’t Study for Too Long
I’d say between 45–90 mins is a good chunk of time to dedicate to learning something. Anything over that and your brain begins to get a bit weary and you may just be trying to push through the material. A short burst of dedicated study time followed by immediate application (more on that later) is more valuable than mindlessly powering through yet another tutorial.
I remember a particular student of mine who was learning to code through a popular online bootcamp. He never seemed to retain a single thing despite his insistence that he spent hours studying. The problem was that he was cramming all this studying into his one day off work. That just won’t cut it chief. If you’re serious about picking up a new skill, especially a difficult one like coding, you need to be studying at least once every other day. I suggest everyday honestly.
Write Shit Down
I went to college a long ass time ago, right around the time everyone began using laptops for everything. I was often the only student in class without a laptop, so I took notes the old fashioned way, with a notebook, like a monster. In my hungover stupor, I’d often gaze around and see all the people with these fancy ass laptops not taking a single note. Just googling Paris Hilton.
Taking notes helps you internalize information and you can’t google Paris Hilton with a notebook… yet. Sometimes the information you’re studying doesn’t lend itself to a word processor, maybe you need to draw out what you’re thinking or work through a problem a step at a time. The act of writing will help you maintain this new information more easily and allow you a better way to organize it. You can always transfer your notes to your laptop… if you’re one of those. You know the type.
Apply What You Learned
The biggest mistake I see new bootcamp grads make is getting stuck in tutorial hell. I had a student who must’ve watched 3 of those marathon Udemy courses from beginning to end but had trouble writing simple for loops or anything that required more than trivial knowledge of ReactJS despite having watched a full course on the subject. These paint by numbers courses lull students into thinking they understand the material because they’ve suffered through 6 hours of lecture and dutifully copied all the code the instructor provided. No pain no gain eh?
I love Udemy courses for the record but I have yet to watch one all the way through. I get a nugget of information from a course and ask myself, can I re-create this code without copying from the instructor? The answer is usually NO. I look at the concept at the heart of this info nugget, and then give myself a small challenge based on what I’ve learned. For example, if I’m watching a video explaining flexbox and the instructor is going over how to align items to the right or left of the screen, I might fire up my text editor or codepen.io and do my own exercise with flexbox. Say the instructor showed us how to align items to the right, well maybe I’ll align my items to the left or at the top. I follow the beat of my own drum dammit!
Applying newly learned concepts with small variations is one of the most powerful tools I’ve found to learn to code faster. Right before you think the training wheels can come off, rip them right the fuck off and begin attempting to ride the bike. This will take you lightyears beyond copy-paste tutorials.
Lastly, teach someone else all the cool shit you learned. So many people suggest you write a blog but there’s no need to do all that overhead. In fact, just practicing teaching someone in your head can help you really internalize all those concepts you’ve learned. If you can break down, in plain English that a 9th grader can understand, what you’ve learned, then you know you have a strong grasp on it. If not, simply fill in the blanks.