Excerpt
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.
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:
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.
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.
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.
