What are Ruby and Ruby on Rails and what’s the difference between the two?To put it simply: Ruby is a programming language, and Ruby on Rails is a framework written in Ruby with a focus on web development. A simple analogy to better understand the difference: if we build a web application like we build a house then Ruby would be the bricks, cement, wood, steel, etc. and Ruby on Rails would be the prefabricated building materials. A web application can be built by using Ruby to write the program’s core language line by line or by using Ruby on Rails with a set of pre-written programs. The interest of using Ruby on Rails when building a web application lies in the fact that developers don’t need to start from scratch. They’re already provided with useful and optimized sets of codes and programs that solve common problems. Developers will only have to customize the programs and adapt them to the specific needs of the application. Ruby on Rails offers more flexibility, consistent quality, reduced disruption and can save lots of development time. Now that you understand the interests of using RoR when building a web application, how do you determine the outstanding RoR developers from the average ones?
What type of skills should RoR developers have?
Let’s start with the basics.
Programming SkillsThe first thing to look for when hiring a RoR developer is their basic understanding of Ruby. This is something that should be evident in a junior candidate as well. The more experienced the developer is, the more understanding he or she should have on Ruby including meta-programming, creating gems, etc. Certifications from the Ruby Association are one way to verify a developer’s level of knowledge in Ruby. Those with varying levels of certifications from the Ruby Association are recognized for their high level of Ruby-based system development capabilities. However, as programming languages continue to evolve, some developers may not be interested in passing a certification since these versions are continuously changing. While searching for RoR developers, you should look for a range of skills. Each developer’s skill level will be different but it’s important for them to have a good understanding and ability to do the following:
- write clean and easy-to-understand code
- object-oriented programming (OOP)
- request/response cycles
- organization of a Rails app
- MVC paradigm
- unit testing with MiniTest and RSpec
- Cucumber, etc.