We recently completed anonymous screening of all our recent Apprentice Rails Developer candidates for the positions starting in March. We received nearly 500 applications for our Apprentice Ruby on Rails Developer positions, which makes it difficult for us to provide individual feedback on every application. My goal with publishing this is to provide those who applied some additional information about why they might not have gotten an interview and, because people are always welcome to reapply, to hopefully help them strengthen future applications.
Here are the things we look at when screening Apprentice Ruby on Rails Developer applications.
Initial screening first pass
Reducing as much bias in the hiring process as possible is important to us. So we have a tool that hides identifying characteristics and other items that may influence a review, such as names, gender pronouns, and names of prior companies and schools.
The initial screening takes place over two passes, in the first pass we look at the following:
- The overall experience of the candidate.
- The answers to the application questions.
Our goal with this first pass is to rapidly identify candidates who should be considered further because they have a complete application and information that we can use to assess them further. Once we complete this first pass, we have a list of candidates we’re able to give more time and attention to.
Initial screening second pass
We then do another pass on this list looking at the following:
- Their cover letter and response to our question “How do you want to grow as a software developer?”
- Years of experience working as a developer.
- Has the candidate previously held a leadership position in any field?
- Has the candidate previously held consulting or other client or customer-facing role in any field?
- The specific answers to the application self-assessment questions.
What are these self-assessment questions?
On the apprentice application we ask a series of self-assessment questions which help us make a decision about who should make it through the initial screening.
These questions currently are:
- I know how to use git to do my work in a branch, and then rebase and squash my branch into main.
- I can build and deploy production web applications in Ruby on Rails.
- I can identify and fix pages in a Rails application that are slow to respond.
- I regularly practice test-driven development in my work.
- I am comfortable with JavaScript and have opinions about when to use a client-side framework like React.
- I know SQL, including what GROUP BY and LEFT OUTER JOIN do.
- I can create, estimate, and prioritize a backlog of features.
- I can lead a project team, helping to refine and cut features when they no longer make sense.
- When I have a disagreement on approach with a team member, I am able to articulate my opinion in a constructive way, and I’m able to move forward if my opinion is heard, but decided against.
And the answers to these questions are:
- I have yet to learn this.
- I am learning this, but not yet working independently.
- I know enough to work independently.
- I know this and can teach others.
These questions are the same questions we ask all Rails Developer candidates. It helps us calibrate the level of experience of a candidate without relying just on years of experience.
Summing it all up
Taking all of the above criteria in total, we are then able to identify the top candidates who feature the most of those criteria.
For Apprentice Rails Developer candidates we weight the answers to “I can build and deploy production web applications in Ruby on Rails” and “I regularly practice test-driven development in my work” slightly higher than the other self-assessment questions.
For example, someone with not much professional development experience will rise above others if they write a great thoughtbot-specific cover letter and are able to answer “I am learning this” and “I know enough to work independently” to the majority of the self-assessment questions. Especially if they also have prior experience in a leadership, consulting, or other customer-facing role in any field.
Interested in an Apprentice position at thoughtbot? You can apply at https://thoughtbot.com/jobs#apprenticeship.