By Michael Choi
The tech sector has long been considered one of the best for job seekers, and two recent reports suggest that demand for tech careers will only continue to grow. This is particularly good news for aspiring software developers, computer programmers, and Web developers, who all make the Top 10 list of best Technology Jobs of 2015, according to U.S. News and World Report.
There is one downside to this, however: Learning to program is tough work. Whether you’re pursuing a degree in computer science, a student at a coding boot camp, or attempting to teach yourself how to code on nights and weekends, you’re going to need patience, grit, perseverance, and lots of time. Here are five tips to speed up the process so that you can learn programming faster.
1. Learn by Coding, Not by Reading
Children don’t learn how to tie their shoes by reading about it; they have to actually do it, over and over, until it’s firmly entrenched in their brains. Coding works in much the same way. You might fly through a chapter of reading and have no problem understanding a topic like “for loops,” but if you don’t play with the code right there and then, you’ll never remember the syntax when you go to actually implement it for the first time. The same applies to sample code: Thanks to the additions of comments and instructions, it’s easy to read and always seems fairly intuitive, but to fully grasp the concepts, you need to actually tinker around and write (or at least run) the code yourself. Therefore, get your hands dirty whenever you can and embrace the mantra, “code as you go.”
Hint: If you’re just starting out, build a personal project in tandem with your reading, so you’ll always have a tangible canvas to try out what you’re learning.
2. Grasp the Fundamentals for Long-Term Benefits
As elementary as they may appear at first, programming fundamentals always need to come first: The better you understand them, the easier it is to learn more advanced concepts. At Coding Dojo, the students who rush through the beginning of our software boot camp (where we focus on Web development fundamentals) are often the first to get stuck as we transition into more advanced material, such as back-end programming. So before you ditch your first Computer Science 101 class or skim Chapter 1 of an online tutorial, keep in mind that you’re overlooking the most important step in your learning. As eager as you might be to reach the end, you must be patient and respect the process.
Hint: Read this great article about the 5 Basic Concepts of Any Programming Language
3. Code by Hand to Sharpen Proficiency
Computer monitors become thinner, hard drives lighter, and programming languages more powerful, but coding by hand still remains one of the most effective methods to learn how to program. Whether it’s on a whiteboard or in a notebook, coding by hand forces you to be more cautious and precise, because you can’t run hand-written code midway through to check if your work is correct. While this restriction will slow you down a bit at first, it will mold you into a more fundamentally sound developer and help you tremendously in college exams. So start early and get used to this old-school practice.
Hint: Coding by hand will also help you land a job! When it comes to technical interviews—a critical component of the job interview process—you’ll have to code by hand, because it’s universally viewed as the ultimate test for a programmer’s proficiency. Ace that, and you have a serious edge over other job seekers.
4. Seek Out Help and Additional Resources
Too often, aspiring programmers feel that asking for help is an admission of failure, or a sign that they’re just not “cut out” for programming. In truth, every programmer has needed help along the way. So when you’re stuck on something, don’t be shy to reach out to classmates, mentors, or even established developers. If there’s one thing passionate individuals enjoy, it’s sharing their knowledge with others.
Likewise, if you’re struggling to understand a concept in a textbook, class lecture, or on Codeacademy, try out a different resource. Everyone learns in different ways, and just because one source doesn’t make sense doesn’t mean there’s something wrong with you. It means that you’re not clicking with the delivery of the material. There are countless online resources to help you learn computer programming, and there’s always a Reddit post, YouTube tutorial, or blog explanation that will make the material-at-hand crystal clear. We are especially fond of Stack Overflow and Reddit’s “learn programming” subreddit .
Hint: At Coding Dojo, we suggest the 20-minute rule: Take at least 20 minutes to figure out something on your own before seeking help. Not only will this force you to think in new ways and become a better programmer, but there’s a good chance the answer is right in front of you.
5. Take Breaks When Debugging
Debugging—the act of hunting down and fixing that errant code that’s causing your website or application grief—is painfully tedious work. It’s easy to go down the rabbit hole for hours, becoming more frustrated as you go, and thus less productive in your work. To avoid this, take regular breaks. Stepping away for a while—whether it’s 30 minutes or three hours—will allow you to clear your head and come back with a fresh perspective.
Hint: Give your eyes a break, ditch the computer screen and go outside, read a book, eat food or take a nap. This will not only keep you sane, but it will restore the focus you need to successfully fix the bug.
Conclusion: Keep Calm and Code On
In addition to these tips, there’s one other thing you can do to learn programming faster: remain confident. Be patient with your progress and accept the fact that you are going to fail repeatedly—it’s the only way to learn. If doubts ever cloud your mind, remember that every programmer has walked this path before, none of them any more “destined” to become a developer than you.
Michael Choi is the founder and chief instructor of Coding Dojo, which offers 12-week immersive Web development boot camps in Seattle & San Jose for high school/college students looking to pad transcripts/resumes, professionals looking to reinvent their careers, or entrepreneurs looking to learn coding from the ground up as a pillar for starting Web-based businesses.