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 modified 2yr ago