What Every Beginner Should Know About Learning to Code

I’ve been teaching introductory coding classes for Girl Develop It Austin for over five years.  In that time, I have had the opportunity to work with students from a wide variety of backgrounds (stay at home moms, communications majors, artists, database admins, etc.) and have been privy to a lot of different reactions to learning how to code not least of all include moments of fear and frustration.

laptopAll beginning developer classes should start with a brief discussion about the expectations the students have regarding how this journey is going to go.  I’m talking about the expectations they’ve set on themselves.  My typical student has an extremely high expectation of herself– expectations caused by not knowing how the average developer has learned how to code.   It doesn’t hurt to tell them of your own missteps and opportunities for growth (that’s what we’re call “mistakes” here!).

My experience as an instructor and TA has taught me that students have a much more pleasant and successful experience if they begin knowing these five rules:

  1. Things are going to Break
    It’s ok.
    Fixing broken things is the MOST important part of learning how to code.  I can’t tell you how many things I’ve learned because I had to fix them after I broke them.
  2. Breaking things is a sign of Intelligence
    We have a rule at my company: If you don’t break production, you’re not really doing anything important.  You can avoid breaking things if you copy/paste solution code in a class, but what are you learning aside from a copy/paste shortcut? People who get curious and try something new have to follow rule 1. It’s probably not going to work the first time, but you’ll learn how to make it work or worst case: you learn why it won’t.
  3. You’ll probably need a cheatsheet.
    Think back to grade school. When your teacher gave you a vocabulary list, did you immediately remember and know how or when to use all of the words? Probably not. I’ve seen a number of students get frustrated because they can’t remember all the keywords instantly after being introduced to them, and the deal is: no one expects you to.  It’s ok (and expected) to have to look it up (even multiple times). I know I still do.
  4. The language is only part of it
    Despite knowing how to construct a perfect sentence in English, not all the sentences you ever write are going to turn into a bestselling novel.  Learning a programming language is the same; instead of epic novels, we’re trying to write amazing programs.  They come with time, practice and a bit of trial and error.
  5. Build
    When you build something for yourself you’ll find the motivation to push through barriers.  To make your vision come true, you’re going to run into things you haven’t tried before, but because it’s your vision, you’ll learn what you need to in order to make it become a reality.

I hope to leave all my students feeling that the world has gotten a bit bigger and the new space they can play in is welcoming, inviting, and exciting.  I love to code and I want to share that with all of them.  I want them to dream big and then set on the journey to make their big dreams come true despite knowing that the whole thing is going to be littered with the obstacle “I don’t know how to do that” and that obstacle is the best fuel for learning more.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s