On Hiring

Questions I’d like to have answers to after meeting someone

About the candidate’s journey, areas they’re looking to grow

  • Why are you leaving your current company?
    • What are you looking for? How are you looking to grow next in your career?
  • Describe the position we’re hiring for to the candidate. Does this sound like a good fit for you? What do you think?
    • Have you ever had to carry the pager? Be a first responder / member of an incident response team?
      • How do you feel about that kind of work?
  • What sorts of things do you like to work on in a day? (What’s an ideal day for you?)

Past behaviour type questions

  • What are you most proud of accomplishing during this time?
  • What were the trouble spots, the things you struggled with, during this time?
  • Can you tell us about a time when you were under a lot of pressure at work and what you did to get through it?
  • Have you had to make time management or prioritization decisions with your time? Can you think of a time when you had to push back on a request? How did you do that?

Tech / systems questions

Here are some fun questions that aren’t super technology specific but get at basic understanding

  • How do you deploy an application without downtime?
  • Describe how an application in your environment gets from development into production. What are the steps in your build + delivery pipelines?
  • What happens when you open up chrome in a browser and navigate to google.com?
  • Tell me about a time when you saved your production environment. How did you identify the problem? How did you fix it? What did you do to make sure it didn’t recur?
  • Diagram the system you currently run. Do you have any criticism of the architecture you just outlined?

Live Coding in an Interview

Goals

  • Learn was pairing is like with the candidate (Partly a communication exercise)
  • Learn about comfort level problem solving / using some of the tools / ideas they should has some level of awareness with although specific tools aren’t super important usually

Part of our interview process involves a bunch of questions that try to get at different levels of details in terms of understanding of layers of a stack from the network up to the application. Sometimes they don’t work well or don’t really demonstrate what we’re looking for. “What flavours of linux are you comfortable with?” “How do configure X?” “How does X work in the context you’re currently working in?”. Sometimes giving somebody a keyboard is a better way to see them in action.

There is a risk that a candidate might be nervous and freeze up. This can possibly be offset a bit by keeping the task simple or letting them work it at home. They should be able to speak to the work and possibly work on a tiny modification!

Links

My current thinking is it should fit in about 30m – 1hr of time for the most part so it has to be pretty simple if it’s going to be done in person.

Examples

  • Using Ansible create a user for yourself adding an ssh key so you can login as your user. You should be able to tail /var/log/messages (or wherever syslog messages go in your o/s)

From Carmen about how to onboard a new team member

  • Give them real work (small, reasonable tasks to start and increase scope as they become comfortable)
  • Give them a lot of support
  • Give them a friend who’s been around awhile who doesn’t mind being poked by lots of questions 🙂
  • Enjoy the ride! This new hire is going to make your life better!

Joel

Smart, and gets things done

I have to add is a good fit with the team to this. Is the person someone you want to spend 8hrs a day, 5 days a week with? A very large part of your life …

Do find out

  • How well does the candidate’s career interests align with the role we’re planning?
  • Give the candidate a sample of 1 or 2 tasks currently in our backlog and see how they would work it. Want to see problem solving process, thoughts around potential gotchas, their method!
  • Have the candidate meet another member of the team for a chat. It’s important that the team has a sense of who may be joining and that there’s a good culture fit

Goals

When you’re hiring for a particular role, do think about (and visualize!) what success might look like.

  • eg “In 90d, the balance between unplanned work and project work in our team will have reached an equilibrium at the balance we prefer to maintain – 50/50”

Job ads I love

  • From Honeycomb for a Site Reliability Engineer

Reading