A key component to a successful Ruby on Rails agency is hiring the right people. Whether you’re a team of 5 or 50, hiring the right technical team members plays a big role in your client relationships and the growth of your company. Over the 13+ years we’ve been in business, we’ve interviewed and hired several Ruby on Rails developers. In that time, we’ve refined our process (though it evolves a bit with each new job posting) and we have a few tips to share.
Here’s how we interview and hire the best Rails developers for our team.
Documenting and Describing the Rails Developer Role
As with any of our other positions, when hiring a Ruby on Rails developer, we begin the process by documenting the role. It’s smart to identify the need within your company before hiring a new team member. Then you can decide what role this new addition will fill and establish how to measure success in this role.
The expectations for a Rails developer will vary from company to company. Internally, how do we describe the role of a Ruby on Rails Back-End Developer? Here’s our brief description of the job role:
“Back-End Developers will plan and implement software features, debug and resolve application errors, and document their work and processes on both client and internal projects. This position will work closely with Technical Team Leads and Project Managers to complete the work required to satisfy clients' needs for retainers and projects.”
Below this intro description, we outline some of the job responsibilities. Depending on the seniority of the role we’re looking to fill, there may be more expectations lined out that detail mentoring junior developers or interns.
Where do you find Ruby on Rails developers?
There’s no big secret to finding Ruby on Rails developers. With the abundance of job application sites out there, simply posting a development job will often lead to several applications. But we also want to seek out other sources for applicants to broaden our candidate search instead of relying on who finds us.
Two years ago, we signed the TechTown Portland diversity pledge. This has had an influence on our recruiting practices and led us to understand better how to beat bias when recruiting and interviewing. You can read more about the steps we’ve taken.
We’ve also been fortunate to build a great relationship with Epicodus, a local code school. This has led to several talented interns working with us during or immediately following their curriculum. This helps us connect with potential entry-level developers with interest and a bit of experience in Rails. We’ve never required computer science degrees for any of our development positions. Code programs like Epicodus are an effective alternative to a traditional higher education.
We encourage other development companies to seek out local industry groups, Slack channels, and programs to share their job postings. It's also important to have a presence in these groups even when you aren't hiring.
Establishing a Team and Process
While the process for hiring a new developer gets underway, we establish an internal hiring team. There’s always more than one person involved in the hiring process. We’re a small team, so having many people involved helps us identify if someone adds to our company culture, and also gives an opportunity for more people to meet potential candidates for a 360 view.
For a Backend Rails Developer, two other developers would be involved in the technical portion of the interview process, and two others would be involved in a later stage culture fit interview – a project manager, marketing manager, or design strategist.
Once an applicant is qualified on paper, our interview process for a development role is:
An initial phone screen with the role’s direct manager.
An online written questionnaire about technical and culture/collaborative questions to help steer the in-person interview.
A technical interview with two peer team members
A final culture interview with two or three other team members
In the event that we have more than one candidate that is equally qualified, we may add an extra step to make a final decision.
We’re firm believers that programming skill is not the #1 qualifier in a new team member. We want to find team members who will add to our company culture and bring unique talents and qualities to our company. A Rails developer can bring more than knowledge of best practices to our company – they can bring A+ organizational abilities, a knack for communicating with clients over the phone, or excellent presentation skills.
We look for potential team members who fit our core values: Proactive, Curious, Dependable, Versatile, and Delightful. While these qualities may be demonstrated in the technical portion of the interview, they are focused upon in the non-technical parts of the process.
We standardize the key questions to ask in the non-technical interviews to prevent bias from creeping into the process. Of course, conversations may veer off topic, but there are specific questions we want to ask about collaboration, communication, and a candidate’s ideal working environment.
The Technical Interview
It's a delicate balance to test a developer’s technical strengths without placing too much weight on the technical interview. Over the years as we’ve hired developers, we’ve iterated on trying to find a process that works for us while limiting stress on the interviewee. We don’t want to burden an applicant with additional stress, we don’t want to whiteboard problems, and we don’t want to assign homework – but we do need to evaluate a Rails developers’s ability to do the job.
Most recently, we’ve had a sample Rails application set up before the technical interview. When the applicant comes into our office, they’re given a laptop that’s ready to go, and given a problem to solve. The team members helping with the interview act as both the client and a guiding resource for the task at hand.
As the applicant works through the issue, we look for several things. If they make mistakes, is it because of nerves, unfamiliarity with the machine or text editor, or lack of experience? Are they demonstrating knowledge of the Rails setup and process? Do their processes go with or against Rails best practices and how we do things? How are they asking questions and problem solving?
With as many times as we have iterated this process, there are still different things we want to try with technical interviews in the future.
Regardless of the specifics of our technical interview for Rails developers, we want to make it as comfortable for our interviewees as possible. Interviewing is stressful already, and we don’t want to add more stress if we can avoid it.
Defining the steps for hiring new Ruby on Rails Developers has reduced the amount of stress involved in screening new team members. As with all processes, we continue to iterate and learn something new each time we hire a team member. We ask for feedback from applicants that we don't hire, and keep in touch with our peers in the community for new ideas.