Learn Django or Ruby on Rails?

I got a question from a patron on Patreon. The question is a common one, so I thought I’d share it along with my response.

Was there a reason why you picked the Django for your web development?

Did you consider RoR?

Does it matter which stack I use at the end of the day?

My primary reason for getting into Django was twofold.

  • First, I’ve been working with Python for a long time and have a lot of comfort with the language.
  • Second, I got a job with a team that used Django, so that’s what I needed to learn.

I did consider RoR and even spent the time to work through a whole RoR book. Rails is a solid framework and Ruby feels very similar to Python in many ways.

Does it matter what stack you use? Not entirely.

If you’re learning and trying to maximize your chance of getting a software job, then RoR might be an easier entry point. There are a lot of Rails projects out there and many companies are looking for that experience.

On the other hand, Python is wildly popular so, while there may be fewer direct Django jobs out there, the skills would translate so easily to other Python frameworks that I think you could find a job doing Python as well.

From a pure learning perspective, I think it’s a matter of personal preference. Python tends to be a more explicit language than Ruby. That means that the code looks a little more verbose, but there is less “magic” as you’re working on a code file (for instance, Python imports are, IMO, way easier to understand than Ruby).

In short, either path is a viable way to get into web development. My love of Python pushed me towards Django and Django is a fantastic batteries included framework that provides the features that are needed to build a full website. Ruby on Rails is also a batteries included framework and there are many wonderful sites that are built with it.

Try each one and see what you like!