If you've read Lifehacker for more than five minutes, you probably know we have a lot of resources on how to learn to code. You'll also know it's still hard. Part of the problem is that coding is a tool, not a goal. To really learn how to use it, start by finding a problem to solve.
As engineer and YouTuber Kevin Gisi explains in the video above, most educational resources on coding will start with picking a language, teaching you its syntax, or diving into obscure code theory. Those are all well and good, but most of us want to learn to code because there's some specific problem we'd like to solve or something cool we'd like to make. Starting your educational journey with the tools you want to make will give you a better foundation:
Learning "programming" is like practicing scales. It's gonna make you a great musician, but if you never get to play a song, it's going to be very frustrating. It's really hard to learn things when you're not doing something cool with it.
We touched on this very concept last week in our guide on how to build a kickass robot arm. While not many programming tutorials will begin with "build a robot", the process involves learning how to code in Arduino's programming language, which bears a lot of similarity to C/C++ and Java. These are skills that, as Kevin pointed out, are mostly transferable. Having a specific project you want to work towards and solving all the little problems on the way will help you learn to code more than just picking up a random Java or C++ book and reading from cover to cover will.