Interview Process

Or "Application Process"

Disclaimer: The Interview Process Sucks

  • Interviews reward people who are good at interviewing

  • Interviews have no direct correlation with a person's ability to do their job.

  • The system is a black box. You generally can't give feedback to your recruiter. It's great if a recruiter allows you to.

  • You are the mercy of your interviewer. If your interviewer sucks. So will your interview.

  • Some interviewers will be purposely vague, hoping you would ask to clarify. This is a pain in the ass.

  • Computer Science questions suck. They don't directly represent what you may be doing on a day to day basis.

  • Did you get hired for a niche? If you aren't familiar with your niche, this could ruin your experience. (Front End Engineer vs Back End Engineer)

What Programming Interviews don't test for

  • Ability to use tooling (ie: source control)

    • If they don't know tooling, that is something the candidate will have to learn on the job

  • Ability to reformat

  • Ability to navigate and implement APIs, when no examples exist

  • Ability to work with a team

    • Ability to communicate

Preferred:

  • Trial of working together to better calibrate a person's ability

    • Not best for people who are currently attached to a job, as they may not be able to find time to work on something else

General Job Application Process

The goal should ideally be, to do the least amount of work to get into the company you want to get in to.

If you don't know what company you want to join, this will increase the number of companies you are going to talk to. This can help you focus on what you want.

The general application process is like so:

  1. General Call with Recruiter

  2. Technical Phone Screen or Homework Assignment

  3. Onsite

  4. Offer extended

Knowing this process, the goal should be how many offers do we want to evaluate and we should work backwards, because this a time consuming process.

  1. Offer extended

  2. Onsite

  3. Technical Phone Screen or Homework Assignment

  4. General Call with Recruiter

Example

If we want 3 offers, how many onsites do we need? Minimum: 3 (Best case scenario) Probably: 6

If we want 6 onsites, how many technical phone screens do we need? Minimum: 6 (Best case scenario) Probably: 12

If we want 12 technical phone screens, how many recruiters do we need? Minimum: 12 (Best case scenario) Probably: 15

We look at the process, work in reverse, and figure out how many offers we want.

Talking to 15 recruiters, is exhausting.

Spreadsheets

Use a spreadsheet to manage all the companies you are talking to, and follow up steps.

Reserve a column for:

  • Glassdoor Rating

  • Glassdoor Salary Range

  • Paysa Salary Range

Scheduling

If we have to take at least 6 onsites, how many can we do a week? Probably: 2

If we want to take 2 onsites. This means that the process will take at least 3 weeks to a month.

Setting up meetings

Becareful about scheduling meetings/onsites back to back because they may stretch longer than the given time. They can also be very exhausting.

I use vyte.in to coordinate with recruiters about time availability.

General Call with Recruiter

  • Lasts from 15mins to 30mins. Some can last longer.

Technical Phone Screen or Homework Assignment

  • The phone screen lasts up to an hour.

  • Homework assignments lasts up to two hours.

Onsites

  • These last the whole day. From 4 to 6 hours.

  • Arrive early.

  • Mentally taxing.

  • Bring your own whiteboard markers and erasers. Theirs may suck.

Be prepared for:

  • Systems Designs

  • Product Design Questions

  • Be careful about scheduling onsites back to back. Due to how taxing it is this can be really tiring.

Pair Programming

  • Work with the interviewer

  • Check your data structures

Whiteboarding

  • Not the best.

  • Highly subjective.

  • How precise a code do you want?

  • Not the best environment available.

Whiteboard sucks:

Google Interview Process

Last updated