Stories about Software


Deploying Guerrilla Tactics to Combat Stupid Tech Interviews

I’ve realized something about my situation.  I work for myself, building businesses and still, occasionally, consulting at times.  But of course that’s not news to me.  Nor is the fact that I’ve moved out to a quiet, remote place where I wear T-shirts exclusively, fish a lot, work when I feel like it from a room in my house, and often cook dinners over a fire in my backyard.  The realization came from marinating in that lifesyle for a while, and then noticing that I have absolutely no reason to pull any punches with my opinions.  No affiliations, no politics, no optics to manage.  So why not have some fun expressing those opinions, provocative or not, as DaedTech posts?

Today, I’d like to take on the subject of tech interviews.  Of course, talking about the deeply flawed hiring process isn’t new for this blog.  But I’m going to take it a step further by suggesting how we, as individuals, can try to fight back against Big Tech Interview.

The seed for this came from an idle internet clicking sequence that brought me to a blog.  The company to whom the blog belongs, Byte by Byte, offers the motto, “your one stop shop for acing your coding interview.”  Below that, it says, “master the coding interview game”  (emphasis mine).  It struck me then.  Yes, of course.  It really, truly is a game, and a stupid one at that.  But let me come back to the cottage industry of Princeton Review for tech companies later.

The History of the Job Interview

For this history, I’ll offer an excerpt from my book, Developer Hegemony, describing the history of the job interview in general.

In 1921, tired of hiring college graduates that didn’t know as much as he did, Thomas Edison made up a giant trivia questionnaire to administer to inbound applicants. According to Mental Floss, questions included “Who invented logarithms?” and “Why is cast iron called Pig Iron?” If you look at the sorts of questions that modern day tech companies seem to think they’re cute for asking, courtesy of cio.com, they include such profundities as “Why is the Earth round?” and “How much do you charge to wash every window in Seattle?” If you mixed Edison’s and tech companies’ questions together, you’d be hard pressed to tell the difference.

To summarize, almost 100 years ago, an aging, eccentric, and incredibly brilliant inventor decided one day that he didn’t like hiring kids that weren’t his equals in knowledge. He devised a scheme off the cuff to indulge his preference and we’re still doing that exact thing about a century later. But was it at least effective in Edison’s day? Evidently not. According to the Albert Einstein archives, Albert Einstein would not have made the cut. So the biggest, trendiest, most forward thinking tech companies are using a scheme that was dreamed up on a whim and was dead on arrival in terms of effectiveness.

But surely it’s evolved somehow. Right? Well, no, at least not in any meaningful way. In this piece from Business Insider about the “evolution” of the job interview, we can see that what’s actually changed is the media for asking dumb trivia questions. In Edison’s day, interviewers had to get cute face to face. Now they can do it over the phone, through a computer screen or even via a mobile app. Who knows what the future will hold for the job interview; they may be able to beam the stupid directly into your cerebral cortex!

Google Looks Critically at Tech Interviews

In the book, I cover a lot more ground than I can or will here.  I lay out a case for how uniquely pernicious this interview process is for tech.  It artificially depresses software developers’ wages and manufactures job scarcity in a market where demand for our labor is absolutely incredible.  But let’s seize on a different point for this particular post.

I have specific styles of modern tech interviews in my sights as worse than others.  Specifically, the whiteboard interview, the trivia/brain-teaser interview, and the “Knuth Fanatic,” algorithm-obsessed interview.  These serve mainly to make the interviewer feel smart, rather than to reveal anything about candidates.  But don’t take it from me.  Laszlo Bock, former head of Google HR, said this:

On the hiring side, we found that brainteasers are a complete waste of time. How many golf balls can you fit into an airplane? How many gas stations in Manhattan? A complete waste of time. They don’t predict anything. They serve primarily to make the interviewer feel smart.

And also this:

Years ago, we did a study to determine whether anyone at Google is particularly good at hiring. We looked at tens of thousands of interviews, and everyone who had done the interviews and what they scored the candidate, and how that person ultimately performed in their job. We found zero relationship. It’s a complete random mess.

Tech Interviews Were Useless and Remain That Way

My hat’s off to Google, first of all, for taking a critical look.  In researching the job interview for my book, Google stood out as at least questioning the process.  They gathered data from interviews and eventual job performance, and adapted a bit, coming to favor the so-called “structured interview.”  Bock spoke to its “genius” in an op-ed.

The best predictor of how someone will perform in a job is a work sample test (29 percent). This entails giving candidates a sample piece of work, similar to that which they would do in the job, and assessing their performance at it.

So unless your job involves answering trivia questions, white-boarding pseudo-code, or re-inventing the wheel of list-sorting libraries, that leaves the interview styles I’m talking about out in the cold.  Recall that I earlier emphasized that it’s entirely appropriate to call these interview styles a game.  They are, in accordance with the dictionary definition, “an amusement or pastime” and not something with material benefit.

But let’s take the best thing we have so far — the work sample test.  It “explains 29% of performance” for hires.  You get better odds than that in pretty much any game you play in a casino.  So for all of the introspection and Google’s game attempt to stamp out unstructured interviews and trivia questions, the best isn’t very good.  It only slightly beats asking people for their SAT scores, which would be a better strategy, since you wouldn’t need to waste so much time, effort and money interviewing people.

Resignation to Stupid Process

So far, none of this really bothers me.  Figuring out who to hire to salaried positions is a form of trying to predict the future, and people are bad at that.  What bothers me is the blase attitude regarding the inevitability of this farce.

Silicon Valley companies and tech giants, in particular, are famous for ‘exacting’ interview processes and making job supplicants jump through hoops.  They’re also famous for their hashtag-disruption.  Uber is disrupting the transportation industry.  Tesla is disrupting the auto industry.  But none of them can be bothered to disrupt their own reliance on a completely useless, 100-year old scheme for finding talent?  Really!?  Riddle me that one, trivia emcees.

Let’s take a look now at what happens instead.  In response to this post, a software engineer at Google commented, and, among other things, had this to say about their interview format.  “The format sucks, sure.”  Byte by byte’s blog talks about preparing for these interviews.  “It sucks.”  Here’s another blog post about mistakes people make in technical interviews. “You may be an exceptional practical programmer, but if your command of [data structures and algorithms] is lacking, you’re unlikely to get the job that you want.  Yes, this sucks, but that’s reality.”

So the bleeding edge of the tech industry’s take on its own process can mainly be summarized by the word “sucks.”  As in, “yeah, our methodology sucks, but what can you really do but keep investing in it?”  Hashtag disruption.

Birth of a Cottage Industry: Prepping for Tech Interviews

Remember how earlier I mentioned the Princeton Review?  For those not familiar, this is an expensive service that helps college-bound high school students prepare for standardized tests that determine college admittance.  There’s a certain sort of irony to this.  Standardized tests are meant to evaluate academic ability on a level-playing field.  Prep courses help you de-level that playing field in your favor — they’re aimed to let you game the system.  There’s that word again — game.  Huh.

To recap the state of this post so far, the biggest, most high demand, most cutting edge employers in the tech world have a process for hiring people.  There’s a lot of debate and rancor around the process, but the only thing that all participants can agree on is that it “sucks” and that it’s unavoidable.  So what do you suppose happens next?

An entire industry emerges to help you game the system, ala the Princeton review.  Best-selling books offer cheat codes to the game.  An explosion of sites lets you practice your game play.  In a weird form of inception, some sites gamify the preparation for the game.  I’m reminded of the old witticism about consulting.  “If you’re not part of the solution, there’s a lot of money to be made in prolonging the problem.”

Juggling, Unicycles and Stilts

It’s tragicomic.  And we’re boiled frogs as we participate.  This process with at best a 29% effectiveness rate has become so ingrained in our industry that we can’t see it for what it really is.  To help with that, let me paint a picture of this process and the cottage industry.

Say we tossed the job interview out on its ear.  Instead, we invite candidates in and see how well they juggle, ride unicycles, and walk on stilts.  Makes sense, right?  Don’t you want to know how nimble someone is, and how they perform under pressure?  And, hey, it’s just the way we do things.  If you don’t care enough to practice your juggling and stilting, you don’t really care about working here.

An objective observer might say, “gosh, that seems kind of, ya know, stupid.  There’s nothing to demonstrate that carnival ability predicts performance well, and we should stop checking for it.”  Ah, how naive you are.  We don’t need a critical examination of better ways to hire than juggling balls, unicycles, and stilts.  No, we need a whole cottage industry of training in these circus arts.  That should obviously include books to help people do it and other books to help people judge it.  We need how-to sites and Youtube channels featuring carnival performers.  And we need bootcamps and communities of practice around this stuff!

Only then will we be prepared to write the software of tomorrow.  Hashtag disruption.

{Sad facepalm}

What’s a Workaday Programmer to Do?

In my posts on the subject and in my book, I’ve offered fairly simplistic advice.  I once offered an example “candidate description” to which I’d direct recruiters interested in my services.  That page includes this line.

For interviews, no brain-teaser-oriented interviews or algorithm-centric interviews (see “The Riddler” and the “Knuth Fanatic” from this excellent video about interviewing anti-patterns).  I strongly prefer code reviews and evaluation of my public code samples and am just not interested in discussing why manhole covers are round or in reliving college coursework from 15 years ago.

In other words, I’d say up front that I won’t deal with companies that interview this way because I think it reflects poorly on them.  I advise others to do the same.  I consult with companies desperate to hire programmers and I can tell you that there are a LOT of fish in the sea.  Programmers need companies way less than companies need programmers.

But it strikes me that my advice is unlikely to move the needle.  In the first place, I have no interest in interviewing anywhere or doing salaried jobs.  I’m in the fortunate position of running my own businesses and largely building software only because I find it enjoyable.  My livelihood does not depend on it.  So me telling people to avoid companies with silly interview processes won’t do much.

And frankly, folks far more famous than me saying it probably won’t change the game, even as I cheer them on.

I mean, these Silicon Valley tech giants literally colluded to depress our wages, and we still keep prostrating ourselves before them as supplicant laborers.  In the face of that, I doubt the indignity of a trivia quiz or pseudo-coding CS 451 algorithms on a whiteboard will change things.

So I’d like to throw some things out there to try.  I’ll probably follow this post with one a little more trend and policy oriented at some point.  But today, I’m going to have fun with some suggestions.

Messaging with Recruiters

I’ll restate my advice not to interview with companies that have processes like this.  But try doing so in a way that frames the message differently.  Here’s an email exchange.

Recruiter:  Hi, I’m from Gigantech Inc, and we want to invite you for an initial phone screen!

You:  Hi there.  Sounds great!  Just one question: do you do whiteboard interviews, trivia, or algorithm riddles?

Recruiter: Yes, we do.  That’s part of our standard process, which is as follows…

You:  Ah, I see.  Thanks for the clarification.  I’m afraid that your company isn’t a great fit for me at this time.  But if you wind up brushing up on your interviewing process and making improvements, feel free to reach out to me again for consideration.

Do you know what happens next?  The recruiter takes your email and shows it to people at the company, saying “can you believe the chutzpah!?”  Or maybe they post it somewhere and it goes viral.  In either case, good.  You may burn a bridge, but you’ll definitely be memorable.  And don’t most vanilla interview advice pieces advise you to make yourself memorable?

And, seriously, aren’t interviews supposed to be you interviewing them, as well?

Turnabout is Fair Play, Phone Screener!

Speaking of interviewing them, why not do exactly that?  Do the phone screen.  At the end, when they ask if you have any questions for them, you can say, “I sure do!”  Ask them about what it’s like to work there and what makes people successful and whatever.  But also ask this.

Say I have two strings.  I want to find the longest common sub-sequence in those two strings.  Can you work through how you’d go about implementing this and make sure to think out loud?  I want to hear how you approach a problem.  It’s okay to iterate toward the best case runtime in terms of your solution, but you should at least know O, omega and theta off the top.

I’m guessing the interviewer will almost certainly get indignant.  Maintain your cool, and say, “I understand if you don’t want to do this, but my process is my process and it’s important to me that applicants for my services demonstrate this ability.  If you change your mind and feel like brushing up on your dynamic programming, please feel free to reach back out.”  If they gamely try to walk through it, patiently hear them out and tell them that you’ll examine your notes and let them know how they did.

Of course, if they nail it off the cuff, they’ll pretty much drink your milkshake.  I’d just laugh and tip my cap to them at that point.

Ace It, Then Turn it Down

One of the most common counters you’ll hear from anyone crying foul on the traditional interview is, “you’re just bitter.”  Well, you can nip that in the bud.  Go through one or more of these interview processes all the way to job offer.  Then turn it down.

In and of itself, that has almost no effect.  But you’ll turn it down explicitly with the rationale that you don’t believe in this style of interview.  Then post the whole thing to your blog or to Medium or wherever, scanned offer letters and everything.  You will absolutely rocket to the top of sites like Hacker News, spark a ton of discussion, and have at least 15 minutes of fame.  This will give you a bully pulpit of sorts.

Take Your Business Elsewhere

As I mentioned before, I’ve made my case that we should stop interviewing at places with silly process.  It’s a conceptual form of boycott.  But if the aforementioned wage depression scheme doesn’t stop grist flowing into the mill, my opinion certainly won’t.

So vote with your wallet in a different way.  Following DHH’s tweet above, someone created a list of companies that don’t do whiteboard interviews.  By all means prioritize interviewing at places that follow the least bad, “let’s simulate your job” model.  But why not also prioritize buying from those companies?  If you have to choose between DumbInterviewGiganticorp and ReasonableCorp, and it’s mostly equal, choose the latter.

We all have to earn a living, and so we all get locked into our tools to some extent.  But if you think of it, do a little research.  If you’re debating among tools or platforms, why not favor the one with a dignified hiring process?

Do Some Research, Promote What Works

Finally, you can try to add a little disruption where Big Tech Interview, Silicon Valley, and the rest of ’em can’t seem to.  Do some research into successful developers and work backward to see what they have in common.  Brainstorm different ways to identify talent and to collaborate.  And, when you have successes, document what you do!  Share it and tout it.

For instance, do you know what I have a lot of luck with when it comes to subcontracting work?  Do you know what I do instead of interviewing people?  I explain what I need and ask the “interviewee” if they think they’re the right person for the job.  If they say they are, I give them some work.  If not, then maybe next time.  Seriously, I do this.  And, do you know how many times I’ve been burned by it?  Never.

The job interview is sort of like the US domestic policy of the so-called “war on drugs.”  It’s never actually worked, but those in charge keep doubling down on it anyway.  What would work better?  I don’t know exactly, but since it doesn’t work, you might as well stop spending money and time on it and take it from there.

Ask people if they can do the work, listen to their answer, and conceive of an evaluation period?  It’s not as practical as asking them why manhole covers are round, but who knows, it may just be crazy enough to work!

Caveats and Final Thoughts

I’ll conclude with some caveats.  For regular readers of this blog and my book, my position will not come as a surprise.  But I’d like to address those of you wandering over here through organic search or social share.

First, is this all just sour grapes on my part?  Who am I, anyway?  Well, I have BS and MS degrees in computer science from well regarded institutions (Carnegie Mellon, and UIUC, respectively).  So I’m no stranger to algorithms and data structures.  This educational pedigree has prompted Big Tech Interview orgs to reach out to me a good bit over the years, since they used to boast that they’d only recruit from “top 5” universities.

My Big Tech Interview Experience

I did an interview with Google once, and that’s the sum total of my experience with these interviews.  This was probably 7 or 8 years ago.  They reached out to me about some senior developer position.  A bit star struck, I agreed.

I didn’t prepare for the interview because I didn’t know that was a thing.  Perhaps naively, I just assumed interviews were meant to assess your professional abilities rather than your midterm cramming abilities.  I prepared to talk about my experience as a tech lead, architectural decision-making, and design patterns.  Instead, a guy started asking me questions about binary trees or something, and I didn’t luck into having just studied that algorithm in grad school.

I actually thought they’d mixed me up with an entry level candidate, and double checked that they had the right resume.  They did. Needless to say, I didn’t get a callback.

The Follow Up and Denouement

A few years later, a recruiter from Google contacted me again.  He’d seen something I’d done, which prompted individual outreach about working on Android.  He also said that they’d done some internal soul-searching and were now advising people on how to prep for their interviews, since they’d caught people off guard in the past.  I was (and remain) impressed by that.

But, the process was the process.  I told them that I’d need time to prepare before scheduling the interview.  Now, at this time I was in management, and I’d started consulting and making Pluralsight videos on the side.  Free time was at a premium.  After a month, he called me back, and I put him off another month.  I meant to make a Pluralsight course out of my prep so it wasn’t a waste.  That never materialized, so I eventually told him thanks but no thanks.

Since then, I’ve gone off on my own, establishing a successful consulting practice.  Once I did that, the idea of interviewing for individual contributor W2 jobs became absurd to me, and, eventually, I got to the place where any such job would represent a significant pay cut besides.  I now have a lifestyle of which I’m very fond, running my own businesses, fishing, and cooking dinner over a fire.

So is this sour grapes or bitterness?  Not at all.  At least not for or about myself.

So, Why Bang This Drum?

If I’m not expressing bitterness on my own behalf, you might wonder what gives.  What’s it to me how companies choose to hire, and, if I’m so critical, what better ideas do I have?

Well, as for why I care, that has to do with friends, colleagues, and readers that are developers.  These interview carnival games drive me nuts because they depress our collective wages and cast developers as serial subordinates within organizations.  The layer of gleeful administrators of these types of interviewing techies are what I call journeyman idealists, and they spend their entire careers in the diminishing marginal return zone for programming skills.   Cast by the organization’s opportunists as useful idiots, they make hiring on as a junior developer harder than hiring on as a director or executive, and they delude you into believing you’re lucky to have a job.

And that annoys me a great deal on behalf of everyone in our profession.  As for what I’ve done about it?  Well, I did write a whole book about this exact thing.  And I do put my money where my mouth is, never using interviews to bring on help with my businesses.

And with that, I’ve said my piece.  I encourage you to go out and register your protest to stupid interviews with the tactics I’ve mentioned here.  Or, think of your own and share them in the comments.  But let’s come together and leverage the considerable intellect in our industry to figure out how to get better at collaboration instead of to nitpick one another in a race to the bottom of the salary pool.

And, by the way…

If you like the wisdom here, such as it is, you can get a whole lot of that more in my recently released book, Developer Hegemony.  If you want a sample of that, you can sign up to download some chapters below.

Want more content like this?

Sign up for my mailing list, and get about 10 posts' worth of content, excerpted from my latest book as a PDF. (Don't worry about signing up again -- the list is smart enough to keep each email only once.)

Newest Most Voted
Inline Feedbacks
View all comments
Carlos Schults
6 years ago

Great post, Erik. I’m on my second read of “Developer Hegemony” right now and this interview madness continues to amaze me.

I really like your analogy about the construction worker that it’s expected to know pool building to get the job, even though it’s totally unnecessary, just because the idealist hiring manager has read somewhere that that’s what big companies value.

It’s interesting that, in some software development circles, that’s a lot of talking about cargo-cult programming, but not enough about cargo-cult hiring or cargo-cult management practices.

Thanks for stepping up and doing something to fight this nonsense.

HotRod McPlunder
HotRod McPlunder
6 years ago

Take the gloves off!

6 years ago

During interviews I’ve done in the past, I sat next to the candidate and posed a somewhat neutral design problem – a quoting and booking system for a fictional shipping company. From there, I asked them to give a high level design. We worked on it together. I wanted to see a few things about their thought process and tendency to collaborate/ask questions. These skills were more important in the position than bubble sorts – which we certainly never wrote. Of course this was my own tactic and not a strategy dictated by the organization. What’s really needed is some… Read more »

6 years ago
Reply to  Erik Dietrich

The constraint idea is great! The best innovation comes out under constraints.


[…] often write about how stupid the interview process is at big tech companies.  When interviewing potential Jills, Google (and any company like it) is looking to separate that […]