HiringMeister
Find candidates
We get candidates in several ways
- Send emails to CS and related depts
-
Especially for PhD students
-
Use our LinkedIn pipeline to find candidates
-
We are going to start targeting graduates from top schools
-
Post job on LinkedIn
-
Post job on Upwork
Initial screening
- HiringMeister: upon receipt of applications for new positions, track applicants add task to Asana "Candidates"
-
For each task description use the template https://app.asana.com/0/1204526145297526/1207748235019119/f
-
HiringMeister: send email to gather additional information from candidates
- Ask candidates to fill out the questionnaire form here
- Results are here
Hiring committee
- Every 2 weeks the screening committee conducts a meeting to review the applicants
- Everyone on the committee collects all the information needed to make a decision
-
TODO(gp): This needs to be formalized better
-
We want to increase the quality of the collaborators, so if there is a red flag (e.g., no GitHub, low GPA, undergrad) we can decide to not on-board
-
The goal is to avoid on-boarding people that will likely disappoint us
-
If we receive a single candidate application and find no red flags in the profile, we should proceed further in the process
-
It's ok to ask more team members to take a look
-
If the candidate is a no-go, GP sends an email of rejection
Mentors
- Hiring Meisters (e.g., Sonaal and Samarth) supervise the hiring process
-
Coding mentors are:
- Hiring Meisters
- Anybody who is not in some critical path (e.g., Dan, Danya, Toma)
Onboarding pipeline
- Once a candidate is accepted we assign a mentor on Asana
- The mentor is in charge to intervene when the candidate is blocked
-
We track the mentor in Asana
-
We use Asana tasks to communicate about the candidates
-
There are multiple pipeline stages on Asana that candidates go through
- Candidates
- Anybody who wants to join our project/company
- On-boarding on KaizenAI
- Goal: set up candidates to work on their laptop on KaizenAI
- Duration: few days
- The checklist for onboarding on KaizenAI is here
- Once the checklist is complete, candidates move to the next step
- Working on KaizenAI
- Goal: understand who can/should join the team
- Duration: 1 month
- Type of tasks: unit tests
- Each candidate should work on 2-3 issues to make sure we can judge how good is a candidate
- We score candidates every 2 weeks for a few iterations until we can make a decision
- Candidates who are good enough can be onboarded on cmamp, otherwise are dropped
- On-boarding on cmamp
- Goal: set up candidates to develop on cmamp (only on the server)
- Duration: few days
- The checklist for onboarding on cmamp is here
- On-boarding GH issue on cmamp
- Working on cmamp
- Goal: learn our development process
- Duration: 1 month
- Type of tasks: unit tests (stuff that doesn’t require design)
- After that we can assign the best hires to teams
- Full-time or interns on probation
- Goal: contribute to KaizenAI or cmamp
- Duration: 3 months
- Type of tasks: unit test, refactoring, simple non-design tasks
- Assign them to teams
- Give them more complex task
- Full-time team members
- Normal workflow
- Team leaders
- Type of tasks: in charge of architecture, big picture, real-time systems
- For the ones that are able to master the process
Onboarding GH Issues
We want to have a pipeline of GH Issues to assign people as soon as they are ready
Feedback for interns
The scoring process is described here
docs/work_organization/all.contributor_scoring.how_to_guide.md