Back to Home

    A Software Interview Challenge

    December 2017

    For a while now, people have had a strange fascination with completing various mini-challenges that are usually physically and mentally taxing, thoroughly unpleasant, and sometimes seemingly impossible. What I have in mind includes tasks such as the cinammon challenge, saltine challenge, and the gallon challenge.

    The past few months I have been interviewing pretty aggressively for software engineer positions at a variety of companies. During those months, there were some particularly active periods where I would have as many as five interviews a week. These periods were taxing naturally but also nominally predictable in their format. Inspired by the general format that all these interview cycles would take as well as this societal trend of making mini-challenges such as the above, I would like to propose my own variant: the software interview challenge.

    In my experience, software interviews at basically any company I’ve applied to assume the same general format. These interviews are broken down into a number of stages over some period of time ranging from around 2 weeks on the low side to more than 6 weeks on the high side. The stages typically are the following:

    • An introductory informational phone call which is typically designed to have the candidate get acquainted with what the company is doing and also to have the company assess whether the candidate is interested in proceeding with the interview process
    • A phone screen which usually consists of a few basic algorithms questions designed to test a candidate’s competency with fundamental computer science
    • A company onsite, which comes after a candidate has performed adequately during the phone screen, and usually consists of a set of around three to five interviews by various engineers at the company’s offices. The interview questions may include algorithms and system design, with more domain specific stuff thrown in depending on the position you are applying for.
    • An offer call which comes if the candidate performed well during the onsite and the company wishes to extend an offer

    Note, this is the format I have generally experienced in the various technology companies where I have interviewed and other experiences may differ.

    During my interview cycles, I would sometimes find myself in positions where I would be at various stages in the interview process with different companies at the same time. In other words, I sometimes found myself having an introductory phone call for Company A on a Monday morning, an initial phone screen with Company B that afternoon, and an onsite with Company C the next day.

    Inspired by the formulaic nature of these interviews, I asked myself whether it would be possible to do all of the four legs of an interview in one day.

    This is the software interview challenge: in one day you must go through an informational phone call, a phone screen, an onsite, and receive an offer call. It is of course not required (or arguably possible) to have all of these legs be with the same company. In fact, if you can even manage the four legs with four different companies, you have achieved major baller status.

    So how hard would it actually be to complete this challenge? Ignoring for a moment the logistical nightmare it would be to line up these various legs appropriately on a given day, here is my back-of-the-envelope calculation for lower and upper bounds on time it would take to complete the challenge in its entirety:

    • Informational call: 15 minutes - 30 minutes
    • Phone screen: 45 minutes - 1 hour
    • Onsite: 3.5 hours - 8 hours (yes I actually did have a company whose onsite was this long)
    • Offer call: 15 minutes - 30 minutes

    The total time to complete the challenge would be somewhere between 4.75 and 10 hours. So if you take the average, it should only require 7.3 hours or roughly a workday for interviews! There, not too bad and definitely safer than some of the other challenges out there on the internet 🙂.

    The devil is of course in the details, and lining up your interviews and calls in such a way that you can complete everything seems near impossible. As a side note, while it would probably be most efficient to manage all the legs in a single day, it’s certainly not clear that you would achieve your best performance if you were just jumping from one to the other. Definitely something to keep in mind.

    With that in mind, I wish you the best of luck with your interviews!


    Like what you read? I would love to hear from you! 🙂