New Year’s Tech Resolution #3: Learn to code

TerminalIf there has been one rallying cry for the tech establishment this year, it’s that everyone who can should learn to code.

While part of the argument for building code literacy has to do with getting more people ready for coding jobs, I’ve found that just having a baseline understanding of how technology works, under the hood, has given me a far greater appreciation for being able to turn on my MacBook in the morning, or track a package on its way to my home.

So, here’s how to get your foot in the door, and get started coding:

Step 1: Get the basics

codeOne of the keys to learning code is just getting a handle on the shared concepts behind the systems that determine how our computers and electronics work.

While Seattle-based Code.org’s Hour of Code tutorial is oriented towards a slightly younger audience, it does a really great job of introducing people to concepts like loops and conditionals, which are shared throughout different programming languages.

If you’re not interested in fooling around with cartoon characters, Codeacademy offers a more JavaScript-focused tutorial that is also available as an iOS app, and provides a similar foundation. Also check out Code Monster from Seattle’s Greg Linden.

Step 2: Figure out what you want to do, and get started doing it

pylogoOnce you have the basics under your belt, learning to code actually encompasses a wide variety of interests and projects. While there are some shared concepts that will help you out wherever you go, you don’t necessarily want to learn how to program a robot if all you want to do is build a website, and vice versa.

Here are some good starting points for figuring out where to focus:

  • For learning how to build a website, you’ll want to build a background in HTML and CSS. Codeacademy offers some solid free tutorials that will get you started. For a deeper (if slightly less user-friendly) look, check out W3Schools’s offerings.
  • If you want to start learning about how to make a computer do your bidding, Udacity’s Introduction to Computer Science course is a great way to get started learning Python, a simple but powerful language that has grown in popularity since its introduction.
  • If you frequently need to handle large blocks of text, I’d recommend learning Regular Expressions, which will give you the tools to powerfully process the equivalent of whole novels at once.
  • I don’t recommend starting with mobile app development, just because even starting a basic project and getting it onto your phone or tablet can be an ordeal. Plus, because mobile app development can be such a lucrative career these days, most tutorials are hidden behind paywalls. But, if you’d like to start crafting a foundation, I’d recommend starting with Python, because setting it up is fairly hassle-free, and it shares a bunch of concepts with the languages that drive mobile development.

Step 3: Dive deep

IC691934Now that you’ve built a basic repertoire (and put some of the concepts from step one into practice), it’s time to take a deep dive into a project you want to take a shot at, whether that’s building your first mobile app, or crafting a website from scratch.

Bento is an excellent clearinghouse of resources on a whole variety of coding topics, including PHP, mobile app development, ActionScript, Facebook’s APIs, and more.

A great way to get started with a more complicated project is to start by pulling from one or more open-source code repositories for things that interest you. Searching Github for a repository that suits your needs, and tailoring the code to fit your goals, is a great way to kick-start a project, though be sure to read the fine print before trying to make a business out of it.

Bonus: Get serious coaching

codefellowsIf you think you’re going to need a wide range of coding classes, you might consider throwing down a few bucks on a subscription service that specializes in providing quality interactive tutorials for a breadth of languages.

I’m a subscriber to Treehouse, which offers a variety of coding classes on everything from building a WordPress plugin to managing an app development business. They’re still building out more advanced tracks, but if you want to get a start in a wide variety of different languages, they definitely present a strong offering for $25/month.

Lynda, one of the venerable players in the online tech tutorial business, also offers a variety of courses on programming and web design, as well as a whole slew of other topics including 3D animation and Adobe’s Creative Suite for $25/month. However, unlike Treehouse, if you want to download tutorials to watch later, you’ll need to pay for a more expensive Premium membership.

If you think you want to make this a career, Code Fellows offers an intensive program that’s designed to land students a high-paying engineering job.

So, there you go: a quick-and-dirty guide to picking up some code in the new year. If you’re looking for some other tech resolutions, check out our past guides on creating a robust backup system and making it to Inbox Zero. Stay tuned for our guide on how to improve your password security.

  • http://www.intrinsicstrategy.com/ FrankCatalano

    I’m not sure I’d rather learn to code than, say, learn another spoken language in 2014. Of course, both are “languages,” and knowing even rudimentary coding (as you note) does convey certain benefits about understanding tech that goes far beyond the code itself. Still, I once learned both Fortran IV and German. And today I am more likely to use (and remember) the German. But learning any language, machine or human, does force you to look at what you take for granted differently.

  • Yash ßhardwaj

    Awesome Tips !! Thanks
    Read My Tech Blog http://techblog12.blogspot.in/

  • reggie

    You missed out Programmr! ( http://www.programmr.com )
    Lets you learn and practice Android and iOS programming for free!

  • Abba Okoro

    Stopped reading when I saw “Mac”