Justin Domingus - September 10, 2015
Hiring at a startup can be a hectic, chaotic, and rapid “process,” but may be one of the most crucial things that will set your business up for success. I say “process” because it doesn’t always have a nice orderly flow, and usually doesn’t happen in any particular order at all.
From my experience, onboarding new hires usually happens something like this:
(cue wavy harp music and cheesy blurry iMovie transition)
Hiring Manager: “Ok Joe, we are super stoked to have you coming on board, bro.”
Joe New Hire: “Me too boss, can’t wait. So what kind of computer do I get?”
Hiring Manager: “Whatever you want, dude. What are you thinking?”
Joe: “I’ll need a very special laptop, in a specific color, forged from a rare type of silicon, only found in the highest mountains of a faraway land.”
Hiring Manager: “Oh yea, no problem-o, IT gets those all the time. Usually same day. We’ll have it on your desk before you start, ready to go, already installed and configured with the 12 very specific applications we already discussed, and we’ll also make sure it has that nice desktop background picture you mentioned.”
Joe: “Thanks boss, and I’ll need my desk height set to 31.6 inches.”
Hiring Manager: “Of course, that’s obviously the ideal height. Be on the lookout for some follow-up emails that I will send to any of the 19 email group aliases you will need to be on. See you Thursday at 9:26 for your absolutely arbitrary start day and time. Later broseph!”
They hang up the phone and then the fun starts. Hopefully Hiring Manager will remember to actually tell IT that Joe is starting soon. Some advice: Let your employees (AKA: your customers) contact you using as many tools as possible. You probably (…hopefully!) use a ticketing system, project tracking tool, instant message, company chat tool like Slack, Flowdock, or HipChat, old-timey email, and also those random hand-written Sticky notes left on your desk saying:
Allowing folks to contact you in whatever method or tool they prefer, rather than the one you prefer can be challenging, but it helps to prevent those moments when someone walks up to your desk and says “Stop everything and do this not-urgent thing for me right now!”
Now that Hiring Manager has chatted you, or emailed you, or maybe even submitted a ticket with info about Joe New Hire starting, IT needs to fill in the details and get to work. We at VictorOps track the new hire “process” in a Kanban tool called Trello. Each new hire gets a card created for them with a template list of To-Do items such as:
– Order and Build Laptop – Create Accounts** – **Order External Monitor and Accessories** – **Send Welcome Emails** – **Add to Email Groups** – **etc.** **
Our work statuses, or columns, are “New Hire Notice” (when we just found out about Joe), “Week Before” (to queue up the required work), “Week Of” (when they actually start), and “DONE”.
Having everything tracked in one place is nice, but the really important thing is to bring in as much automation to the chaos as possible. We use another tool called Zapier to automatically copy tickets out of our ticketing system to our Trello board if they are tagged as “New Hire.” That way, if Hiring Manager did actually submit a ticket about Joe, he automatically shows up in Trello. If not, Trello has an email-to-card feature.
If you don’t have an official “New Hire Notice” group email alias, create one and include Facilities, IT, Accounting, HR, and anyone else who needs to know about new people starting. Then for Joe, send an email to that alias, BCC the “email-to-card” Trello email address, and also CC Hiring Manager. Make sure this email includes start date and location, and any special requests made for the new hire. Once all that info is in Trello, we use another Zapier integration to take the “Due Date” on the card and actually create a real calendar event on the “New Hire Calendar.” Invite that same New Hire group to the event so everyone sees when Joe is starting.
Now that everyone knows about Joe before he starts, IT can get started getting everything ready for him. Tasks like purchasing and building a computer and creating various accounts can happen in any order depending on shipping time, availability of user licenses, and your own finite time to actually do it. That is why tracking the various subtasks in your Kanban flow is so important. If you have multiple IT team members, anyone can jump in at any point in the workflow, knock out a few tasks, update the Kanban board, and everyone will know what else needs to be done. This helps to avoid re-doing work someone else already completed.
ChatOps is another great idea for this whole process. Hopefully you’ve got some integrations between your communication tools, your project tracking tools, and your ticketing system. That way when questions come up about Joe, the conversations are all tracked in a timeline and available for everyone to participate.
If you can write a script to create an account through the API, write the script. If you use Single-Sign-On, use the provisioning features in every app that supports it. If you use Google Apps, there is an amazing free tool called GAM maintained by jay0lee for automating just about any admin task in Google, such as creating accounts, managing groups, setting passwords, etc. Use a default image for rolling out new computers with something like DeployStudio. Use Boxen. Or SoloWizard. Or Ansible. Or write your own bootstrap scripts. Whatever you can do to automate every possible step will save you time, prevent errors, and let you focus on everything else that you are responsible for…
Speaking of which, your VictorOps pager is going off about some hypervisor with a failed disk and some VM is dangerously low on memory. Oh, and the printer probably isn’t working either. The printer is never working. Get back to work and good luck.