skip to content

Hiring manager perspective from the top view

/ 3 min read

Eligible person for hire Pragmatic programmer knowledge portfolio

The trick is that money is not everyone’s number one motivator, in fact, it’s not even the number one consideration for most people.

The great software developers, indeed, the best people in every field, are quite simply never on the market

Think about where the people you want to hire are hanging out.

You get what you reward for.

If you want the ants to come, put sugar on the floor.

We certainly don’t hire based on resumes; we only screen out based on resumes to reduce the number of people whom we have to interview

Passion. We look for evidence that the applicant is passionate about computers and really loves programming. Typical evidence of this:

Pickiness. We look closely at the cover letter for evidence that the applicant really wants to work for us.

. First, it’s a sign that the candidate is not applying to hundreds of jobs at the same time.

programmers who can communicate their ideas clearly are going to be far, far more effective than programmers who can only really communicate well with the compiler.

clear communicate > clear communication with compiler

Hire, but not in my team,” simply translate that mechanically to “No Hire” and you’ll be OK.

In principle, it’s simple. You’re looking for people who are

  1. Smart, and
  2. Get things done.

Here’s a typical plan for interviewing a programmer:

  1. Introduction
  2. Question about recent project candidate worked on
  3. Easy Programming Question
  4. Pointer/Recursion Question
  5. Are you satisfied?
  6. Do you have any questions?

What should you look for during the open ended questions?

One: Look for passion.

Two: Good candidates are careful to explain things well, at whatever level.

Three: If the project was a team project, look for signs that they took a leadership role.

even though you’re interviewing them, the good candidates have lots of choices about where to work and they’re using this day to figure out if they want to work for you.

In the first part, I ask the candidate to describe their career history and basically tell me about themselves

how the candidate handled challenges in the past

how would you design a data structure or a block of code to do x?

  • How might you design a program that lets people play Monopoly with each other over the internet?

  • What would be a good data structure for a photo editor?

  • How would you implement code to operate the elevators in a high rise?

  • How would you implement the rendering engine of a web browser?

    If you find yourself explaining everything three times, either you’re terrible at explaining things, or you’re talking to someone who is not that smart.

Remember, the whole philosophy of recruiting is predicated on the idea that smart candidates have a choice of where to work, and if that’s true, the interview process is as much a way for the candidate to decide if they want to work for us as it is a way for us to decide if we want to hire the candidate.