Written by Stacie Taylor-Cima, originally published on Medium.com
I’m a coding newbie with a packed schedule: I’m a full-time employee at a startup, a mother, and a full stack web development student. With a busy life, finding an effective way to study was crucial to my success as a beginner coder. Below are a few tips and tricks I’ve learned along the way that I hope help others learning to code!
Learning anything new can seem a bit overwhelming — especially when your subject is as vast, ever-changing, and dynamic as the great world of software development. Remember when you were in elementary school and could study for a spelling test by just making flashcards and repeating them a hundred times? Well, things aren’t so simple with coding.
Learning to code takes a great deal of focus, patience, and dedication. It’s easy to just go through the motions of writing code without truly understanding the concepts — but this is absolutely detrimental to your goal of becoming a super-star software developer. If this is happening to you, turn around right now and go back to where you stopped understanding.
Throughout my experience with learning to code, I’ve been able to pinpoint a few study techniques from which I benefited and was able to gain a deeper (and lasting) understanding of what I learned.
Write it out:
Hand-writing notes (and code) may seem like a waste of time and a bit counter-intuitive for students learning how to code, BUT a handful of extremely credible studies have been published that conclude “students who write out their notes by hand actually learn more than those to type their notes on laptops.” (Allison Eck, NOVA | https://goo.gl/52w6NR)
I imagine most of you already know this to be true of your own learning habits. But even for me — a serious note-lover — it can be challenging to actually get out a pen and paper and take notes. Having a digital version offers far more potential for building on your ideas, rearranging them, sharing them, etc.
So, if time allows, I highly recommend first taking notes by hand, then transcribing them. This can be time consuming, but going over the material multiple times and engaging with it both physically and digitally can offer you a much deeper understanding.
The Process:
- When learning something new, get out your notepad and take great notes!
- Transcribe those notes somewhere you can easily access and organize them. (Google Drive, Evernote, MS Word, etc.)
- Print out resources that you’ve found helpful along the way and mark them up too.
- Print out your code and take notes directly on it about what exactly the code is doing. Tip: Practicing with Code Wars? Print those out too and document the code by hand. These challenges may come up in technical interviews (or in your future career) so it’s great to have really dug into the details and to have them available for future reference.
- Take these notes and resources that you’ve created, print them out, and create your own physical reference guide! Maybe someday it’ll turn into a book that millions of software development student around the world cherish as their greatest resource!
Pro Tip: Now that you’ve gotten some excellent documentation written about coding, turn them into a blog! They say they best way to learn is to teach and blogging is an excellent way to practice putting your knowledge into a format that other can learn from and be inspired by.
Type it out:
Don’t fall victim to copy/paste. Typing code instead of copy-pasting it provides a better learning ROI because we’re practicing instead of just reading. — Fagner Brack
By typing it out yourself, you’re familiarizing yourself with the code on a whole new level. Things you thought you knew when you talked through the code might become less clear when you’re actually adding it to your own script. This practice is sure to lead to excellent questions that will help you develop a deeper understanding of the code.
Keep in mind: when you’re in a technical interview, you can’t copy/paste, so you need to know how to do it with your own fingers (…and brain).
The Process:
- Read the code you’re attempting to recreate.
- Talk yourself through what each and every piece of that code does. Tip: do it out loud if possible. This will help you get prepared for technical interviews and even teaching others how to code!
- Then type the code into your own text editor. If you’re feeling ambitious, try typing it from what you remembered reading and voicing as you talked through the code — even if you can only get as far as pseudo-code!
Map it out:
When working with robust coding languages, tracking down and understanding where all of the pieces go can get a bit overwhelming. In the same sense that you’ll learn more by taking handwritten notes, I truly believe that you can learn a great deal by pulling your code out into the world and organizing it with your hands! I had an incredibly talented mentor (Carrie Coxwell, @carriecoxwell) suggest that I put the code on note cards and organize it on a wall. I was intimidated by the time this task would take, but it proved to be one of the single best lessons I’ve experienced so far in my coding journey.
The Process:
- Get a bunch of note cards, a pen, and a few colors of highlighters (or markers, or stickers, or if you’re a parent, you’ve probably got a million half-crayons to choose from).
- Open your entire project and write it all (by hand) on your note cards.
- Once you’ve gotten all the code down on note cards, organize it like a tree on the wall with tacks, tape, mounting putty, etc.
- Take your highlighting tool of choice and being highlighting aspects of the code that reappear in the same color.
- Step back and take a look at how your code is so deeply connected.
This process will lead to many aha-moments! Writing the code out by hand on the note cards offers a lot of insight that you might have missed when typing it into your text editor and will lead to some great questions that will help you focus your studies. Then being able to step back and see how everything is tied together gives you a much clearer picture of how exactly your project is structured. Do it! I promise you’ll learn from it.
I hope you find these study tips helpful and inspiring. If you have awesome study hacks that have been invaluable to you, please share them with the rest of us so we can learn together!