On Hiring Staff Engineers


tl;dr

If you just want some bullet points:

  • You hire at this level for strategic reasons.
  • The farther someone is in their career, the more complicated the pitch and hiring dance is going to be. Expect the minimum first contact to be an invite for coffee or a 30 minute Zoom call.
  • The job requirements are almost always tailored to the individual.
  • The intro/pitch really needs to come from another equally-leveled engineer, the person who will be their manager, or the CTO. Someone that can speak to the scope of the role- if not define it on the spot.
  • Resist the urge to streamline the process. It requires significant customization to the individual.

The Interplay of Niche and Candidate

Broadly speaking, staff and principal engineers (levels 5-6)1 are hired for strategic and high impact reasons. As such, you would probably think it very important to understand the niche you want filled and exactly how the ideal candidate would fill it. That is true for most of the engineering ladder progression, but unfortunately, it generally doesn’t work at this level. The intersection of someone’s experience, desired next career steps, and the scope of your unique problems are Very Difficult to know ahead of time. The honest truth, at least in my experience, is that the job requirements are almost always written afterward (see Getting To Comfort, below) and specifically tailored to the candidate.2 This is often true of internal promotions too. Someone starts tackling larger, more impactful problems and after a while they’re essentially filling a custom niche of their own creation.

Initial Contact or “Mmm, Coffee!”

You’ve decided that you want to hire someone into the upper end of your engineering department. Great! First, a quick task:

  1. Identify the person to whom this person would report.

This person is very likely the lowest person in the organization chart that should be coordinating communication with the candidate. If you’re in a smaller organization then it’s very likely the CTO. If you’re in a larger organization this person could probably either be the hiring individual or a similarly leveled IC. If this is a first contact to a passive hire then this is the person that reaches out, not a recruiter3. If the candidate came to you first and has already shown interest… the process is the same.

Invite the candidate to coffee, or in the era of COVID, a Zoom call. It’s now your job to start finding the details of the intersection above: experience, desires, and the problems you have. If the candidate is passive then it’s entirely possible they aren’t going to be interested in what you do. That’s totally fine- in that case it’s just networking and you both go on your way. After all, if not today, maybe down the line!4 If they are interested, then it’s the beginning of a multi-step conversation. The important piece here is that it’s a gesture of good faith between a candidate and someone with the authority and perspective to try and find a mutually beneficial outcome.

Getting to Comfort

You’re going to be going back and forth several times. Neither of you might even be serious about hiring until the second or third conversation. Nonetheless, every conversation you have with the candidate is part of an unofficial interview.

That’s because all of these are true:

  • The job is being crafted for the person.
  • Later-stage career folks need larger/more-complicated problems.
  • Later-stage career folks have employment options.
  • It’s inherently risky to hire someone into a position designed to be high impact.
  • The candidate is unofficially interviewing you too.

These ongoing conversations are your additional (and mutual!) opportunity to suss out the scope of the role and candidate fit. Invite other senior folks in your company along to the conversation for perspective. The goal of this step is to reach a point of comfort where you’re, as the hiring person, willing to commit. Are both of you convinced it would be a good fit? That it’s the right time? That the scope makes sense? If so, it’s time to commit.

Honestly, you might not even write the job requirements until this point.

Interview

If you managed to have coffee, get the candidate excited, “gotten to comfort,” and crafted a position for them… now it’s time for recruiting to take over. Part of the reason it’s so important to get to comfort ahead of the interview is that this process should largely be a formality.5 All I’m going to say on the actual interview: I know far too many stories of very senior folks being courted for weeks to months, finally invited to interview, and then fail a technical interview because they couldn’t balance a binary tree.6 Have a one-size-fits-all interview format for senior folks at your own peril.

In Closing

All in all, it’s potentially a very backward process from hiring folks earlier in their careers. Instead of writing the requirements and then interviewing against those requirements, it’s a much longer process with more in common to an executive search. If you decide that you want to hire for this level don’t be surprised if it takes significantly longer. If you want to hire the folks that can really do the job, and do it well, you’re going to need to take the time to convince them that you’re worth it too!

Lastly, I probably rewrote this post 3-4 times trying to refine down what I was trying to communicate. It’s probably going to be the start of a handful of posts on how I think about the non-management-technical-leadership space. Feel free to ping me on twitter @Squanderingtime if you’d like to see more.

Footnotes

  1. Using the Radford scale. The six general levels/”titles” are: Intern (Entry), Associate/Junior Engineer (Developing), Engineer (Career), Senior Engineer (Advanced), Staff Engineer (Expert), Principal Engineer (Principal). Some companies modify the scale to have more levels. I don’t know what “staff” means at your company but I’m thinking of it as roughly 15-20+ years of experience. 

  2. First point: you say “but Chris, wouldn’t that be an incredibly biased process?” and I would say “Yes, absolutely. Solving it, though, is outside the scope of this short article.” Second point: If the job description really is known and well defined ahead of time it’s worth clarifying why you’re paying such a premium for this experience level. Regardless, the process doesn’t change. 

  3. Recruiters fill a valuable role in technical hiring but at this point the process is closer to “executive search” than it is to “filling headcount.” The intro really needs to come from another very senior engineer or someone that can speak to the scope/impact of the role. Hence why it’s often the CTO except in the larger companies. Going through a recruiter for this is largely a waste of both people’s time. This counts double for third-party recruiters who might be “sourcing” candidates. 

  4. NB: careers are long and folks remember who treated them well. 

  5. This is an important point of having the relevant people at the top of the organization handle the communication. You probably don’t have a ton of people in your company that can appropriately vet IC leadership skills. Definitely don’t use other “proxy skills” like coding as a metric. See the other bullet points on dangers. 

  6. At a previous place I worked we had a team of about 8 specialists. They recommended and referred a colleague with whom they greatly enjoyed working. The candidate was put through the “generic” interview and was deemed to have “insufficient” coding skills despite it not being super relevant for the role. He was turned down for the job. About a month later he joined a different company and got permission to hire our team away en masse without interview. The whole team quit inside of a week and joined their friend. Be careful who you say “no” to at this level/stage.