The secret to learning any programming language

Originally posted on

After much pain and anguish, I’ve found the secret to learning any programming language. And I’m going to share it with you. Why should you listen to me? Well, I’ve been entrenched in the development world for the better part of 10 years in some form or fashion. I built fan websites for Command and Conquer when frames were all the rage and it was cool to add chat applications and other kitschy things to your website (marquees! page counters galore!). I went to school to learn design, excelling in CSS classes and Flash sites along the way (Remember CSS Zen Garden?). Fresh out of school, I got a job as a kind-of-sort-of developer, a hybrid job that meshed my previously mentioned skills—designing and developing—to create templates that were then web-enabled so users could modify them through the power of the internetz. And outside of work, I’ve been focusing on keeping my developer chops sharp—picking up Python and Django, moving to NodeJS and finally settling on Ruby and Rails. So you could say I’m battle-tested. Or at least battle-aware. But enough about me; you came here to learn how to learn from my mistakes and take the shortcut to learning your programming language of choice. Ready? Here it is: f*cking do it. ”That’s it?” you’re saying. Yup. “You’re a smart-ass.” Also correct. But the truth is, there’s no secret formula, magical method or osmotic memory tricks. Programming is a skill that requires practice, just like any other. People get too focused on the rockstar programmers, the David Heinemeier Hanssons, the Michael Hartls or Mark Zuckerbergs of the world that have a seemingly endless knowledge of their respective codebase and could crank out a site you’re struggling with in 20 minutes with no sleep. Don’t get hung up on those guys; they’re prodigies—great role models, sure, but prodigies nonetheless—that are more the exception than the rule. And despite being the exception, even these guys started somewhere. Maybe they started programming at 8 years old, but they did start somewhere. Every single programmer out there—no exceptions here—started exactly where you are. So get started! Here’s a list of things not to get hung up on:

Now go forth! Break things! And most importantly, have fun!

Comments? I'm @dstrunk on Twitter.