When you reverse-engineer someone else’s code, testing each line to see how it works, you get a better understanding of the big picture. Thanks to the tons and tons of open-source code that’s out there, you can learn just about anything by examining someone else’s (flawless) work. Just remember to share your code back with the community if inspiration strikes and you improve a part of the program you were fiddling with.


As a self-taught programmer, you might also benefit from books that offer broader advice on the profession. You’ll improve your thinking and habits, traits you can apply to any language you decide to learn. Steve McConnell’s 900-page Code Complete: A Practical Handbook of Software Construction (2nd Edition) is considered the definitive guide for best practices, with data-backed advice on everything from project design to debugging code.
If you want to learn how to code, taking your first steps into this huge universe might seem like a daunting, if not intimidating task. Here’s the big secret: There are plenty of free (and inexpensive) resources you can use to give yourself all the help you need, teach yourself new techniques, and make this learning process fun and exciting—as exciting as coding can get, at least.
Codewars adds some quirk to the proceedings by offering free coding classes with a martial arts theme. Solving specific coding “katas” (a term for training exercises in karate) will earn you ranks and honors as you move your way to becoming a bonafide coder. Who said learning to code online couldn’t be fun? Codewars also offers one of the more diverse lists of programming languages. Choose free coding classes on:
I'm Dave Henderson! For over 34 years, I've made a wonderful living for myself and family of four creating world-class water features using real and faux rock in sunny San Diego as well as professional sand sculptures all around the world. And now I'm taking what I've learned about starting successful businesses, contracting, sculpture, water feature construction, and more, and sharing it with the world. It's my mission to help people like you enjoy more success both in your business and in your personal life. 

The programming community is full of people who are willing to help the next generation of programmers. GitHub, the online hangout for developers who use Git to manage their coding projects, is designed for online collaboration. Not only do developers host and share their projects with their peers, they also provide code feedback and general advice to the community.
I'm Dave Henderson! For over 34 years, I've made a wonderful living for myself and family of four creating world-class water features using real and faux rock in sunny San Diego as well as professional sand sculptures all around the world. And now I'm taking what I've learned about starting successful businesses, contracting, sculpture, water feature construction, and more, and sharing it with the world. It's my mission to help people like you enjoy more success both in your business and in your personal life.
Take a few minutes (or a day) to think about the reasons—the real reasons—why you want to learn a programming language. Be honest with yourself. Are you trying to learn the barest minimum to score a promotion? Are you looking to make a big career change? Do you want to create the next greatest app? Thrill your roommates by programming your various smart devices to do something awesome?
×