Coding is a skill. Just like any other skill, it feels very challenging until you get the hang of it. The best part is – you need to get the hang only once, with only one language. After that, learning other programming languages gets much easier. How to avoid the most common pitfalls and get the hang of your first programming language quickly? Read on.
It doesn’t matter which language you start with. Yes, some are easier than the others. But the choice is upto you – depending on whether you’re a computer science student with “programming” in your curriculum, or an employee wanting to switch to a coding career, or a business owner willing to gain some coding skills, the language you start with entirely depends on what your goals are. If you haven’t started on anything yet, I would suggest HTML & CSS (despite the argument that they are not really “programming” languages). Here’s why. But otherwise, let’s assume that you’ve already picked your language and started on your learning journey.
Every code-newbie I’ve mentored has made at least one of the three mistakes below:
1. Wanting to remember all the syntax throughout
The one thing that slows down almost every sincere learner is the overwhelming amount of terms / commands to learn and remember. If terms aren’t enough, you also need to remember special characters like semicolon, backslash, forward slash, dot, single quotes, double quotes, curly braces and which one to use where – all this known as “syntax”. And because our education system expects us to”remember” everything and reproduce in our exams, sadly we believe that if we can’t remember it all, we’re bad at coding. That’s wrong!
You don’t have to remember all the syntax of a language to become a great coder!
I’m not saying “don’t remember”. I’m just saying “you don’t need to”. If you are gifted with great memory, please go ahead – it definitely saves your time. But trying to remember it all slows you down. It’s not necessary. In fact, you don’t even have to remember 10% of the commands/syntax of a language to master it. As unbelievable as this sounds, it’s true. So instead of investing your energy into memorizing this stuff, know where to look it up.
Coding is almost like writing an “open-book” exam, where you’re allowed to take the subject book along with you to the exam hall and you can literally copy the answers. So the actual challenge is in finding the right answer! You should have read the book at least once to know the concepts and where to find them when you need. So, what I mean to say is, go through your complete tutorial or book or documentation at least once. Bookmark the important and most used topics or commands so that you can find them quickly when you need. And know that it’s TOTALLY OKAY to copy and paste!
I recommend creating “Cheat sheets” (you could call them notes), where you list down the commands, how to use them, where to use them etc., print this document and paste it on the wall in front of you while coding. When I initially gave this tip to a student of mine, he said he was uncomfortable using the phrase “Cheat sheet”, because he felt like he was cheating. He preferred to call it “Reference sheet” instead. But after 5 weeks of constant reinforcement that it’s okay to look up the commands and copy, he now codes much faster!
When you cannot make a reference list of everything, Google comes to your rescue.
2. Moving on to complex concepts without practicing simpler ones
“Practice, practice, practice” – I’m sure you’ve heard this many times already. But how do you practice and how do you know if it’s enough before proceeding further? No tutorial or course can give you enough practice exercises. When you learn a concept through one problem in your tutorial, you might feel “Oh I got this!”. The moment you’re given an entirely new problem, you’re blank! Feels familiar? This happens to everyone. So before you tell yourself “I got this”, validate it with at least three more exercises:
1. Pick a slightly different variation of the same problem
2. Find and solve a slightly more complex exercise
3. Give yourself a problem that needs a combination of two concepts to solve. For example, you might be learning loops – let’s say “for” loop. Check for exercises that involve “if else” condition along with “for”. That way, two concepts are strengthened.
Now you might ask, where I do find these practice exercises? There are loads of them all over the Internet. Strengthen your “googling” skills by looking out for them. You need to master this skill someday anyway. (Not kidding)
So for every concept, a minimum of 3 more problems will strengthen your foundation.
3. Losing the flow
Let’s say, you are learning and practicing for 2-3 hours every day and you have a feeling of continuity – you feel the momentum! For some reason, you don’t sit down to practice for next two days. After that, when you get back – you’ve lost the flow! You feel you’ve learnt nothing. A two-day break won’t affect an experienced coder, but to get there, you need to make an effort to keep it continuous.
The trick is to practice EVERY DAY. Even if you have just FIVE minutes in hand, recall all that you did previous day and that’s it. The momentum is maintained. Otherwise, you’ve moved back two days in time because you feel you have forgotten all the concepts, and now you have to go back and redo all that to regain confidence.
Most important of all is to know that there are ups and downs all through the journey. Don’t let anything make you feel less capable. You got this!