On Wednesdays I like to cover a random topic for developers and today I’m going to talk about how to learn a new programming language. I’ll walk you through the five steps that I use whenever I’m learning a new language or framework.

Over the years I’ve been hired by organizations such as Learn.co and AppDev to write programming curriculum for:

  • Ruby on Rails
  • Ruby programming
  • Python
  • Java
  • Several JavaScript frameworks

The only language that I really build applications in is Ruby, which means that I’ve been forced to become proficient in a number of language that I really didn’t have much experience working with, sometimes in a very short period of time.

And over the years I’ve developed a system for learning a new language or framework and that’s what I’m going to walk through today.

When I’m learning a new programming language I follow these steps:

  1. Watch a full tutorial series on the language, when I’m watching I don’t try to follow along, I simply watch what the instructor does in the demos so I can get a high level view of the language syntax and flow.
  2. Create a hello world application, I’ll incorporate a few basics, such as running a loop, creating and instantiating a class, and any other high level concepts I remember from the tutorial.
  3. Pick out a sorting algorithm and implement it in the language. It’s fine if the sorting algorithm is a basic one like selection or bubble sort. Sorting algorithms force you to use: data structures, loops, variables, and functions. Combining each of these elements will give you a good handle on how the language works.
  4. Go through an advanced tutorial on the language and this time follow along and build the programs with the instructor.
  5. Go through coding interview questions for the language. Being able to confidently answer these questions will give you a good idea if you have a solid understanding of the language.

I’ve used these five steps for a number of languages and I can also tell you, once you’ve become proficient in a single language you’ll find it’s much easier to pick up new programming languages since most of them have quite a bit of shared processes and all you’ll need to do is learn the difference in syntax.

I hope these tips will help you learn a new programming language, please feel free to comment with any other methods that you’ve found helpful when learning, and good luck with the coding!


  1. Hello Jordan,

    I appreciate this information. Having touched several languages, but not really gotten my hands dirty in the code, these steps will help me get up and running very quickly.

    Thank you


Please enter your comment!
Please enter your name here