An hour of Ruby a day
21 Dec 2019It has been a little more than a month now since I’ve started new job as a Ruby programmer. Only language I worked with so far has been C#, so I had zero experience with dynamic languages. Here I wanted to share the process how I managed to at least learn some basics before starting.
I had a little more than a month between the day when I accepted the offer until the day I had to start working. I got some nice advices that it is very important to rest properly before a big change like that. But I was also a little too anxious to just relax completely and do nothing about my lack of knowledge. The saying “an apple a day keeps doctor away” somehow came to my mind and I decided to make a similar rule for myself “An hour of Ruby a day keeps stress away”. The idea was to learn anything Ruby or Rails related for at least an hour a day. More if I felt like it, but not less. I wanted to cover all the basics – Ruby language itself, Rails framework, Rspec testing framework, and RubyMine IDE. But also not to pressure myself too much e. g. if I’m all tired it’s fine to just click around RubyMine for an hour and not read anything too demanding.
I downloaded “Don’t break the chain” (DBTC!) app to track my progress. My initial expectation was to study most days, skipping a day or two here and there. And maybe making up for it by studying for two hours some other day. But for the first few weeks I managed to go without breaking the chain even once. And that really motivated me to keep it like that till the very end. Which lead to a little foolish (and most likely not very productive) watching of Pluralsight courses in an airplane at 6 AM or just before midnight. But I made it! 38 days streak of learning Ruby! Which made up to probably around 40 (or 42) hours of learning. Cos some days I did feel like studying for a little longer. And I actually managed to cover all the basics that I wanted.
I didn’t want to write this post just before starting the job, cos I wasn’t sure if this much of learning would actually be useful at all. But now I feel safe to say that it was. I wasn’t able to write good Ruby code fast, but I was able to read it. And to have an idea what I want to do and how to Google it. Furthermore, I made notes of the things that I studied and brought them to work. So if I didn’t remember an exact thing, I could look it up in the notes fast.