No Slackers Here: 4 Tips for Successfully Learning to Code
Learning To Code Is Hard, But You Can Do It!
Learning new skills can be frustrating. The natural ups and downs on the path to progress can cause learners to become stuck, encounter mental blocks, or even give up altogether. As a former college professor in the field of education, I can say with certainty, a little knowledge about educational psychology goes a long way when you want to be a successful student of code. With a few tips, you can take charge of your learning and persevere.
Set Reasonable Goals
Your short-term goals might be to work through the Introduction to jQuery section of Code Academy this week or solve two Code War challenges over the weekend. Short-term goals are incredibly important because they give you a sense of accomplishment to motivate you to complete the long-term goals.
Your long-term goal might be to complete the Front End Certificate for FreeCodeCamp in 8 months with a career goal of getting your first developer job in a year.
Be sure you give yourself a realistic timeframe to complete your goals. A timeframe keeps you on task, as long as it is sensible. If the Udemy course you are taking has over 40 hours of videos, an unrealistic goal is to sit at the computer for 20 hours over two days and complete it.
Be Picky With the Resources You Choose
The resources that are available to learn code are vast!
I just looked at a blog post that referenced over 400 free courses to take in April 2018 alone! And that's a good thing. With so much variety, you can afford to be picky. Not every course or project is going to fit your needs, so don't try to force yourself into it. The result will most likely be frustration and the feeling that you just don't have what it takes.
Knowing your learning style will help you immensely. Think about how you best learn new information and always play to those strengths. People generally have a few dominant learning styles with the most common being auditory (do you listen to a lot of audio books or podcasts), verbal/linguistic (would you rather read the book instead of listen to it), visual (do you color code information, do you prefer figures and diagrams), or kinesthetic (do you learn by doing – manipulating and building).
Build Early and Often
There is really no way around it. If you want to be a developer, you have to build.
Experts say that you need to practice a skill for over 60 days consecutively in order for it to become a habit, and it takes over 10,000 hours of practice to become an expert in something. In other words, the more you practice, the quicker you learn. The good news is, you don't have to be an expert. You just have to be able to build and troubleshoot at the beginning. Here's where goal setting is important – how many hours per week or month can you realistically set aside for building?
Once you have some coding basics down, you will naturally become inquisitive about how to do something on a website or application. Take those inquiries and make them a reality. One night out of curiosity, I looked up how to play audio files on a website, so I built a quick page with my top 5 list of songs to code to (here). It was a small, manageable project that used very beginner level code and took just a couple of hours to build. That's what is amazing about being a developer. If you can think of it, you can build it. What are you interested in besides code? Are you a dog trainer? Or a ghost hunter? Maybe a ballroom dancer? Whatever it is, you can build something around it. You're a developer!
My favorite part of the Harry Potter series is that Harry is not alone. Learning magic, like code, is hard, especially when the most evil wizard of all time is trying to kill you, but Harry's friends Ron and Hermione give him strength and motivation, and eventually they defeat You-Know-Who. This makes sense from the theoretical perspective of social constructivism — that we construct our knowledge through interactions with others, where each of us has strengths.
That's the goal of most study groups: to create a shared community of coders from various backgrounds with a variety of strengths. While everyone is generally working on their own projects, we happily help each other out when the need arises, and members love to collaborate on projects together. If you aren't sure how to find a study group, start with some online groups and see if there is FreeCodeCamp chapter in your area. I attend their study groups regularly.
Join meetup.com and see what's available in your area. Contributing to these groups is the best way to overcome imposter syndrome, the feeling that you are a fraud.
Let's face it: learning to code is hard. It's much more than a set of foreign languages - it's a system of thinking, transforming that thinking into programs that work, and if you are lucky, you'll have a flair for design on top of that. The journey is going to be long and frustrating at times, but you can do it. Always set reasonable goals. Evaluate resources to meet your needs. Build projects based on your inspiration. Get involved in the coding community. Most importantly, take time to reflect on how far you have come. You're doing great.