Let me start by introducing myself, my name is Eugene Correia. I'm a Software Engineer at Gap Intelligence, located in my hometown of Point Loma, in San Diego, CA. I've been working here for almost 9 months and have loved every minute of it. One of the biggest reasons I came here, besides believing in this company, is the software stack being used – specifically the web framework Ruby on Rails.
Photo Courtesy of: cristiancisneros.com/
A Little Development Background
How did Rails save my career? It all started when I was given an opportunity to rewrite an application from the ground up using a technology I had never used before. That technology was… yup, you guessed it, Ruby on Rails! The legacy site was written using Java and utilized the Struts web framework. So not only would I get to learn a new language (Ruby), I was going to get to learn a whole new web framework (Rails) as well.
I was super-stoked and a bit nervous about this new challenge. I had grown comfortable using the Java language. I’m not going to lie, there were plenty of pain points felt while developing a Java application, but hey, Java was paying the bills and it’s what I was used to.
The Rails Epiphany
So where did I start on my Rails journey? The Ruby on Rails getting started tutorial… of course. As soon as I ran my first Rails generator, I was in love! No way does this command generate this much code for me! I thought to myself, I could do that using Java, but it would take me a day to code what that generator just did for me in 5 seconds. MIND BLOWN! I was sold on Rails within the first 15 minutes of going through the tutorial.
Photo Courtesy of: giphy.com
And wait a minute… I don’t have to compile my code? And wait another minute… you’re telling me that I can play with code in this Rails interactive console? For real? Where has all this coding awesomeness been my whole life? I was astounded by how quickly you could create web pages using Rails. At this point, there was no turning back. I was instantly hooked. Sorry Java, but you have to go!
Where has all this coding awesomeness been my whole life? I was astounded by how quickly you could create web pages using Rails. At this point, there was no turning back.
One of the things I quickly noticed while learning Rails was the amount of helpful information online. I found there was a strong, active community supporting the platform. With all the great documentation and resources out there, it’s not that daunting a task to teach yourself Rails.
Awesome Things About Rails
There are countless cool things about Rails, let me name a few:
- Rails Console Command I already mentioned it, but it’s so awesome it’s worth repeating. The console allows you to interact with your Rails application from the command line. You can quickly test models without actually having to touch the website.
- Ruby Gems These are helpful code libraries that make your job easier. You can also contribute to any of these open source libraries. Contributing to gems is a rewarding endeavor, and even more so when creating your own gems and seeing other developers use them. With a robust online community, you can find a gem for almost anything!
- Active Record This makes it significantly easier to communicate with your data in comparison to other ORM’s. Active Record is simply the best.
- Rails Generators These are fantastic for quickly developing prototypes.
- Easy Dependency Management With tools like Bundler, dependency management becomes super simple. You really appreciate this if you have ever been in Java dependency hell.
- Ruby is an Interpreted Language Coming from a Java background, you appreciate not having to constantly compile code.
- Testing Simplicity Rails provides easy ways for testing your code.
- Community When I think about this one, I’m reminded of something I heard while watching a video of Eric Ries’ (author of the New York Times bestseller, “The Lean Startup”) keynote at RailsConf 2011."It's the technology and the community together that make a platform what it is. And if you have a community that embraces not just making cool technology, not just having the kind of libraries that allow you to test new ideas very quickly. Not just ideas from agile development that allow you to build your software with higher quality, organization and better factoring, but that embraces the entire project of very quick prototyping, learning, testing, reacting, you can get through this feedback loop faster than anybody else."
Looking Back, Looking Forward
Since I started using Rails, going to work took on a new meaning. I was genuinely excited to work with this awesome framework. I had never felt this way in my entire programming career! Looking back, it completely revived my career. I am so enamored with Ruby on Rails that you could not pay me enough to go back to programming with Java. Sorry I keep picking on you Java… it’s me… not you. It's been 5+ years now using Ruby on Rails. I still love it and I’m still learning!