The Сomplete Guide to Hiring a Ruby on Rails Developer
Ruby on Rails is a combination of the Ruby programming language and front-end technologies for creating web applications that run on a web server. In other words, it is a server-side web application framework, so Ruby on Rails developers are considered to be back-end developers. They use a modular approach to writing Ruby code by using small libraries that are called “gems.” Typical daily tasks of a Ruby on Rails developer include the development of all server-side logic, database design and management, and ensuring responsiveness to requests from the front-end.
If you are looking for Ruby on Rails specialists, please check out this article, where we will explain which skills and knowledge are usually required from Ruby on Rails programmers.
Checking hard skills of Ruby on Rails programmer
- What is a swapfile and what is it used for? How does the garbage collector work?
- What is MRI (Matz Ruby Interpreter)? What role does it play in the software lifecycle?
- What are some use cases of tests? Is it always good to write tests? What approaches in test writing do you know? What test instruments in Ruby do you know?
- Philosophy question: How would you organise a RoR application where front-end is written with React.js/Angular.js/Vue.js?
- What is strict typing and how does it differ from dynamic typing? What are pros and cons of each one?
- What is Microservice? What are the pros and cons of microservices architecture against monolith application?
So here is a complete list of skills to consider:
- Solid knowledge of the Ruby programming language.
- Experience with Rails and other common libraries, such as RSpec and Resque.
- Understanding of server-side templating languages, such as Liquid or Slim, and server-side CSS preprocessors, such as SASS, LESS, or Stylus.
- Experience in developing highly interactive applications for a wide range of users.
- Familiarity with relational databases, such as PostgreSQL, and NoSQL data stores.
- Understanding of the MVC (Model-View-Controller) approach.
- Ability to integrate the front-end with back-end.
- Proficiency with the Linux/Unix/MacOS X environments.
- Experience in creating RESTful web services.
- Ability to think logically in order to define problems, gather data and draw conclusions.
- Ability to carry out regular code reviews in order to improve code quality, design and tests.
Review the soft skills of candidates
YouTeam is a platform for hiring experienced software engineers, not junior developers. Here are the two of the most useful screening questions, you can ask candidates to help identify their level of professionalism.
- Please describe your previous experience. What was the complexity of these projects? What was your role on those projects?
What to look for in candidates’ answers:
- Is s/he dedicated more to quality (clean code, code style) or to quantity (number of features delivered, product time to market)?
- Is s/he a team player?
- Level of responsibility.
- How do you deal with issues you are facing for the first time and don’t know how to resolve?
What to look for in candidates’ answers:
- Is s/he a deep thinker or a code first then check person?
- Does s/he engage teammates to discuss unknown issues?
- Is s/he multi-functional person? Can s/he do DevOps tasks? Can s/he do front-end tasks?
There are no good or bad answers, it just allows to understand if a given candidate is a fit for your particular project.
We hope this article will save you time getting prepared for interviewing candidates. We hope you become a hiring rock star and succeed with your project by putting the right professionals into the right roles on your development project.
Gera-IT is specialized in Custom Solutions Development. Since 2006 they enriched their expertise, having delivered 140 projects of different scale with budgets ranging from $5,000 to $2 million. The distribution of clients covers 11 countries, including the US, Canada, Australia, the UK, Germany, France, the Netherlands, Denmark, Belgium and others.