Eating Our Own Dog Food - Using Our Job Board

#product #hiring

written by

Using Our Job Board to Hire from Our Community

This past fall, we used our Job Board to hire a contract Software Engineer. Aside from being thrilled to bring someone onto the team, we were excited to try out our newly launched Job Board. Previously, we improved the Job Board’s experience based on user behavior from our community, specifically, companies posting jobs and people applying for jobs. This time around, we experienced the Job Board as a company posting a job. We are excited to share our experience using the Job Board, our hiring process, and learning outcomes.

We purchased the Monthly Reach Plan which included one job post and one promotion each month. We chose the Monthly Reach Plan as it offers a promotion for greater visibility by including our job post in the weekly CODE Review, which is sent directly to 40,000 of our members.

We created our job post, scheduled the date we’d be listed in the CODE Review and opted in to receive an email message from interested applicants as opposed to supplying an URL to first step in the interview process. We knew the email messaging option would be a super fast and easy process for potential applicants to email and express interest in the job, rather than applying to the job in a more formal way such as sending a resume (see our job post with the email messaging option below). We posted the job on September 29, 2016, and started receiving emails about the job the next day. We had received 26 emails expressing interest within ten days of posting! Sorting through all of the emails would be the next task, albeit a fun one.

Our job post with the email messaging option.

Reading through the emails was exciting but also proved to be an exhausting undertaking. We wanted to know how applicants problem solved and collaborated, not just what their resumes said. Because of this, we switched from the email messaging option to an “Apply Today” link that brought the applicant to the first phase of our interview process (see our job post with the “Apply Today” url below). Once we did this, we received 45 additional applicants. Adding the initial step of the application process instead of the email messaging option allowed us to automate the process in a way that was transparent for both parties.

Our job post with the “Apply Today” URL.

Designing the Hiring Process

The next step was to design our hiring process. An applicant’s resume was not going to address the questions we had, and at best, we would make invalid assumptions based on the information each applicant provided. Before hiring someone, we wanted to know their strengths in the context of the position. Specifically, does the way they problem solve align with how our team best problem-solves? Does the way they collaborate complement ours? We also wanted to make sure that we expressed our expectations throughout the process by communicating them up front.

With this, we phased our hiring process into a set of challenges; when you passed one challenge, you moved onto the next. We brainstormed and came up with a hands-on, three-phase interview process - Phase 1: Submit a Pull Request, Phase 2: Review a Pull Request, and Phase 3: Reference Checks.

Phase 1 began as soon as the applicants clicked on the “Apply Today” URL on our job posting. Phase 1’s challenge was to submit a pull request on our most active Github repository. Participating in this challenge helped applicants understand how we problem solve and collaborate as a team. Inversely, it helped us understand how the applicants problem solve and collaborate as a team. The applicants were given a series of Github issues to choose from and ten days to complete them. We intentionally left room for problem-solving to allow the developer to determine the implementation details that would meet the requirements. We also left enough variety on the issues so that ideally, the developer would pick an issue where they could show off their skills.

Phase 1 was the most time consuming, taking about 4 hours, and it was the most critical phase because it covered problem-solving and collaboration - our core areas of focus. Thus, we included incentives to those who submitted a Pull Request. Specifically, a GoRails Subscription, a RubyMine license, and we also featured them on Maker Bytes. The interview process was a contribution and we wanted to honor that by providing the applicants with the same incentives we provide for our contributors. Of the 57 applicants who began Phase 1, only 11% completed Phase 1 and continued to Phase 2.

In Phase 2 of the evaluation process, we had each applicant review a pull request. Reviewing a Pull Request demonstrated to us that they could identify flaws and vulnerabilities in the code, make style changes per style guidelines, manually test out issues to ensure code functionality, and point out any changes that existing team members missed. By the second interview phase, we were down to 3% of the 57 applicants.

Ultimately, two applicants successfully made it through to Phase 3. Phase 3 included reference checks and feedback on applicants pull requests. After reference checks, we finally met both applicants face-to-face (well, it was in a video call, but nonetheless face-to-face). At this point, we knew that they were qualified individuals based on their performances in Phase 1 and Phase 2 and now we wanted to match the talented person with a face and personality.


Looking back, we would definitely use our job board and interview process again. The job posting received 130 applicants in a two month period and ultimately resulted in us hiring four people (one contract and three fixed cost contract positions). Plus, having our job post in the CODE Review spiked applicant's interest by 23%. We were overwhelmed and humbled by the amount of attention the job posting received. We felt that our selection process was honest and once we did put real names and faces behind their Github usernames, we were inspired by them.

Using our job board solidified why we created it. Our community wanted a space to find their next career opportunity transparently and quickly. They wanted to know which companies are great places to work based on the problems they solve and benefits they offer. And companies wanted a way to hire from our community. Now, our community can search for jobs based on attributes that matter to them and at companies who are committed to helping them excel in their next stage of their careers.

As much as this experience was for us, the transparency in our interview process made it so interested applicants could find out how we solve problems and collaborate. Our job board also allowed us to tap into a community of individuals we were eager to hire from and see excel in the tech industry.

It goes without saying, well, writing in this case, that our Job Board and interview process was successful in helping us find amazing people. We want to encourage companies on our job board to implement similar interview processes; one that aligns with how your team best problem solves and collaborates. Some questions to ask yourself: Does your interview process match how your team best solves problems? Does your interview process match how you and your teams collaborate? Are you providing people who are interviewing small rewards for participating, even if they are intangible ones?

My first #DockerCon

I was beyond excited when I...


How recruiters can help close the gender gap within the tech arena

As the wave of digital transformation...


WW<CODE> Maker Bytes

Issue 147We are building features for the...


Welcome to Women Who Code