Why you should choose Ruby as your first programming language
This started in an email I sent to a new grad who asked me why Ruby on Rails is my favorite tech stack (especially for SaaS products). I’m adding to this page over time.
So, you just graduated—or maybe you just finished code school, changed careers, or are getting into web development on your own. There is no wrong way to become a developer; if you’re here, congratulations!
Whether you’re entering the job market or preparing to build web apps on your own, one of the choices you’ll make is what programming language to start with. Of course, you don’t have to pick just one, but for many people, specializing has advantages.
Don’t misunderstand me—expect to learn and use many different languages throughout your new career; I’m mainly talking about what you should learn right now.
First off, a disclaimer: I love Ruby. It wasn’t my first programming language, but it’s the one that really clicked for me. I’ve also built two successful businesses with it, so I am both ideologically and financially biased.
Why you should use Ruby
Rapid prototyping in Ruby on Rails is faster than anything I’ve tried. There are also great starter templates and generators like Jumpstart and Bullet Train.
You don’t need a huge team to be productive. One person can create a lot of value with it. A small group of people can create a ton.
There is a large gem ecosystem of plug and play packages
It has a wonderful community founded on the principal of being nice
See MINASWAN: “Matz is nice and so we are nice”
We are also quirky and fun (for example, Why’s (Poignant) Guide to Ruby, and my personal tribute, Exceptional Creatures)
Rails CAN scale (see Shopify, GitHub, CookPad, Stripe, Basecamp/HEY.com, and many others)
Salaries for Ruby developers are generally on the higher end of the industry. You can probably charge more over time, especially if you can position yourself as an expert in something.
The language is being pushed forward both by Ruby core and the corporate community. For instance, you can even have type checking in Ruby, thanks to Stripe.
There are reasons to choose something else, of course. I should mention that Laravel PHP shares many of the benefits I listed, and they also have a great community and ecosystem that is unique in its own right. Also, if you just happen to like something else better, or you have a specific career path in mind, then you should probably follow your heart. :)
Hope this helps you decide. Good luck!
Additional Ruby resources
I would add that it also depends on the type of development you are doing. Like you said, Ruby on Rails is a great first language for web development (and general purpose). But if, for example, someone was planning to go the data science route, Python might be the better choice.