There isn’t a shortcut to learning how to code. In fact, we often talk about long-term skill development, and how learning to code requires time and continuous refinement, like any hobby or interest.
But if you’re committed, you can get started rather quickly, and put yourself on a faster track than what would be considered “normal.”
Here are a few best practices to learn to code, fast(er).
1. Pick an interest & related language
You can’t get to the destination if you don’t know where you’re going. So, choose a programming language that best suits your skill sets or interests.
For instance, want to work at Google or Disney? Python is your best bet. Google uses it to move data, while Disney uses it to make video games and build theme park experiences. Or, if you want to build a website or run a business, Java is a great place to start.
Here is a mini-breakdown of what you can expect from the most popular programming language options:
- Visual Programming: Great for getting beginners excited about coding
- Java: For those interested in game engines, mobile apps, and more
- Python: A good choice for those wanting to quickly turn ideas into reality
- C++: For those OK with taking time to understand complex principles
- C#: Great for those interested in Windows apps, games, and more
Either way, decide a focus—and try to focus exclusively on it for the time being.
2. Start by doing
The best way to learn anything is by doing it in practice. Just like a pitcher improves his fastball with regular long-toss on the diamond, good coders use personal projects or development environments to work out programming syntax.
So, for example, want to build a website? Start practicing by using a pre-existing HTML or CSS template, and modifying the code ever so slightly. In doing this, you’ll get a basic understanding of the underlying concepts, while learning how the program is affected by the changes you’re making to the code. Again, practice makes perfect.
3. Don’t rush the basics
With that said, you can’t run before you learn to walk, and while it’s good to dive in and start “doing,” be sure to not jump into a full-on sprint from the get-go. No matter which coding language you choose to run, take the time to absorb and understand the basic concepts first.
So, a coding tutorial is a great next step to help facilitate learning the basics. Here are a few tutorial options:
- Code.org is the originator of the "Hour of Code Challenge," and has valuable resources and tutorials to learn computer science.
- GitHub hosts a virtual library of tutorials and programming resources, including over 500 free programming books for over 80 programming languages.
From there, you can move on to more intermediate and advanced material. But remember, these advanced concepts will build on the foundation of what you’ve already learned with the basics, so be sure not to rush it.
Which brings us to...
4. Learn incrementally
If you try to eat a whole platter of cheeseburgers all at once, you’re never going to want to eat cheeseburgers again (or at least for a while). So don’t try to undertake learning several languages or all the concepts of a language at once. Instead, start small and stay focused. I like to think of it as, when you try to do everything, you do nothing.
This method allows you to develop core skills that translate to other platforms.
5. Take a professionally taught course
While we commend anyone who is self-taught, it can be easier—and quicker—to learn from an experienced professional.
As mentioned, all programming languages have aspects that make them unique. Programming class instructors like those at iD Tech can help fast track a student’s understanding because 1) they have programming skills and knowledge and 2) they have personal experience. From that experience, instructors can also dive into best practices and industry workflow with students—two things that might take hours and hours of research with self-instruction.
Look at it like a video game. Being self-taught is a badge of honor; a level passed. And attending a program like iD Tech for a summer? You just found the key to the castle. Then getting a computer science degree? That's like beating the final boss.
6. Get a notebook
Not a Chromebook (sure, you’ll need a computer) but we’re talking about one of those old school, spiral-bound notebooks.
Why? Keeping a written record of your notes and resources will make it easier to reference when you’re trying to squash bugs and write new lines of code. Research proves writing and reading about a topic will help you retain and learn material faster.
A notebook is also handy to start to working out coding problems by hand—which for college exams and technical interviews is a requirement. Hand-coding is time-consuming but it will make you a better and more thoughtful programmer.
7. Be persistent
Learning something new takes commitment. Like exercise or eating well, doing so once a week or a few times a month won’t have the same impact as exercising or eating well every day. Set a specific time aside (an hour a day, every day starting at noon, etc.), set specific goals (learn loops and variables in a week), and stick to the plan.
When it comes to writing code (and solving the problems that come with coding), it also takes commitment. For instance, spend 20 minutes resolving a bug, and if the solution doesn’t present itself, step away and come back in ten.
Failure and making mistakes is all a part of the learning process, so don’t get discouraged. Stay with it. Your persistence will be rewarded.
8. Review, redo, refresh
Congratulations! You’ve learned a new programming language in record time.
But wait a minute, you’re not done yet.
Now it’s time to take a step back and review what you’ve learned. How? Share it with your friends and with other coders, to get their take on your work. Then rework it. How can you improve on what you already have?
For feedback or questions, consult with your peers, mentors, IRC groups, and online forums—don’t be ashamed or shy; coders are a passionate bunch and every programmer started just like you. Use Cunningham's Law to find answers online: that is, the best way to get the correct answer on the internet is not to ask a question, but to post the wrong answer.
Plus, a second set of eyes can help you see something you may have overlooked before. Learning with others is not only fun, but as research indicates, it positively impacts personal growth to share others thought processes—and you learn more quickly.
Finally, know your limits and don’t burn yourself out. Take a deep breath before you take what you’ve learned to the next level—step away from coding and go ride your bike or play basketball, and when you come back, you’ll be refreshed and ready to go again.
9. Speed to the finish line
Remember, it takes commitment and discipline to learn any programming language. And like anything, you get what you put into it.
How long does it take to learn to code? Well, you can compare learning programming to learning any type of new language. It can be a lifetime endeavour—there are many layers and elements to mastering the English language, and like learning English, there are different ways to use and apply what you’ve learned.