I alluded in earlier posts of How Heroku Works that we have talented engineers. In fact I would venture to say that there is not a weak link when it comes to our engineers at Heroku. Ensuring we have talented engineers makes it easier for us to find other talented engineers and maintains a level of quality in our product. This means we must be very careful about not diluting our pool of engineering talent, which is where our hiring process becomes especially key. By the time we hire a new employee, we know without a doubt they’re a fit within our organization.
Our goal in hiring is seldom to fill a role, but more commonly to find more talented people share our goal (changing the world for developers).
So what’s our hiring process look like….
- Review Resume/Github Profile
- Initial Screen
- Second Screen
- Starter Project
While there’s definitely a process that we follow that’s not what’s interesting. We way too often get worried about the steps 1, 2, 3… Instead you should focus on what’s important: are they a fit? Can they get shit done? Who cares about how many phone screens someone goes through?! Five phone screens instead of two doesn’t make them a better fit for your company. The short of it is they go through enough screens that you feel comfortable and you progress them through the process. For us at any point in the process if someone is determined to not be a fit the process ends there. If the process does end the hiring manager will relay this in the appropriate form, though always in writing via email as well.
The hiring manager could debatably be the biggest difference between our process and others. When a candidate applies to a position it goes to the hiring manager (not an HR person). The hiring manager will be your manager once at Heroku it’s one in the same and this ensures from the start of the process the candidate and the manager mesh well. Yes, having the manager of a group review github profiles and resumes is extra effort, but who better to judge from a quick glance than engineers. In general as a manager you’re evaluated on the success of those you manage, as such you should be invested heavily in those you hire. In addition to this we find a big difference in the on boarding process and how quickly someone can succeed. We have used many approaches, but the success of someone at Heroku based on having their hiring manager and manager be the same individual is best highlighted below:
While every step in the hiring process is valuable starter projects may be the most valuable to ensuring quality. The final step with nearly everyone we hire is to invite them to come hack with us. Instead of parading someone around for a day long interview we get down to business and write some code. It could be something internal to Heroku, it could be an open source project we use, it could be something interesting that the candidate feels would add value to Heroku. Starter Projects vary slightly between each hiring manager.
Several of our managers prefer to lay out several potential interesting projects, talk through them with the candidate, and then let the candidate decide what they’d like to work on. Sometimes there’s a pressing need that the candidate can jump right in and add some value. It’s always important that the starter project is achievable, if it’s too broad of difficult for a 1-2 day period then the manager has failed in the hiring process. Regardless of the project it’s far more than an exercise on a white board, it’s actually what life is like at Heroku. We have lunch at the same table that we eat at every other day, we interact just as we normally would, and after work there may or may not be drinks just like any other day.
As a slight aside, we even conduct starter projects when current Herokai move from one team to another
Starter projects usually last anywhere from a day to several days. At the end of a starter project the candidate presents what they did, in a similar fashion to weekly demos that occur at workshop (more on that some other time). In earlier days it was nearly the entire company that would sit in, ask questions and give feedback. Now it’s a bit harder for all us to fit into one conference room, though there’s an open invite and anyone that wishes can sit in (often 10-20 Herokai). At the end of the starter project there’s no question that the candidate fits or doesn’t, often from both sides. Of course if it’s a fit we make an offer and welcome them into the family.