It seems learning how to code has become extremely popular. No longer the sole province of specialists and technology enthusiasts, there’s a growing understanding that coding can be enlightening, enjoyable, and a launchpad into a better career.
But it can be difficult for a newcomer to know how to approach such a daunting undertaking. What languages are best to learn? What resources should you use? How can a beginner get their questions answered?
What follows is the post I wish I had encountered when I first took the plunge a decade ago. I hope it helps.
Should You Attend a Bootcamp?
Right away I’ll address the possibility of attending a coding bootcamp. Bootcamps arose to target motivated individuals who couldn’t or wouldn’t consider going to college for a traditional degree. From the perspective of a beginner, the single biggest advantage of a bootcamp is that you will be learning alongside other people.
This matters because being able to ask (and answer!) questions is just about the best way to overcome obstacles to learning. I remember being stuck on problems for days, when it turned out I was simply missing parentheses or quotation marks. Being a novice, I hadn’t yet developed an eye for mistakes like this, and they added considerable friction to my attempts at learning.
As long as you and your bootcamp friends aren’t all missing the exact same thing at the same time, you’ll be able to help each other. This could shave years off the time required for you to become proficient.
To my knowledge, there aren’t any bootcamps which cater to absolute beginners, but most of them don’t require you to have been coding for very long. If you think you might switch careers, check out the Career Karma blog and give the matter some thought.
Learning on Your Own
If you decide against bootcamps, college, or formal education, your only other option is to go it alone. This is perfectly fine, and many of the best coders in the world got their starts this way.
In my experience, though, you’ll be facing a few unique obstacles. It can be hard to know which resources to use, hard to get unstuck on problems, and hard to stay motivated.
My advice is to do some research and pick out five to six highly-recommended books or courses. Then, just pick one and get started.
It won’t be long before you run into a problem you don’t know how to solve. Search the Internet and post your question on either a dedicated forum or a place like StackOverflow. Try to understand and implement whatever solutions are offered.
This step is important. A lot of my coding and data science work now involves this exact procedure.
But as a beginner, I often found that the answers I got back led to even more questions, which I posted, which got answers that led to more questions, until eventually I just gave up for a while.
If you find yourself at this stage, pivot to one of the other resources and start over from the beginning. If this second resource covers some of the same ground as the first, you’ll get a good review. If not, you’ll learn something new.
If you get stuck again, pivot again. It’s unlikely that you’ll get hung up in the same place twice, so you ought to be able to push a little further toward proficiency with each pivot. By the time you’ve gone through all the material you gathered in the beginning, you’ll probably be able to come full circle and solve whatever problem forced you to move away from the first resource.
Just Start and Keeping Moving Forward
I used to have a gym buddy who liked to say the most important rep you did all day was the one that got you off the couch and out the door. The same is true in learning to code. There’s no way to plan your full journey before you’ve even begun, so don’t bother trying. Pick a project, pick a book, pick a language, and then get moving.
You’ll be able to build better strategies as you acquire more skills. Just remember that everyone has to start somewhere.