Email Security Blog

Lessons Learned Hiring Software Engineers During a Bubble – Part 3

Chris Haag April 8, 2016 Engineering
Fallback Featured Image

Now that you’ve (hopefully!) read my first two blog posts on hiring lessons learned, Step 0: Who Are You? and Step 1: The Prep, you’re ready to check out my third – and final – post on the topic:

Step 2: The How

Finding the Candidates

If you ask sales managers what qualities they look for in top performers, they will likely include: tirelessly hunting for prospects and keeping their calendars filled with meetings. Like sales, hiring is a numbers game, and filling the funnel and pursuing the leads is job #1. With our hiring efforts, we’ve found that the Rule of 4’s applies: for each candidate you make an offer to, you’ll need to bring 4 candidates on site. For each on-site candidate, you’ll need to do 4 technical screens; for each technical screen you’ll need to do 4 initial screens; and for each initial screen, you’ll need to review 4 resumes. Which means 4^4 or 256 resumes for each new hire. So when you’re ready to hire, think like a top sales person – as at some level, you are limited only by the energy and enthusiasm you bring to the process. When you are in hiring mode, your calendar should be very full with time blocked to review resumes and initial phone screens.

Similar to the sales process, recruiting starts with a healthy pipeline. We tried various online recruiting tools but ultimately found Hired to be the best. It features a great GUI for rapidly assessing resumes and has a good number of high-quality candidates. The drawback is the good candidates can get dozens of companies reaching out to them…but now you’ll have an approach that sets you apart, right? We also worked with a number of recruiters but in the end, didn’t close a single candidate via an outside recruiter. I remain open to the idea that recruiters can help, but don’t have any recent evidence to support this so far. We also interviewed a number of candidates from the various software vocational schools but none of these candidates passed the bar. Of course, in-house referrals are best, so be sure to work with everyone in your company and use company meetings to keep the open positions top of mind.

Special Intern Note

Once your engineering team is beyond 12 or so folks, consider bringing on an intern. If you hire well, you’ll get some useful code written. Moreover, going through the exercise of spinning up and mentoring an intern can be a forcing function which improves your on-boarding process. We’ve had great success sourcing interns from the Stanford Bases Career Fair and from the Cal Spring Career Fair. A few best practices to keep in mind when working with intern candidates:

  • Move fast!
    • The best interns generally have – and accept – an offer by early March
  • Allow interns to work on your actual product
    • “Special” intern projects are off-putting
  • Provide stories from the previous year’s interns
    • What did they accomplish that was “cool” – and will interest a new intern

Define the Process

Here’s what worked well for us:

  1. Initial Screen
    • Done by the hiring manager
    • Length: 30 minutes
    • Topics to cover:
      • Tell me about yourself
      • What are your motivations: what do you like/not like about your current role
      • Tell me what you are working on
      • What was your favorite project last year?
      • What’s your comfort level with our “stack” (AWS, Unix, Git, Jenkins, TDD, etc.)
  2. Code Test
    • Done by the hiring manager
      • We cover OO programming and a basic algorithm test
  3. In Person
    • 4 one-hour interviews
    • Pair interviewing
      • Be sure to divvy up the skills and values you agreed to earlier in the process, and ensure you don’t duplicate efforts
    • Hiring manager should check in after each pair interview
      • If the consensus is no, respectfully walk the candidate out early
    • Wrap up (30 minutes)
      • Key questions to ask: How did our process compare to processes at other companies? Is there anything you’ve seen in other interviews that we could use to improve our process?

That’s it so far. We will be entering another round of hiring soon – and in fact, have a few available openings already – so please let us know if you are interested!

Agari Blog Image

December 22, 2020 Adam Noll

How to Make Oauth2 Play Nice with EKS Ingress

Over the course of my technical career, I’ve always thought of Oauth2 to, frankly, be…

Agari Blog Image

September 3, 2019 Neil Chazin

Advanced Strategies for Testing Async Code in Python

Creating a future where all of our customers can trust their inbox can push Agari…

Agari Blog Image

June 25, 2019 Neil Chazin

Strategies for Testing Async Code in Python

Creating a future where all of our customers can trust their inbox can push Agari…

Agari Blog Image

October 6, 2016 Chris Haag

Managing Your AWS Costs? Get Ready for a Surprise!

Managing AWS costs is confusing, difficult and sometimes can seem downright hopeless. At Agari, we’ve…

Agari Blog Image

March 23, 2016 Chris Haag

Lessons Learned Hiring Software Engineers During a Bubble - Part 2

As per my previous blog post, hiring software engineers gets more competitive every year. Now…

mobile image