There are very few people who enjoy interviewing or being interviewed and there’s probably a good reason for that. More often than not the process is long, tedious, sometimes painful, and ultimately flawed. There have been countless posts on how interviewing is flawed so why do we need another one? Short answer: we don’t; But you can’t stop me and maybe someone will learn something useful from my experience.

I’ve had my fair share of bad interviews, mostly from the hiring side of the desk I think, as well as good ones on both sides of the desk. There are some definitive trends that come out of these interactions and hopefully they sounds familiar to at least a few of you.

Let’s start with a bad interview:

  • Terse answers (or worse, extended silence)
  • Word vomit
  • Lack of definition of the role
  • Literally Stinks (honestly, if you can smell yourself a little, I can smell you a lot)
  • Not knowing anything about the company you’re interviewing at
  • Not knowing anything about who you are talking to (if you can get names ahead of time)
  • Not having any questions
  • One of my favorites: getting caught in a lie.

To counter that, a good interview:

  • Involves information directly related to the work to be done
  • Has a few good chuckles
  • Gives the candidate a chance to show their skills
  • Includes people relevant to the position or project
  • Most importantly, it should feel like a conversation


So what does it mean to “feel like a conversation”? For any of you that have been a human for a while now, you probably have had some form of interaction with another person you actually enjoyed. It starts with some basics around manners, respect, eye contact, and showing general interest in what is being discussed. In the US we have the concept of protected classes these are the topics that should NOT come up during conversation on either side. If the hiring process is even remotely well thought out, manners and etiquette will play one of the largest roles in getting through screening. Screening is the first phase of the process where HR or a hiring manager will weed out people who can’t work in their environment regardless of their skills. This may come as a sock to some people, but in most companies there’s no place for someone who is an profound genius but has the personality of a sea urchin. You may find some places where that will work, but it’s quite rare. More often than not, you will be working with other people on a day-to-day basis and will have to be able to hold a polite conversation. What this means for the hiring manager or interviewer is that they need to treat the candidate with just the same level of respect as they would their boss. It may be a less stressful situation on the hiring side of the desk, but you should be presenting yourself in the best way possible as well since the candidate may someday work with you.

Technical Aspects

The dreaded technical test. Be it whiteboard (glass wall in my case), written exam, online test, or take home project, it usually is the worst part of the interview for the candidate. Perhaps their impostor syndrome kicks in and then the profuse sweating follows shortly after. As pressure felt during this portion is really quite undue as more often than not the interviewer(s) are really looking for some basic skills. In-person, it’s usually problem solving. How do you react under pressure? Can you describe how to approach a problem? Some people will be sticklers for syntax but even if you are a little off, solving the problem correctly in pseudocode should put you at the top of the list. If the position was listed as being a specific language, be sure to make the best attempt at doing the questions in that language. For take home projects or online tests, bring your best work. You’re being given a chance to demonstrate what you’re capable of given a freedom of resources and potentially tools or time. Prepare with what you can ahead of time, then get into your zone. Music, comfy chair, sufficient caffeine, your rubber duck (or this little guy if you’re in Buffalo right now).

Duration and Process

You can see here what some big tech company processes look like. You can see that most of those large companies take between 3 and 4 weeks. They can afford that luxury, but most smaller tech companies will want to strive for 2 to 3 weeks. I agree with the Apple, Google, Intel, Facebook, and LinkedIn approach of an initial phone screen, 1 or 2 phone interviews, and then an in-person interview. The phone screens are usually the worst to schedule followed by an on-site if travel or time off of a current job is needed.

The idea of the process is as follows.

The Phone Screen (Week 1)

  1. Interviewer provides background on the company, position, team, and culture
  2. Interviewer walks though candidate’s resume
  3. Interviewer tries to poke holes in candidate’s resume
  4. Interviewer asks some general questions listening for keywords
  5. Interviewer asks some behavioral questions
  6. Candidate is given a chance to ask questions


The Phone Interview(s) (Week 2)

See The Phone Screen as it will mostly be an exact repeat of that with a different interviewer. You should mostly expect the general questions to be replaced with technical questions. Often the Screen will be with someone in HR or recruiting where as the Interview would be with a hiring manager or technical person.

ALWAYS HAVE QUESTIONS! Do note that you could repeat some of the same questions to get a different opinion.

The On-site Interview (Week 3)

Depending on if this interview happens with someone you talked to or not, it could change the direction. If this is being held with a new person, it will resemble The Phone Interview. If this is a repeat offense with an interviewer, you should be able to skip a repeat of your previous conversation. This is the phase when the real technical evaluation will happen. The technical questions can be along a wide array of difficulty. Most will open with a soft question to get you comfortable. A basic function or a simple class, just something to get you writing and talking. Beyond that it could be almost anything, a B-tree, Dynamic programming, or some other computationally complex algorithms. I prefer to avoid the more trivial questions that the average person will never write again on their own.

ALWAYS HAVE QUESTIONS! Do note that you could repeat some of the same questions to get a different opinion if it’s a different person than before.

The Best is Yet to Come

Hopefully this was a helpful overview into life on both sides of the desk during an interview. I expect to write more on the topic in the future going more in depth about how to handle a technical interview as well as how to plan one. In the end, hiring or being hired shouldn’t be hard, it’s just a conversation with a stranger who may someday be your boss.

Leave a Comment