-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve hiring process #22
Comments
here are some scenarios based around the idea of a Pipeline for a candidate at any step in the pipeline, we can bail out (decide not to proceed with the candidate).
Start a new pipeline for a new candidate
me: !candidate add phil@genesis.com Phil Collins
bot: thanks! added Phil. Next step is to review his/her resume.
bot: hello! someone still needs to review Phil Collins's resume!
Move a candidate to next step in pipeline
me: !candidate status Phil Collins
bot: review Phil Collins's resume.
me: !candidate continue Phil Collins
bot: ok! time to send Phil Collins the take-home question Move a candidate to a step that requires inputme: !candidate status Phil Collins
bot: schedule an in-person loop
me: !candidate continue Phil Collins
bot: ok! time to schedule an in-person loop!
bot: <prompts for loop data (time/interviewers?)>
...? Bail out of a pipelineme: !candidate status Phil Collins
bot: schedule an in-person loop
me: !candidate bail Phil Collins
bot: are you sure? yes/no?
me: yes
bot: ok sorry Phil Collins didn't work out. |
Perhaps we should start with an overview of the current processes and see where slackbot could make things easier:
With these in place, I think we can start to carve out some building blocks for what could be a useful tool:
|
one consideration here is that this needs to work for teams with slightly different pipeline definitions. i wonder if we could do something based on some kind of DSL: pipeline:
team: oce-mcm
steps:
- name: review resume
- name: send take-home question
- name: review take-home question
- name: schedule a loop
prompts:
- name: interviewers
type: loop-interviewers (highly hand-wavy and probably a terrible config API)
- name: loop
- name: decide on candidate pipeline:
team: carbon
steps:
- name: send take-home question
- name: review take-home question
- name: schedule a loop
prompts:
- name: interviewers
type: loop-interviewers (highly hand-wavy and probably a terrible config API)
- name: review resume
- name: loop
- name: decide on candidate then me: !candidate add carbon Don Johnson dj@vice.com
bot: OK! added Don. Next step: set up a loop. maybe each step has a pre-defined handler in code that understands how to prompt/remind/follow up/etc. Or maybe we just have different ideas about the scope of this. I was thinking it would be used end-to-end to track candidates, not just to set up loops. |
Improving the interview process is an important aspect of this bot, but I think where we're REALLY dropping the ball the most is during onboarding. We have employees without AD accounts, without computers, etc for 2+ weeks after their hire date. Insane. Our interviews might be a little sloppy, but I can't imagine they're nearly as bad. As cool as a DSL and a hand-holding approach to the interview pipeline would be, I like to advocate that we knock out some very simple scheduling functionality for the interview portion using some of the primitives that @zpatrick has already implemented. This would be a very simple pipeline process that would effectively wrap As for onboarding, as @zpatrick pointed out, it's basically just a checklist of items that we need to hound hiring managers to complete. Just having a list and setting a reminder is not enough in this case. |
sure i agree that onboarding is more severe when we mess it up, but also, anecdotally, we seem to take way too long from new candidate to closing the loop, and it's sometimes unclear who if anyone is on top of moving a candidate through. but yeah i think the primitives are important and i'd just want to make sure whatever primitives you come up with can be extensible enough to support more than just checklists and reminders (though i can totally see where checklists and reminders would constitute pretty good primitives in themselves). i think something generic/primitive that would work for tracking onboarding would probably work for hiring pipeline as well, FWIW. /me closes and comments |
splitting this up into |
We need a command (or suite of commands) that helps with the hiring process. We currently have the !interview command that sets some reminders, but this can be revised/changed in order to better accommodate a larger set of features.
The text was updated successfully, but these errors were encountered: