Skip to content

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

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

Internships - Feedback 2024

Feedback for full-timers

Performance feedback