Why You Should Be a Jack of All Programming Languages

As an instructor for Intro to Ruby—Startup Institute's part-time web development course—there are many times when a student would ask me "Why would I need to learn coding in another language besides Ruby? Isn't it the best? Especially with Ruby on Rails?" Being a Ruby-ist, my initial response would be "HELL, YES! Ruby's the best!" but before this can come out of my mouth; my conscience stops me. Instead, I give them the handyman analogy:

Learning computer programming shouldn't stop with one language.

A developer should treat programming languages and frameworks like a handyman would with his tools. You always pick the best tool for the problem at hand. A handyman probably shouldn't use a saw to fix a water pipe leak and a developer probably shouldn't use Ruby if fine-tuning performance with memory management is a priority-- C++ might be a better option in that case. A company like TimeHop can outgrow their Ruby/Rails tech stack, move to Go and speed up their response time by 10x (read more about this rationale from Benny Wong, CTO and co-founder of TimeHop).[bctt tweet="Devs should treat languages/ frameworks like a handyman his tools, says @iRichLau"]

So, how many programming languages should you learn?

Like a handyman, a developer should be a jack of all trades but she/he should also be a master of one. There is nothing wrong with having a favorite tool or even becoming a specialist. You should know at least one language inside out and be able to wield it expertly like Lion-O and his Sword of Omens. But can you truly appreciate the language if you've never tried another one? There are plenty of programming languages in the sea. You're missing out.[bctt tweet="A dev should be a jack of all trades AND a master of one, says @iRichLau"]

How to fill up your web developer's tool-belt:

Trying doesn't mean writing a couple lines of code and then swearing it off because you can't pick it up in five minutes. You try a language by using it to build a new app or rebuild an application that you've built before. Leave your habits and preconceptions at the door and try the language with a clean slate. At a minimum, you should get to the point where you can intelligently discuss the pros and cons of the new language. What's the worst that can happen? At best you'll get to add another tool to your utility belt and at worst you'll learn to appreciate your language of choice more. You might even be able to learn a few tricks and approach a problem with more options.[bctt tweet="Leave all habits and preconceptions at the door- try a new language with a clean slate @iRichLau"]

Just as it's impossible for a handyman to bring one tool to fix your whole house, there is no one programming language to rule them all. If a handyman does comes to your house with only a screwdriver, you probably shouldn't open the door.

Want to learn to code? Register for our part-time Intro to Ruby course. Or, if you're ready to take your skills to the next level, apply for our full-time programming course. Download the course guide, below.

Photo credit: Nick Wade via Flickrcc