You have just read a blog post written by Jason McIntosh.
If you wish, you can visit the rest of the blog, or subscribe to it via RSS. You can also find Jason on Twitter, or send him an email.
Thank you kindly for your time and attention today.
I wrote the following in late summer of 2013; my will to actually post it drained away when I subsequently heard the call to return to freelance consulting work, a place I have occupied quite happily since. I came across this draft post recently, and decided to finish it up and post it. While I no longer seek full-time employment, the remainder of the article remains quite true to my feelings.
I spent much of this summer looking for full-time work. Within a month of my posting my hire-me page, several different companies and institutions interviewed me. Roughly half of those adopted the strategy of subjecting candidates to a battery of phone screens, followed by an intense, day-long, on-site series of interviews where a rotation of employees each spend an hour or so asking the applicant to solve practical, often difficult programming or engineering problems.
I will never subject myself to this sort of interview ever again. What once seemed like a fun challenge, a natural way for a smart team to seek out more of their own kind, now strikes me as misguided to the point of insult — especially where more experienced applicants are concerned.
I am not certain where, when or how this interview style originated. I encountered a less intense flavor of it when I interviewed for a contract position at ITA Software in 2006, and had never seen it in my various programming-job interviews prior to that. I’ve lately dismissed it in conversation as “We read a book about Google once,” but I’m not certain that Google started it; at no point did anyone hand one of the lateral-thinking How many piano tuners live in Uruguay?-type questions which that company recently, and famously, retired from its own interviews. I speak, rather, of the style where as soon as one interviewer leaves the room, the next interviewer arrives to erase all the last hour’s work from the whiteboard, hand you a fresh marker, and ask you to please implement Minesweeper’s empty-neighbor search algorithm in the language of your choice.
Of the four companies I’ve lately encountered who favor this sort of interview process, two I excused myself from when I sensed a poor fit well ahead of time (one was source of that amazing questionnaire), and two offered gauntlets I fought all the way through. One place was a major Boston-based tech company that employs several friends (to whom it offers juicy referral bonuses), the other a newer, quite successful and rapidly growing outfit whose representatives I first met a June conference. These two companies pushed me through six- and eight-hour-long interviews, respectively, starting with phone screens and ending with an in-person rotational-interview slugfest.
The latter company took an especially intense stance, with both phone screens and all but one of its six in-person interviews mainly comprising technical drills, sandwiched between each pair of interviewers’ opening pleasantries and a closing “So, any questions for me?”. They also paid for round-trip travel to their New York office and a night at a nearby hotel, effectively taking up two days of my time, not counting the preliminary phone screens earlier in the month.
In both cases, I left the interviews feeling exhausted but successful, even elated. And in both cases, I was informed several days later that there would be no offer, with little explanation offered. When the first company’s recruiter wrote “I didn’t get specific feedback but I think it came down to technical depth”, I was surprised and confused. When the second company’s recruiter informed me “they didn’t think it was a good match” — and then ignored my request for a little more detail — I felt insulted and angry.
To be more accurate, after that second rejection, I initially panicked and despaired because this wasn’t going according to script at all. But this collapsed into a calm sulk in short order, and hardened from there into sureness that I had been wronged, and furthermore that I would be a damned fool to waste my time going through this process a third time, for anyone.
But that’s hardly a rational, justifiable position, by itself. I knew I wasn’t entitled to either job, of course. I could also expect that plenty of other qualified candidates competed for the same positions, and only one of us could win; gone are the days when an employer would shrug and just hire all the finalists anyway because, hey, we can always use more programmers, right? (The last time I had interviewed for a full-time position was post-9/11 but pre-Iraq War, and there was still a certain amount of dot-com goofiness in the air.)
I must also confront the fact of who, exactly, plays the common-denominator role in these exchanges. Perhaps I am, in fact, not technically suited for a full-time web software engineering position! But before I can work up a good head of impostor-syndrome steam, I remember that web software’s how I’ve made my living for the last 15 years, and I have in fact been doing just fine for myself. So that doesn’t seem like the most correct stance, either.
On further reflection, I’ve come to realize that I see some core assumptions behind this entire high-intensity-drill style of interview that don’t sit well with me. Today, were I to interview with your company, and it took this tack with me, I would assume at least one of the following to be true:
You assume I do not value my time. Or, more succinctly: You do not value my time. You invite me to a distant city to “meet the team”, then stick me in a room behind the supply closet and march your own engineers in to spend hours grilling me about cache invalidation. Then you shoo me home only to say “Alas no” and ignore my further emails. Even applying Hanlon’s Razor to this behavior and attributing the worst of it to poor organization or bad internal communication, I am left with the picture of a company that puts little value on its own employees’ time (much less that of those seeking to become employees).
And why would I want to work there?
You have either no respect for, or no understanding of, the value of my past work. I link to my GitHub repository from my hire-me page (and indeed from the sidebar of this blog) for a reason. Part of that reason is because the O’Reilly books I co-authored back in the aughts seem a bit long in the tooth these days, and it felt proper to link to more contemporary work. But beyond that, I do have an unbroken fifteen-year-old trail of salaried engineering, personal software and writing projects, and independent client work stretching behind me. I prominently feature the most notable of these on my own website, to which I link repeatedly from my various CV materials.
I gather and display all this evidence to show that not only am I not new at this, but that I’ve achieved a certain level of proven mastery, with effects visible as both source code and working implementations. And here I am, offering to apply that mastery for the benefit of your company. I accept your invitation to visit your office and meet its people, impressed at the work you do; I look forward to good conversation with smart people, and anticipate the negotiation that may follow.
And you have your employees stop their jobs so that they can sit behind the supply closet with me and quiz me for hours on regular expressions and sorting algorithms. One engineer asks if I know how to use CPAN.
What am I to make of this?
You take me for both an ingeniously manipulative liar and a self-destructive fool. I have heard “hey, people lie on their resumes all the time” as a defense. Very well: let us say that your company does acknowledge my list of alleged past work, but feels the need to verify that I have the skills I profess, via hours of rigorous drilling. Maybe that sounds perfectly reasonable.
But I want to turn this on its head: in order for me to actually have lied about all the accomplishments I claim, I wouldn’t have merely needed to fib about past job responsibilities and prevaricate about client work I’ve performed. I’d also have had to arrange to have my name attached to several technical publications, both digitally and in-print, and similarly claim false authorship to a number of open-source codebases and online services, whose genuine creators remain silent and ungooglable. If these things don’t actually belong to me, then I have somehow manipulated their true authors into signing them all over to me.
And then — according to the narrative you’re implying, here — having accomplished all this, my big payout involves landing a job for which I am entirely unqualified, and from which I’ll surely get fired from in short order once my incompetence comes to light. So not only am I a master manipulator, but I am also deeply foolish, or at least have some sort of professional self-destructive impulse.
Does your company really believe that the possibility that I might suffer from such a bizarre (and specific) set of sociopathies makes it worth the time and effort of so many people to put me through the double-phone-screen-and-whiteboard dance? (Versus, say, calling up one or two of my claimed clientele and asking about me?)
Under most circumstances, I would find any one of these three assumptions, stated to my face, laughable. If on the other hand I had invested a lot of care and attention into communicating with you, and this is how you chose to respond, yes, then I would instead feel insulted.
Your company must hold at least one of these assumptions to be true, if it would conduct interviews the way it does. According to your interviews, either my time is worthless, or my work means nothing to you, or you feel it realistically possible that I represent a truly singular breed of charismatic but self-destructive DSM-IV psychopaths.
And that is why I would never work for your company.
Next post: Plerd’s origins and contemporaries
Previous post: How I installed Oracle on my Mac
To share a response that links to this page from somewhere else on the web, paste its URL here.