A few weeks ago, I wrote a blog post about practicing code, and in passing, I mentioned the book, Practicing Rails. For a long time, I wanted to write a review but held off. The reason being that I wanted to see if I would still be benefitting from it after a few months of reading it.
This blog post is for anyone who is on the verge of buying and has Googled “practicing rails review.” I want to give an unbiased review and highlight both positives and negatives.
The reason I bought the book is that I am a self-taught developer without formal education. Because of my lack of formal education, I’m always looking for something that gives me an edge.
This book aims to solve a major problem. How can you get the skills of a Senior Rails programmer in less time? I did not want to wait five years to be suddenly called a Senior programmer. I wanted to invest in reliable resources that will bridge that gap sooner. I am delighted to say Justin’s book proved to be a vital cog in my journey.
I bought the book on May 8th, 2016. I am writing this in January 2017. In that time, I have learned how to do various things with Rails since then including:
- Integrate Elasticsearch
- Master the various aspects of Rails routes (nested routes, scopes, namespaces)
- Created a mini application to understand Enums
- Setup Shoryuken (alternative to Sidekiq)
- Experiment with Ruby metaprogramming which led to this post
- 4 published articles on SitePoint with code examples
This list is not comprehensive. It is only a small sample of what I have learned.
Here are some of the highlights for me:
Building Tiny Apps
The single best principle I learned from Practicing Rails is the concept of Tiny apps. These little applications are designed to practice and tease out a new concept. They are not for anything else. Somehow, this knowledge was always on my mind, but I could never articulate it. Justin, the author, does a great job of distilling this knowledge down. He even assigns you an exercise to practice and tells you when to quit building the small app.
Tiny apps take advantage of the Rails scaffold, so you are up and running quickly. From there, you can start exploring that new Gem without the danger of failure. The Tiny app is not business critical. It has become a significant part of my workflow on big projects. With Rails scaffold, I am up and running. Then I explore how to use different technologies with Rails.
Developing Your App
Inertia is the biggest killer of dreams. I have had more ideas that have never developed than I care to admit. The hardest part of creating anything is to sit down and get started. There is some great advice here about getting started on your Rails app.
Like me, Justin recommends planning out as much as you can before ever writing a line of code. The author goes through how to draw out the different screens first before any coding. After the app is visually planned out, we then take a pen and write out the smallest possible feature we can build. Next, we iterate over it again and again until we can build an MVP (on paper) and start coding.
There are solid recommendations when it comes to writing tests. The best of which is to scale back and go through a step by step process for writing tests. Start with the smallest possible test before moving on to the next one.
Starting small helps overcome that inertia. The main problem I find with tests is that they are not a business priority in most places I have spoken to (unless you talk to the engineering team). They do not bring in the money, but they do make life a lot easier.
The book is concise and exercises follow each section which hammers the message home.
There is something in here for every kind of developer, not just Ruby developers. Good books have principles, and smart people will always extract principles and not take everything at face value.
It’s great value. I paid $49 plus tax. A top Rails developer can make significant money. In Dublin, Ireland, a senior developer could earn anywhere between €40K to €90K (euros). The average salary in Ireland is €35K (depending on who’s figures you believe). In the US, a Rails developer can earn $100K (dollars).
That means the return of investment could easily be between 100x and 1000x. Beginners to intermediates will get far more out of it then senior developers. When you think of it like that, it seems cheap.
- I love the EU, and I consider it an honor to live here but holy hell, VAT is a bitch. Recently, the EU changed the rules with regards to online products which means you pay the VAT of whatever country you’re in. I had to cough up an extra $20 at the point of checkout. It’s not any fault of the author. It was because of the merchant, Gumroad.
- I disagree with the debugging section. With Ruby, I tend to use byebug and pry to stop the process. Since Ruby is a dynamic language, you can test the code at runtime. I tried Justin’s way, but I found it was not for me. That does not mean my way is better. I am just more fond of my way of doing things. I am also a big fan of print out as much information as possible via the puts method.
Concluding the Practicing Rails Review
If you want to become a better Rails developer (or just become a better Developer), than it’s a small price to pay. For a small investment of $49, you could go beyond your current level and get a raise in the process. For me, it has made a difference, but I did take action which is always a factor.
If my review has not put you off then, I recommend checking out Practicing Rails. If you are looking to get started as a programmer, then I recommend that you sign up to my newsletter. I share all my insights from getting a programming job without a college degree.