The key to learning how to code
Learning to program is really easy, you need one thing: a reason to learn to code. Something that you’re passionate about, something that will make your job easier, something that will make your life easier, whatever. If just set out to learn to program for the sake of learning how to program, you will never learn to code.
In theory, getting started coding is easy, Learn Python the Hardway or Learn Ruby the Hardway are amazing books for getting started. Codecademy is really interesting. But if you start doing lessons to learn to code, without a purpose, I can pretty much guarantee you won’t make it past a handful of lessons before you get distracted by something else.
If by some miracle you have focus of steal, and manage to make it all the way through all of the lessons, you haven’t actually learned how to program. Sure you know some basics, although I’m willing to bet you haven’t really retained much of it. Someone recently told me they were going to learn to code by doing all the Codecademy lessons two or three times. 1) That sounds boring as fuck 2) it won’t help. Learning to programming is not brute force memorization. You need to learn about something, and then figure out how to apply in different situations. If you have a problem YOU want to solve, as you’re reading and doing excersizes you’ll constanlty find yourself going “OH! That’s how I can do that!” And you’ll drop the excersizes and go off and start working on your own issue, and you will actually learn how to program.
I’ve been coding for 15 years, I’m constanly reading books on different programming languages and techniques. And I rarely read one cover to cover. I have reason for learning the particular language or technique, and the first three quarters give me the basics and best practices, and by the time I get the last quarter I’ve become so distracted by using those to actually solve the problem that I’ve set out to solve.