On Codecademy & Learning to Code

One of my biggest accomplishments in 2012 was my work on this site. I wrote a lot more last year, and the praise I’ve garnered over my writing has been wonderful. In June, I moved the site to a self-hosted setup on WordPress, which I’ve enjoyed immensely. Doing so has allowed me to design the site exactly how I want it, and I’m very happy with the results. My site may be the epitome of small-time in terms of readership and RSS subscribers, but I don’t care. I “come to work” every day because this site is my baby and I simply just love to write.

A side effect of managing this site myself is that it’s caused me to learn how to code for the Web: HTML, CSS, and PHP. It’s been great learning how to change the .css file for my site to change fonts, colors, and so on. Likewise, writing in Markdown has saved me from having to write in WordPress’s Web interface, while also leading me to embrace plain text for virtually everything I write. But as much fun as this has been and as much as I’ve learned, I admit to not knowing everything I could or should. This is where Codecademy comes in.

Codecademy is a website where people -- geeks and non-geeks alike -- can go to learn a variety of programming languages. I just started the Web Fundamentals course last week, and it’s been an awesome experience thus far. The course teaches you how to write proper HTML and CSS code using simple exercises and clear, concise directions. Users can track their progress and earn badges (similar to Foursquare), and even share achievements via Facebook and Twitter. It’s really cool. I’ve found the learning curve to be relatively easy since I’ve been exposed to my blog posts’ HTML code1 and my site’s stylesheet. I’d ultimately like to take (and hopefully pass) the HTML certification exam offered by the W3 organization. That’d look really good on my resume. In addition, I’m considering branching out and exploring the other languages Codecademy has to offer, like Python and/or JavaScript.

Now, I don’t aspire to be a Web developer any time soon, but not only is this experience fun for me as a nerd, I think they’re important skills to have. As MG Siegler writes:

I also can’t tell you how key being able to at least understand some of the technical concepts thanks to my (limited) coding background was for me as a writer in this industry. And it extends beyond the tech industry as well. Tech is becoming a vital part of every industry. Schools should be teaching “intro to programming” courses alongside math as a requirement.

Even as a writer, these technical skills are good to have. As I said, running this site myself has opened me up to things like HTML, and it’s become increasingly comfortable for me to edit a HTML document. By the same token, I’ve also been able to build the site exactly how I want by adding custom fonts and the like via CSS. Of course, there’s still more to learn, but the point is that I at least have the beginner’s knowledge to do these things, and it makes me feel good. Hence, my wanting to learn more.

And here’s venture capitalist Fred Wilson’s take on this:

Another great reason to “get technical” is so that you can work better with technical people. If you understand at least some of what they are doing, if you can look at their work product (the code) and understand what it is doing, if you can pick up a ticket and contribute when time is tight, then you will be seen as part of the team. And that is critical.

To be sure, “getting technical” isn’t for everyone. I fully realize learning to code isn’t everyone’s cup of tea. But for people like me who have a keen interest in the backend stuff, Codecademy is a terrific resource. It’s a fun, intuitive, straightforward approach to learning programming. And, perhaps, best of all, it’s free.2 All that’s needed is to sign up, pick your course(s), and get started. Without a doubt, Codecademy is highly recommended.

  1. Markdown files transform into structurally valid HTML I usually copy and paste the HTML into MarsEdit or Poster, then publish from there.  ↩

  2. Though free, I’d gladly pay if Codecademy were a paid service.  ↩