{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "@id": "https://www.vidyasource.com/blog/why-coding-interviews-are-the-worst/",
  "url": "https://www.vidyasource.com/blog/why-coding-interviews-are-the-worst/",
  "mainEntityOfPage": "https://www.vidyasource.com/blog/why-coding-interviews-are-the-worst/",
  "headline": "Why Coding Interviews are the Worst",
  "description": "Coding interviews are the worst not only for candidates but also for your business. Here's what you should do instead.",
  "datePublished": "2022-08-05T00:00:00.000Z",
  "author": {
    "@type": "Person",
    "name": "Neil Chaudhuri",
    "jobTitle": "President",
    "url": "https://www.linkedin.com/in/neil-chaudhuri/",
    "sameAs": "https://www.linkedin.com/in/neil-chaudhuri/"
  },
  "publisher": {
    "@id": "https://www.vidyasource.com/#organization"
  },
  "image": "https://www.vidyasource.com/img/blog/the-worst.png",
  "keywords": [
    "Diversity",
    "Programming",
    "Software Engineering",
    "Open source"
  ],
  "articleBody": "Tech interviews are broken. Much like with vegan cheese, we all agree there is a problem, but we all differ on how to fix it. How did we get here?\n\nOver the last several decades as tech became a dominant industry, the new personalities that became very rich\nvery fast also became very [Gavin Belson from Silicon Valley](https://silicon-valley.fandom.com/wiki/Gavin_Belson)—supremely convinced of their own outside-the-box cleverness\nnot only at producing revolutionary technology but also at revolutionizing the way it's built. The media decided this was the\nbeginning of a new era where the novel approaches tech companies took to everything should be a model for everyone else. Remember when open floor plans\nwith foosball tables and Keurigs were the key to unleashing workplace productivity restrained too long by dehumanizing cubicles? After enough writeups\nin even mainstream outlets like [CBS News](https://www.cbsnews.com/news/ditch-the-cubicles-for-better-collaboration/), everyone\nwas doing it.\n\nBut we ended up just using headphones to fashion our own mental cubicles so we could work in some kind of awkward peace—[particularly awkward\nfor women](https://www.inc.com/betsy-mikel/new-study-open-offices-are-terrible-for-women.html), people of color, introverts, and many others.\n\nA similar thing happened with tech interviews. After all, boring accounting firms ask about your resume, but not us! The media were awestruck at\nprofound interview questions like \"*Why are manhole covers round?*\" or \"*How would you calculate the number of cars passing through a busy bridge?*\"\nor the famous Elon Musk riddle \"*You’re standing on the surface of the Earth. You walk one mile south, one mile west, and one mile north. You end up exactly where you started. Where are you?*\"\n\nThis is all about getting deeper than any traditional interview could, you see, to reveal how candidates think!\n\nYeah, OK.\n\n## Coding interviews are the worst. How do we know?\n\nWhile the more absurd questions have lost some luster, one relic of our unconventional interview style that endures is the\ncoding interview. You know it. A panel of dudes all vaguely reminiscent of [Howard](https://bigbangtheory.fandom.com/wiki/Howard_Wolowitz) from *The Big Bang Theory* asks candidates\nto go to the whiteboard or a laptop broadcasting to a screen and write code for something they've probably never seen (by design).\nIt could be implementing a doubly-linked list or merge sort or a function that determines if a\nstring is a palindrome. It could be performing a breadth-first search or converting a loop into a recursive function. And on and on.\n\nThis is a problem—not only for job candidates but also for the companies considering them. It's an especially acute problem now with the shortage of software\nengineers and the popularity of remote work particularly in the aftermath of a global pandemic. Then there is all the uncertainty. Uncertainty tech companies\nfeel in an era of inflation and [evolving economic fundamentals](https://www.thestar.com/business/2022/07/26/i-got-this-wrong-shopify-ceo-announces-plan-to-layoff-10-per-cent-of-staff.html)\nand uncertainty candidates feel in an era of layoffs and evolving personal responsibilities and professional goals.\n\n### Coding interviews solve for the Computer Science Department valedictorian or the most short term knowledge. Not the best long term culture fit\n\nThe biggest technical problem with coding interviews is the disconnect between what they measure and what actually adds value to the business.\nFor 99% of you, hiring someone who understands Kruskal’s algorithm for finding a minimum spanning tree isn't relevant to\nmaking your UI accessible, scaling in the cloud, improving your engineering practices, or driving revenue.\n\nEven if you do better than silly college computer science questions and focus on the tech you use today, you focus on the wrong thing. It isn't what candidates\nknow; it's how much they can learn. If you're a React shop, it's impressive if a candidate understands how `useEffect` is about\n[syncing UI with state](https://www.vidyasource.com/blog/dark-mode-nextjs-tailwindcss-react-hooks/) rather than a new spin on `componentDidMount`, but what if you decide to move to [Solid](https://www.solidjs.com/)? Or what if\nan important new initiative demands a different set of skills entirely and you don't have the resources to hire a subject-matter expert right away?\n\nInstead, you want to hire engineers who fit with your culture and make their teams better with hard and soft skills. They do this in many ways.\nThey learn quickly because they think in abstractions so they can translate prior knowledge into new skills that serve their professional growth and your bottom line. They\naren't afraid to experiment and fail in order to learn new things. They listen. They are eager to help.\nThey are patient and kind. They manage their time well. They can communicate with customers. They care about good code and write good documentation.\nTheir teammates trust them to support them and to assume leadership when the moment calls for it.\n\nYour business needs [Vision](https://marvelcinematicuniverse.fandom.com/wiki/Vision). Coding interviews at best get you [Ultron](https://marvelcinematicuniverse.fandom.com/wiki/Ultron).\n\n### Coding interviews further exclude systematically excluded communities\n\nI am a passionate advocate for diversity in tech. Prejudice against anyone on the basis of race, gender, ethnicity,\nnationality, religion, orientation, ability, or even academic background not only limits our individual growth but also\nlimits the creative energy necessary to develop the best software. Sadly, there are countless institutional barriers to diversity\nin tech, and coding interviews are one of them.\n\nDon't believe me? Check out this [study by North Carolina State University and Microsoft](https://news.ncsu.edu/2020/07/tech-job-interviews-anxiety/):\n\n> But the format may also serve as a barrier to entire classes of candidates. For example, in our study, all of the women who took the public interview failed, while all of the women who took the private interview passed. Our study was limited, and a larger sample size would be needed to draw firm conclusions, but the idea that the very design of the interview process may effectively exclude an entire class of job candidates is troubling.\n\nMuch as society writ large is convinced [DNA evidence](https://www.youtube.com/watch?v=ScmJvmzDcG0) and [AI](https://www.theguardian.com/technology/2016/mar/24/tay-microsofts-ai-chatbot-gets-a-crash-course-in-racism-from-twitter)\nare \"objective,\" tech is at best convinced coding interviews are also free from bias or at worst happy to capitalize on their bias. Bias in coding interviews\ncould be favoritism, intentional or otherwise, reflected in choice of coding problem or leniency in evaluation. They are also\nbiased against realistic forms of working. In real life, we don't have people staring at us to scrutinize our work and\nmannerisms as we type. We have access to Google, Stack Overflow, GitHub Copilot, and other resources. The discomfort produced by contrived awkwardness in coding interviews hurts\notherwise talented candidates—particularly those in communities already systematically excluded in tech like the women in the study.\n\nBut that's one study you say. OK, but consider anecdotal evidence from elite engineers. [Jenn Creighton](https://twitter.com/gurlcode),\nsenior engineer at Netflix on the NodeJS team and host of the [single-threaded podcast](https://twitter.com/single_threaded) exposed the problem on\nher premier episode with her guest [Erin Fox](https://twitter.com/erinfoox). Senior engineer, Apple whistleblower, and activist [Cher Scarlett](https://twitter.com/cherthedev) described\nher own experience a few years ago:\n\n> not work, and wasn&#39;t what they were looking for. These same two pieces of code are now written about by two other individuals as best practice solutions to these problems. Do you think this coding interview was about code? No, it was an ego battle I&#39;d never be allowed to win.&mdash; Cher Scarlett (@cherthedev) [May 22, 2018](https://twitter.com/cherthedev/status/998914080177115136?ref_src=twsrc%5Etfw)\n\nOf course if things can get so bad for cis white women in tech that coding interviews become a vanity exercise at their expense, just\nimagine how much worse it must be for women of color, trans people, anuerotypical people, even people who learned tech at boot camps\ninstead of MIT or have degrees in psychology. And so many others.\n\nLet's use the interview process to welcome as many people as possible into tech because the challenges that lie ahead are too great to leave anyone behind.\n\n### Coding interviews are the basis for an entire cottage industry dedicated to help candidates \"ace\" them\n\nPrecisely because coding interviews are so divorced from the reality of our lives as software engineers, job candidates need time to prepare for the experience.\nIt takes time to build composure as people stare at you at the front of the room or judge every keystroke.\nIt takes time to remember, or learn for the first time, fundamental concepts of computer science or low-level implementation\ndetails typically abstracted from you by frameworks and open-source libraries. It takes time to memorize it all because you may not\nbe allowed access to the resources you normally have at your disposal.\n\nEveryone knows it, so a cottage industry has emerged to get candidates through it. There are literally hundreds of books and online courses\npromising to help them \"ace\" the tech interview and get that prestigious, high-paying job so you can get that Cybertruck because you\nfind its ugliness endearing.\n\nThis is costly. At best, it takes time away from personal life. At worst, it costs serious dollars. Either way, this is another way coding\ninterviews serve as a gatekeeper excluding communities from tech—software engineers who can't afford the costs of interview prep.\n\n## What's the alternative?\n\nCoding interviews are bad for the business and bad for the candidate. Instead, you should conduct interviews that are\ninclusive, find the best long term fit for your business, and convey the joy of solving problems there.\n\nMake the interview a conversation. Share your business goals and details about your mission, the role you're hiring for, your expectations technically\nand culturally, and your values as an organization. Then consider questions like these.\n\n### \"What are some examples of problems you solved at work? Take me through how you solved them.\"\n\nThis question helps you understand the experiences candidates have had on the job. It helps you evaluate how these experiences\napply to your business and, more importantly, how your candidates approach challenges. Feel free to explore the topic in depth\nand follow threads of conversation as candidates raise points you find particularly interesting. You don't have to be [Oprah](https://www.youtube.com/watch?v=w-gkAM0XZMU), but there\nis an art to navigating a conversation to elicit more information. You will get a good sense of candidates' technical knowledge, their creativity,\nand their ability to gain new knowledge.\n\nAfter all, game recognizes game.\n\n### \"Can you describe a situation at work where you were particularly proud of what you accomplished?\"\n\nThis question helps lighten the mood and brings positivity into an otherwise tense process. It gives candidates a chance to brag a little\nbut in a way that lends value to you. You can glean if your own business offers the kinds\nof opportunities for joy the candidates want to experience, and you can again get some detail into their experience, expertise,\nand potential for growth.\n\n### \"It's common to have differences of opinion on a team on how to solve problems. How have you worked through those?\"\n\nThis question addresses the reality of working on a team and the likelihood of a culture fit. Anyone who spends about three minutes on\nTech Twitter knows we like to argue—often about the most trivial, self-serving things. Candidates have certainly had their share of\ndisagreements at work, and it's important to understand how constructively they handle them and if their solutions\nfit with your company culture. You will also get a sense of what candidates think is important—tech or otherwise. The question is\nif your value system is compatible with theirs.\n\n### \"If you had full control of the architecture and engineering of your current code base, what would you change about the code or the process?\"\n\nThis question again helps you learn about a candidate's expertise and room for growth but from a different angle. We all have\nregrets about technical debt, yearnings for different approaches, and other aspects of the product and process that stick in\nour craw. Give candidates a chance to vent. In the process, you will learn about what candidates value, their knowledge of the engineering and product\ndelivery landscapes, the direction they want to go, and their tact with constructive criticism. Does their vision comport with yours for your business?\n\n### \"What kinds of support do you need to do your best work?\"\n\nThis question addresses *your* responsibility to your people to achieve the goals of the business and the support that candidates can expect if they join. You might\nhave an issue with this question because it implicitly undermines conventional wisdom that the best engineers do their best work\nof their own accord if they have \"passion\" for tech implied by a robust GitHub presence, lots of side projects, eagerness to work\nweekends, etc.\n\nNope.\n\nFor reasons why the responsibility is yours to provide \"flow state\" rather than candidates' responsibility to have passion, read\n[this excellent post by Sarah Drasner](https://leaddev.com/culture-engagement-motivation/why-flow-matters-more-passion),\nDirector of Engineering, Core Developer Web at Google.\n\nThe best engineering managers understand how to create flow state. Even if candidates are unfamiliar with management theory,\nthis question informs them that you have their best interests at heart and recognize your own responsibility in making them successful.\nYou can also evaluate whether their answers are aligned with your business values.\n\n### \"Do you have any questions for us?\"\n\nHopefully you are asking this question anyway regardless of whether coding interviews are part of your hiring process. Give\ncandidates a chance to ask you about the things that matter to them as they ponder making the considerable, potentially life-changing\ncommitment to your business. They should direct this part of the conversation. Expect questions about titles, commitment to and evidence\nof diversity, opportunities for advancement, remote work and tooling, and other aspects of business process and company culture.\n\nBe careful though not to interpret the absence of questions as apathy or really anything negative. This is their time, and if they\ndon't need it, you shouldn't let that influence your decision one way or another.\n\n> As an aside, prefer diverse panels of interviewers. Also pay attention to the demeanor of candidates. Any toxic behavior like arrogance, abruptness, or something particularly awful like refusing to acknowledge female interviewers should make your decision easy.\n\n## But OK, if you must do coding interviews...\n\nLet's face it. Many of you will never accept that coding interviews are the worst. The idea is simply too entrenched in tech.\nYou're convinced instant recall of computer science fundamentals is critical for bringing value to your business. Besides, tech\nis full of imposters! You must expose them with cleverly chosen coding exercises they have never seen lest they compromise your business\nwith their duplicity.\n\nThere is no evidence any of that is true, but it sure [feels true in your gut](https://www.c-span.org/video/?c4293026/user-clip-stephen-colbert-truthiness).\nThe funny thing is there are actually a lot of job candidates who also think it's true. They see coding interviews as\na perfectly reasonable expectation and happily, if often nervously, prepare accordingly.\n\nFine. If you must, at least adapt your coding interviews like this:\n\n* Offer candidates the option either to live code or to do a short, paid(!) project to do at home.\n* Have them solve a real but non-critical and non-sensitive problem you have at work.\n* If it's a live coding exercise, collaborate with candidates rather than sit back and watch, and give them access to resources like AI.\n\nWe have a lot of important work ahead of us as an industry. I hope you consider the lessons I've learned to help your business\ngrow to meet the challenges ahead."
}