Ruby on Rails developer skills
So you’ve done all the hard work to source your Ruby on Rails developer candidates. This might have involved making lasting relationships in the developer community. It might have also involved you combing through GitHub projects and finding who had the best commits. It might have even been a referral from one of your other developers. However you found your candidates, you now need to find the right one to fit the position you are trying to fill.
But there’s a catch. Technical interviews take up the valuable time that your current developers could use to build your product. To keep moving forward, you want to hold as few interviews as possible. And there is a solution.
Screening Ruby on Rails developer skills should eliminate anyone who is not able to do the job. This saves everybody’s time. But how do you eliminate unqualified candidates while making sure the right ones get an interview? This post will tell you everything you need to know about what to look for in a Ruby on Rails developer so that you can find people with the exact skills that you need.
1. What are Ruby and Ruby on Rails?
This is an interesting question because Ruby and Ruby on Rails are two separate things. Ruby is a dynamic interpreted programming language. It was released back in 1995 and was influenced by Perl. That said, it can be easily compared to Python.
What is Ruby on Rails?
Ruby on Rails is a framework. Released 10 years after the original release of Ruby, it has become the most widely used framework in the Ruby language. It is web oriented primarily used for building web apps and it follows the pattern MVC.
Ruby is unique among programming environments in that most development is done using one framework. That isn’t to say that there aren’t other frameworks and libraries that are used with Ruby. It’s simply that Ruby on Rails makes up a sizeable majority of the development done in the language. As a result, we’re going to focus this post on screening Ruby on Rails instead of Ruby more generally.
Ruby is actually a general-purpose language which was built with a focus on simplicity and productivity. With these goals in mind, its syntax is remarkably easy to read and write. This makes it ideal for two applications, as a server-side scripting language in addition to its use in front-end applications.
What is Ruby on Rails used for?
Ruby on Rails is mainly used to code web applications and the back-end for mobile apps. It comes with many advantages in these areas. For one thing, it is open source. There is a vast community of developers who use and update it. It’s also time and cost-oriented making it ideal for business applications. Finally, it enforces test and code quality meaning that only high-quality code gets out.
If you’re doing any kind of web development, Ruby on Rails is one of the most popular frameworks in Ruby today. One of the reasons is that Ruby and Ruby on Rails along with it are relatively easy to learn. It’s easy to start coding and then once you have started, it’s easy to improve your skills. Also, the readability that comes with Ruby makes it a lot easier to understand other people’s code.
2. What is important for an IT Recruiter to know about a Ruby on Rails developer?
Probably the most important takeaway is that there’s a difference between pure Ruby vs. Ruby on Rails. This means that it’s not the same to recruit a pure Ruby developer vs. a Ruby on Rails developer. There are other Ruby frameworks like Sinatra and these can be useful for a developer. But these libraries perform many functions so don’t expect a pure Ruby developer who knows Sinatra to have an in-depth understanding of Ruby on Rails.
In Ruby, libraries are referred to as gems and the gem management system is remarkable. It’s also very easy to scale and has matured to the point that it is completely standardized.
It’s good to know about the gem system and which ones are most popular. That said, you shouldn’t forget that knowledge of the Ruby and your chosen framework are the most important things you should be looking for. It’s also important to be up on the latest version of the language. Ruby is pretty stable but a candidate should be familiar with the latest versions of Ruby and Rails.
How often the environment changes
Part of the reason for Ruby on Rails’ stability is that the environment changes regularly. About every two years there’s a new version of Rails. While there are usually some new features, there is usually a high degree of backword-compatibility. On top of that, a new version of Ruby comes out about every year.
Ruby is an open source language and there are thousands of open source and free gems available online. There’s also a huge community which supports the language. One of the cool things about Ruby on Rails specifically is that you don’t need to have the whole framework to use one of its characteristics. Instead, you can import the modules that you need to your Ruby application without having to take on the whole framework.
When looking for a Ruby on Rails developer, it’s important for the candidate to have at least one year of real commercial used with Ruby on Rails. This is because there’s a huge difference between personal projects and commercial projects using Ruby on Rails. Of course, if the candidate is familiar with frameworks like Laravel in PHP or Django in Python, they won’t need as much experience to get up to speed. Candidates who contributed to Ruby on Rails open source projects are particularly valuable.
If you’re just trying to find a developer that uses Ruby as a scripting language, they also need to know the basics of Linux, networks, and other system basics.
3. How to verify Ruby on Rails skills in the screening phase?
Screening can be a difficult process. Depending on the message you use, it can either be beneficial for both the candidate and the recruiter or it can be a time-consuming nightmare for both. Below we’ve compiled a number of tips that can help you screen Ruby on Rails developer skills.
3.1. Technical screening of Ruby on Rails skills based on a CV
Before you do any kind of skills test it’s important to see how much experience your candidate has with Ruby on Rails in commercial applications. It’s also worth looking at what other languages the candidate knows. This is because candidates who know other modern MVC frameworks can have a softer learning curve. It’s also worth checking if the candidate has made any contributions to open source projects. A developer who’s used Ruby without Ruby on Rails or other frameworks often has a deeper knowledge of the pure basis of the language, which is a great asset to have.
Ruby on Rails technology – a basic glossary of Ruby on Rails developer terms for IT recruiters
Image source: Photo by Aaron Burden on Unsplash
If you’ve read this far, you’ve probably picked up on some new vocabulary like gems and Sinatra. Even if these are new to you, it is important to get the vocabulary about Ruby on Rails right to truly be able to understand what your candidate is familiar with and capable of. Here’s a list of important vocabulary that you need to know for Ruby on Rails.
Ruby Frameworks | Ruby on Rails, Sinatra |
Application servers | Unicorn, Puma, Passenger, Thin |
Testing gems | Rspec, Sinatra, Capybara, Cucumber, FactoryBot, VCR |
Ruby version managers | Rbenv, RVM |
ORM | ORM Mongoid, ActiveRecord |
Code review | Rubocop, SimpleCov, RubyCritic, rails_best_practices |
Authorization | Devise, OmniAuth, CanCanCan, API or WS Grape, WashOut |
Background job processing | Sidekiq, Resque |
Of course, these are just the basics. We can now go into details about important information for screening Ruby on Rails developers.
Can the names be used interchangeably?
RoR stands for Ruby on Rails. Often you also hear Ruby on Rails shortened to Rails. It’s important to note that Ruby on Rails has a special relationship with the Ruby environment. Unlike frameworks for other languages, you hear Ruby on Rails spoken about more often than you hear Ruby spoken about on its own.
What certifications are there and are they valuable?
You might see some certifications such as the Ruby Association certification for senior candidates. Truth be told, I’ve never seen any company ask for them. In my opinion, being active in the community, writing a post, or preparing a talk about Ruby on Rails is more valuable than any certificate the candidate possesses.
It is a bit different for junior candidates and trainees. It is better that they have a degree or at least a boot camp diploma, than no formal experience at all. At the same time, the most important thing is their skills and not the diplomas they possess.
What else should you look for on a CV?
On top of these skills, there’s other information on a candidate’s CV that can show a candidate’s skills.
- Companies that are known for applying good practices
- A degree in computer science
- A good GitHub or other open source profile
- Books the candidate has read
- Knowledge of database inquiries
- Other tools and technologies such as Git, Docker, Kafka, and some JavaScript frameworks
3.2. Ruby on Rails interview questions during a phone/video technical interview
Once you’ve done the CV screen, it can be useful to do a phone screen. You shouldn’t go too long but it can tell you a lot about whether you should be inviting the candidate in for a formal interview. While they don’t reveal exact coding skills, they can illuminate the candidates’ understanding of the environment and their approach to the technology.
Ruby on Rails interview questions
Q1: What are the changes between Rails 4 and Rails 5?
Why you should ask this: A candidate for a senior position or one that claims that have been working with Rails for more than 2 years must know at least a couple of features that Rails 5 added.
Q2: In a Ruby on Rails, where do you write your logic: Models, View or Controllers? Is there any alternative?
Why you should ask this: “Fat Model, Skinny Controller” is the basic motto of Ruby on Rails, so every Rails candidate should know that. However, more senior candidates should answer that they prefer Skinny Models, Skinny Controllers, and Fat Services.
Q3: What are the main difference between rspec and minitest?
Why you should ask this: In Ruby, tests are almost compulsory. However, there are two big libraries for testing. A good candidate will know one of them, but a brilliant one will have played with both, not just the one that they use at their current position. They should be able to describe the main differences.
Q4: Given a class that has these methods,
- def factorial(number): returns the factorial of #number
- def fibonacci(n): calculates the value of the nth Fibonacci number
what unit test would you write?
Why you should ask this: Another test question, but in this case, besides testing their ability to write test, the idea is to learn how well the candidate brainstorm’s think of edge cases that can cause problems.
Q5: You have a code and tested a ticket for a new feature on a new page. Just after deploying it to production we detect that the new page loads, but it takes one minute. What do you look at?
Why you should ask this: Perhaps my favorite question, it’s not specific to Ruby on Rails but it tells you a lot about your candidate and his/her experience facing problems in real-life. If they are at a complete loss, they probably haven’t managed big projects. Also, the answer and the aspects that they cover will tell you a lot about their experience in DevOps, JS, Databases, backed, among others. The senior candidate that you are looking for can tell you 5+ places to look at.
Q6: Why did you choose Ruby on Rails?
Why you should ask this: Nowadays there are more than a dozen frameworks to choose from, it’s good to know what the person that applies for a Rails position started with that framework.
Q6: What does Rails add to Ruby?
Why you should ask this: Although Ruby is very attached to Ruby on Rails, it is good to know what are the added values of the frameworks and what is the core of the system.
3.3. Technical screening of Ruby on Rails developer skills with online coding tests
CV screens can tell you what a Ruby on Rails developer reports to know about and have experience in. An additional phone screen can tell you how they would handle certain situations and whether they can answer trivia. While these are both useful tools, they still can’t tell you about your candidates’ ability to actually code. Online coding tests are probably the best way to determine a Ruby on Rails developers coding abilities. But it’s important to pick the right one as not all of them are created equal.
Algorithmic tests are traditional but they still fall short. They can’t really test a candidate’s knowledge of the environment. This is especially problematic for a Ruby on Rails developer. It’s not enough to know whether somebody can write an algorithm in Ruby, they need to be able to use the Ruby on Rails framework when necessary. There is a limited number of ways to solve algorithm problems. Additionally, plagiarism concerns mean that you can’t call on normal resources that a developer would like Google or Stack Overflow.
Probably the best way to screen a developer’s Ruby on Rails coding skills is to give them a work sample test. These involve giving the candidate a task like the ones they would get on their first day of work. Then let your candidate complete the task in as natural an environment as possible. This means being able to use all the resources they normally would use. These include frameworks and libraries like Rails and Sinatra or other resources like Stack Overflow and Google. You can then assess the effectiveness of the solution they create in all edge cases, their business logic, and the quality of their code.
Check out the latest Ruby on Rails developer salary.
Author – Albert Lozano Bautista
Albert is the CTO of FCM travel solutions for France and Switzerland. There he uses mainly Ruby, Ruby on Rails and React, as well as Elixir and other frameworks and technologies. Previously he worked for the fintech company, Novicap. Before that, he worked for LivingSocial and LetsBonus, both multinational companies in the leisure market.
FCM FR & CH has a tech lab in Barcelona, where Albert leads the development team. They give support to integrations with providers and clients. They also design and build new products for the travel industry.
4. DevSkiller has ready to use online Ruby on Rails developer coding tasks
Work sample tests can be straightforward but time-consuming to create. It can also take a while to evaluate the results of the test. Luckily, DevSkiller has a number of premade Ruby on Rails tasks. Rather than dealing with abstract or academic concepts, they involve giving your candidate a real task which Rails developers tackle every day.
- Tested skills
- Duration
- 106 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Ruby, Ruby on Rails
Code gaps
assessing knowledge of Ruby, Ruby on Rails
Programming task - Level: Medium
Ruby | Ruby on Rails | Search-Engine Application with Rails - Add ordering, tags, price and name filtering endpoint for online shop application.
- Tested skills
- Duration
- 37 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Ruby, Ruby on Rails
Code gaps
assessing knowledge of Ruby, Ruby on Rails
Programming task - Level: Easy
Ruby | Ruby on Rails | Search-Engine Application with Rails - Add simple price and name filtering endpoint for online shop application
- Tested skills
- Duration
- 81 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Ruby on Rails
Code gaps
assessing knowledge of Ruby, Ruby on Rails
Programming task - Level: Easy
Ruby | Ruby on Rails | Simple API Student Class App - Implement a background for a virtual class register for a local school. Add validation rules and implement endpoint to expose some JSON data.
- Tested skills
- Duration
- 75 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Ruby on Rails
Programming task - Level: Hard
Ruby | Ruby on Rails | OnTheClock in the mine - Implement the two endpoints described in the task.
- Tested skills
- Duration
- 70 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Ruby on Rails
Code gaps
assessing knowledge of Ruby, Ruby on Rails
Programming task - Level: Easy
Ruby on Rails | Game of Chairs | Prevent duplicate character - Create and organize data for the TV show - Game of Chairs.
- Tested skills
- Duration
- 40 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Ruby on Rails
Programming task - Level: Medium
Ruby | Ruby on Rails | Flight manager app | Seats reservation and flights analysis - Implement missing features of the flights' data management application like seats reservation and flights analysis.
- Tested skills
- Duration
- 70 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Ruby, Ruby on Rails
Programming task - Level: Easy
Ruby on Rails | Create and organize data for the TV show - Game of Chairs.
- Tested skills
- Duration
- 51 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Ruby, Ruby on Rails
Programming task - Level: Easy
Ruby | Ruby on Rails | Anonymizer - Implement 3 content anonymizers: for emails, for Skype username and for phone numbers.
- Tested skills
- Duration
- 119 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Ruby, Ruby on Rails
Programming task - Level: Medium
Ruby | Ruby on Rails | Cookbook - Add validation rules and implement recipies searching functionality using SQLite3 database.
- Tested skills
- Duration
- 54 minutes max.
- Evaluation
- Automatic
- Test overview
-
Choice questions
assessing knowledge of Ruby, Ruby on Rails
Programming task - Level: Easy
Ruby | Ruby on Rails | Comments challenge - Add associations for comments and implement index action for blog posts.