The 'Slow Reveal' of Rails Magic

Posted by Austin Burke on February 2, 2019

When I initially began Sinatra section of the FlatIron curriculum I really didn’t understand why I was being forced to learn a framework that is not what I will actually be using. Now that I’ve been in the Rails section for a little while I’m realizing the benefits of beginning with Sinatra.

Yes I probably could have started with Rails and learned how to create forms using the correct conventions, but understanding more of what is happening underneath the hood of rails is clearly beneficial now that I’m on the other side. Instead of blindly accepting that certain ‘spookiness’ is going on when using a certain method, I either know or have the ability to understand articles that explain what is happening.

There is an argument that there will always be a lower level/removal of abstraction to be found, so there is no true reason to waste time digging deeper. After all, there is a lower level to sinatra, to Ruby, to binary even! Why not just keep going all the way down to the quantum level?! I listened to a podcast interview with a respected software engineer where he said that he always advises programmers to go at least one level down from whereever they are. The reason for this is that generally speaking, when something goes wrong it can be tremendously beneficial to have that slightly deeper understanding of what is happening. This allows one to more easily break certain rules or conventions when they no longer provide the benefit which motivated their adoption in the first place - if Rails is completely magical, it is much more difficult to break a convention… you just won’t know what will happen?

So to those of you that are beginning Sinatra and facing similar frustration that I faced (eager to get to the meat of the curriculum and website building), take your time and don’t rush. Learn as much about the magic of Rails as possible.