TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The Rise and Looming Fall of the Engineering Whiteboard Interview

49 pointsby rvivekabout 10 years ago

23 comments

phuffabout 10 years ago
&quot;Back in the ‘60s and ‘70s, when microcomputers like the Apple II were all the rage, computer time was expensive, pressure-packed and cumbersome.&quot;<p>Does no one fact check anything anymore? If you&#x27;re going to base part of your argument around technology that was around before you were born maybe do a little more research? And also... get off my lawn? Am I really that old?
评论 #9490065 未加载
评论 #9491625 未加载
评论 #9490116 未加载
joesmoabout 10 years ago
The worst part of the whiteboard in my opinion is not that it&#x27;s a poor tool for the job, which it is, but that it adds both unnecessary social pressure and the need to constantly explain what&#x27;s going on (presumably because the interviewers are bored so for their amusement) while simultaneously trying to think, write, and edit out a solution. The fact that you can&#x27;t run or even edit code very efficiently on a whiteboard (or paper) alone makes it a terrible tool to judge anything about a candidate, but combined, the two make the whole exercise pointless and quite frustrating for the interviewee.
cpprototypesabout 10 years ago
The whiteboard is actually not the main problem, it&#x27;s the other things that often come with whiteboard coding. The main problem is that these type of interviews expect you to master the skill of talking, thinking, and coding simultaneously. The reason given is to &quot;see how you think&quot; but there&#x27;s no reason this must be in real-time, questions could be asked after allowing the candidate some quiet privacy to work on a solution. To illustrate the main issue, replace the whiteboard with a computer connected to a projector instead. The main issue is still there. A group of engineers silently sitting there, judging, watching every move, and expecting you to keep talking while thinking and coding. This is NOT how programmers work. Most programmers sit down, think about a problem silently, then try out a few quick code snippets to explore the problem, then create a design, and then begin coding.<p>It would be a huge improvement if companies just gave the candidate a problem, left the room, and came back an hour later. Then they can discuss the solution, ask questions about the code, etc. The key thing is, let them do some quiet alone thinking instead of having to worry about someone watching every move and expecting constant talking.
评论 #9491294 未加载
yodsanklaiabout 10 years ago
I don&#x27;t see why the whiteboard is so unpopular here. Isn&#x27;t it a good way to see how people are able to discuss solutions and share ideas with their colleagues?<p>The way I see it, one could start to find a solution on the whiteboard, possibly with some help from the interviewer. And next stage is writing the actual code, which can be done easily on the whiteboard if it&#x27;s a short program.
评论 #9491230 未加载
rqebmmabout 10 years ago
There&#x27;s no bad interview question, but there are certainly bad interview _processes_. We use a whiteboard session as the last step in the technical interview, and we&#x27;re really not looking for someone to write functioning code, we&#x27;re looking for the candidate&#x27;s thought process as they lay out a design for a simple OO program.<p>For the type of programming I&#x27;m involved in hiring (iOS&#x2F;Android) it&#x27;s silly to expect someone not to lean on frameworks&#x2F;IDEs. It&#x27;s also unrealistic to expect that every single candidate has a laptop fully set up with their preferred environment. That&#x27;s what take-home questions are for.
评论 #9489963 未加载
apiabout 10 years ago
I&#x27;ve been programming since I was four. Was doing 6502 machine code at eight or nine. I know over ten languages pretty fluently, and have done everything from high level web and desktop stuff to bare metal kernel hacking.<p>I can&#x27;t code on a white board to save my life. It all just falls out of my head.<p>I&#x27;ve heard others say the same thing, so I suspect I&#x27;m not at all unique here.
drawkboxabout 10 years ago
The whiteboard interview attempts to be used as a way to figure out a developers thought flow, however it is a flawed system....<p>Many programmers are introverted and not always the best at speaking in front of people they just met, most people aren&#x27;t.<p>The skill the whiteboard is checking is not the skill that will be used on the job, it is overly focused on an extroverted personality and how well this developer can present to new people. An introverted developer might mess up in an interview but be making the best designs, products and presentations to the team later when the team is known.<p>The true test is in the trenches and no test in an interview by a select few people in the company can ever tell product delivery and developer skill, the interview steps are just some litmus tests. Companies want the best and brightest but many are getting cut off at the pass from a whiteboard. Is the interview really where we determine who is the best, not the work? What costs more, losing a good developer to an interview process or letting someone in you determine isn&#x27;t a good fit 1-2 months in on a small project.
评论 #9491353 未加载
m3talridl3yabout 10 years ago
Just like many programmers fail at FizzBuzz, many interviewers have no business conducting interviews. Also remember that these practices will continue until someone educates them. So, the next time you&#x27;re given 45 minutes to code up a radix sort in a whiteboard, instead start a discussion about interview techniques. The socratic method goes a long way to making people realize just how much they are cargo culting.
mathrawkaabout 10 years ago
When I hire someone this is my script:<p>#1 I introduce myself and what the project(s) entail and how things get done.<p>#2 I ask them some questions about their experiences, and ask them to tell me a story about some past memorable experience.<p>#3 I ask them to do a simple coding exercise (5 - 10 mins tops). If they bomb it, I don&#x27;t care, what I want to see is how they _react_ to feedback. Some people will get belligerent during the interview, and that is definitely a red flag that I will not enjoy working with them.<p>#4 I let them ask me any questions they have and then wrap things up.<p>I think hiring engineers with a specific skill is great for a contracting position. But if you want to hire someone in a full time position, some learning on the engineer&#x27;s part is to be expected.
aarestadabout 10 years ago
Google still seems to love their whiteboard interviews, to the point where you have to write syntactically correct Java, under pressure, for a rather difficult problem in only 45 minutes. It&#x27;s stressful as hell, and has almost certainly driven off lots of good programmers. My company does sit-down interviews with a computer (usually a Mac) and the interviewer&#x27;s choice of IDE. We get much better results that way - coding under pressure is still hard, but at least the IDE can save you from making easy mistakes under pressure, and you get immediate feedback about how you&#x27;re doing, rather than just going on the ambivalent nodding of an interviewer.
评论 #9490078 未加载
评论 #9490206 未加载
alexwebb2about 10 years ago
I just switched to coderpad.io, and so far I really like it - it takes the place of a phone interview. I&#x27;m looking for JS engineers, so I&#x27;ve set up a series of stub functions representing problems - with corresponding tests for each of them. If they can make all of the tests pass within half an hour, they advance. They can ask all the questions they want, search the internet, whatever gets the job done.<p>For the in-person interview, I sit them in front of a laptop and give them one hour to develop a ToDo app from scratch. Bonus points for things like test cases, mobile deployment, multi-user support, you get the idea.
评论 #9491372 未加载
erobbinsabout 10 years ago
and lo, there was much rejoicing throughout the land.<p>Whiteboard coding is a terrible practice that should have died 15 years ago. 1 hour of pair programming on a real computer (even locked down with no network access) should tell you all you need to know about a person&#x27;s skills.
评论 #9490033 未加载
评论 #9492759 未加载
LordHumungousabout 10 years ago
God, programmers are the biggest whiners in the world when it comes to interviewing. Do you know the shit doctors and lawyers have to go through to get hired? If you did, you&#x27;d thank Jesus that all you have to do is solve problems on a whiteboard. If you can&#x27;t do it, then here&#x27;s a simple and effective solution for you: practice!
评论 #9490235 未加载
评论 #9492656 未加载
评论 #9492440 未加载
评论 #9490211 未加载
评论 #9490186 未加载
评论 #9490131 未加载
评论 #9490132 未加载
source99about 10 years ago
I generally agree with the article in regards to social pressure&#x2F;anxiety being very high for a whiteboard style interview.<p>However I disagree with its sentiment that coding resources are free and have no cost. I think this attitude leads to poor quality code. My reasoning is that if you don&#x27;t have to spend any effort to write code than you will write the laziest code possible. This code might work but it will only work because it evolved from the wrong solution to a barely working solution. If compute time was more of a scare resource developers would spend more time writing correct code instead of iterating until something works.<p>I don&#x27;t mean that all developers code poorly because of the decrease in the time of the iteration loop but I feel that it does lead to poor code in the general case.
muktabhabout 10 years ago
&quot;Whiteboard problems were never meant to be fast, scalable or simulate real-world problems to ensure high-quality hires.&quot; No &quot;problems&quot; can simulate a real world situation, real world development is not a set of questions to solve. Not even the popular problems where the person is asked to do stuff like write a zigzag binary tree traversal or put ant on a chess board.<p>Also I still have to understand why interviewing has to be a scalable process. Are we interviewing 1000s of candidates at a time at some company ? From all I can think that is totally not the right place for a company to be. Granted there are millions of upcoming jobs, they are distributed across too many companies&#x2F;teams , so the number of interviewees per head would be more or less constant.<p>&quot;Programmers in this era were just used to the idea of writing code on paper. &quot; So no one in current age group is comfortable planning on a whiteboard ? Does the author think that things are not planned on a whiteboard in real life ? I am 27 years old (maybe too old according to the article but still I was never a part of the punched card generation ) but how does that count as a reason not to ask someone younger to explain his&#x2F;her approach or how they incorporate feedback on a whiteboard ? Whiteboard interviews are not meant to check if a interviewee can memorize the language constructs properly as being portrayed by the article, if such is the case, the candidate better walk away.
danielvinsonabout 10 years ago
The fact that there were 4 pages for this little text (with multiple unnecessary charts) annoyed me enough to forget what my actual complaint was.
评论 #9489911 未加载
评论 #9489882 未加载
rasz_plabout 10 years ago
I was asked to do whiteboard interview once. I simply laughed and thanked for wasting my time. This was a company that knew me from previous jobs and they still insisted on this pointless exercise (1). From that point on I start by asking first, I dont do whiteboards, I dont do quizzes, I dont do personality&#x2F;aptitude evaluations or out of the box tests. There is no point in asking me what some silly obscure acronym means when google is 2 seconds away, or testing if Im a team player if Im being hired to sit in the basement and staple patch cords together.<p>Google can pull this BS because they pay good money and are at the top of their game. But 100 employees boring 9-5? lol no. Lets face it, I dont need you, you need me. You came to me first.<p>1&#x2F; I returned twice as a contractor to fix shit build by new employee screened with white board :). This wasnt even a big company with strict corporate ruleset, they were just clueless :&#x2F;
steven777400about 10 years ago
We did &quot;whiteboard&quot; coding up until just a couple years ago but I&#x27;ve been pushing all our dev teams to switch to actual real &quot;on computer&quot; coding for interviews. At first there was some concern, but really, it works out a lot better.<p>The biggest still valid objection is &quot;it won&#x27;t be setup the way they are used to and so it will take too long for them to be productive even for a toy problem&quot;. Maybe. It seems like even they are used to a different color scheme or IDE plugins or whatever they should be able to figure out a default setup enough to write a toy algorithm. Maybe not.
评论 #9489986 未加载
评论 #9489960 未加载
schintanabout 10 years ago
The article discusses Software Engineering interviews, not all engineering interviews and the title should reflect that.
kelukelugamesabout 10 years ago
<a href="http:&#x2F;&#x2F;www.forbes.com&#x2F;sites&#x2F;vivekravisankar&#x2F;2015&#x2F;05&#x2F;04&#x2F;the-rise-and-looming-fall-of-the-engineering-whiteboard-interview&#x2F;print&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.forbes.com&#x2F;sites&#x2F;vivekravisankar&#x2F;2015&#x2F;05&#x2F;04&#x2F;the-r...</a><p>One pager.
baddoxabout 10 years ago
&gt; For the past few decades, most engineers require candidates to code on a whiteboard.<p>Citation needed for the first sentence. I have always heard of whiteboard coding interviews, but I have never heard that they are <i>common</i> and certainly not the <i>majority</i>.
jboy55about 10 years ago
Is the whiteboard interview perfect? No, there is no perfect method.<p>Disclaimer, I give lots of white board interviews. What am I looking for?<p>Syntax? Nope, I let the candidate use any language they want, they can even make it up as they go, as long as its consistent and doesn&#x27;t contain magic. Most of my questions are simple and operate on arrays.<p>A good talker? Not really, although someone who freezes up and can&#x27;t talk might be an issue discussing their ideas in a group, but its not disqualification. The number of people who have been actively anxious to the point they can&#x27;t code anything on the whiteboard? Never encountered it, I&#x27;ve given maybe 500 white board questions.<p>My question revolves around iterating through an array, keeping track of a couple of pointers, and doing some simple swaps, its a sorting problem. I&#x27;m looking for people who can think &#x27;step by step&#x27;, people who can look at a very simple program, and keep track of how its executing.<p>You might say, you have an IDE to do that! IMHO, Any decent programmer can look at 8 lines of code and step through that . Most of the time, when I&#x27;m debugging something in prod, I only have a stack trace and the source code. I have to figure out how the trace could have been thrown, and I have to step through a bunch of code to figure that out.<p>Finally, Whiteboard coding is a skill, just like how to debug or how to import a project into an IDE; its a necessary skill to get a job. Plus, when I look around my room, I can spot 3-4 whiteboards, all of them have code and diagrams written on them. None of those came from an interview, those are all the result of one engineer communicating to others about their ideas.<p>edit: Last thing, the alternatives, side by side keyboard coding, a take home project. All of these have cons, keyboard anxiety is just a prevalent as whiteboard, just a different medium. Take home projects are nice, if you expect a candidate to spend a weekend coding for your interview. Just as people have walked out because of a whiteboard interview (something I&#x27;ve never encountered), I&#x27;ve actually dropped pursuing a company when they gave me a fairly complex take home project when I was at the offer stage at a different one. Fuck spending a day working on some throw away work and not get the job.
评论 #9490121 未加载
评论 #9490167 未加载
评论 #9490267 未加载
exrationeabout 10 years ago
Thus the whiteboard coding exercise has materialized for me perhaps twice in the past decade, and both times have been a reminder of just how terrible it is as an interview strategy.<p>It is Slow, Slow, Slow<p>I am actually greatly in favor of short programming exercises as a framing strategy for interviews. A sort of ersatz pair programming is the way I like to interview candidates: dive straight in with two seats at a machine and get to know the fellow over the course of either a bug hunt on the system he is being hired to work with, or if that&#x27;s impossible for legal or other reasons then some small, fun coding exercise. Such as, say, &quot;implement the world&#x27;s worst way to represent and then reverse a linked list,&quot; or anything that starts with &quot;you have an infinite tongue floating on a lake of a coffee and a piercing tool...&quot;<p>Ditching the keyboard in favor of a whiteboard dramatically increases the time taken to evaluate any one shard of the programming experience, however. What can be accomplished neatly with a simple text editor in ten minutes can take a painful hour or more with a pen. Whiteboarding is simply not suited for the exploratory way in which most people code. All that wasted time would be put to far better use in talking, asking questions, and more deeply exploring the interviewee&#x27;s approach to coding as a profession - touching on the many, many vital aspects of being a developer that cannot be tested in an hour with a text editor and a compiler.<p>Whiteboarding Primarily Tests for the Ability to Whiteboard<p>Most folk don&#x27;t spend their lives working on how to most efficiently and effectively use a whiteboard. There are good reasons for this: we have computers now, with editing and presentation software that is ten thousand times more useful and functional than the combination of pen and whiteboard. Why would anyone choose to practice and optimize a skill that is never going to be used in the ordinary course of their professional life?<p>Nonetheless, there exist a small number of people who can whip up really great presentations on a whiteboard from scratch, even over the course of a discussion that swings around all over the map, and has no predetermined outcome. These talented folk will make great use of space, have little need to erase and redo, and will generally look good while doing it. But guess what? That skill, while very occasionally useful, has absolutely nothing to do with code or programming.<p>Most people, given a whiteboard and a free-ranging discussion or problem to solve, will produce an ugly-looking hash of notes and require frequent large-scale reordering of the content on the board to make sense of it all. If you weren&#x27;t there, it might as well be Hebrew or hieroglyphics. If you were there, it still requires an additional investment of effort to follow what is happening - effort that might otherwise be going to more productive interview strategies.<p>Erasure and Exploration are Punished Aggressively<p>People are very individualistic when it comes to that aspect of development that involves the choice, design, and implementation of algorithms - the sort of thing that might take a few minutes to an hour and will typically be just a small part of a larger task. There are as many different approaches as there are types of personality. For my part, actually writing code is exactly equivalent to thinking about the problem: I plunge in and start writing, as that is the process by which I get a handle on what the eventual solution has to involve and how it will be organized. I&#x27;d guess that I probably write at least two to three times as many lines of code as eventually exist in any given small solution, and it is the rare module that isn&#x27;t aggressively refactored or otherwise turned inside-out at some point within the first thirty minutes to an hour of its existence.<p>In a text editor, this is a very rapid process. It goes about as fast as I can type. On a whiteboard? Not so great. Forcing code away from an editor and into a whiteboard is, I think, a great way to sabotage anyone who approaches programming in a rapid, iterative, and exploratory fashion. The whiteboard favors instead that mythical beast, the programmer who assembles the whole solution in his head, perfectly visualized, and then just writes it down.<p>But where&#x27;s the fun in that? If that was the way I coded, I probably wouldn&#x27;t be doing it for a living, or writing software in my own time. Rapid exploration and thinking out loud in code is a key part of the process of development at the small scale - of exploring any particular modestly-sized problem space. Of course this is all very different from the strategies apply to a larger scope of work, or software architecture, or the planning of complex integrations ... but then you aren&#x27;t going to manage to see the nuts and bolts of any of that via a short coding exercise.<p>Small Problems are a Tiny Subset of Programming as a Profession<p>The only thing you have time for in any coding exercise, but especially when whiteboarding, are tiny challenges - minuscule slivers of the vast programming experience. Just playing the odds, the ability to generate an algorithm for a small isolated problem is likely neither the most important component of the job, nor in any way related to the actual strengths or weakness of the interviewee as a programmer. What about planning, big picture thinking, documentation, writing skills, foresight, innovation? And so on, for as long as you care to make the list.<p>Further, the artificial whiteboard environment is far removed from anything approaching a real development environment. Every developer works within a halo of resources, local and online: the IDE, Google, Stack Overflow, and so forth. They are surrounded by an ethereal library and the means to use it - a primitive exobrain if you like. A large part of being a good programmer is being aware of and skilled in the effective use of this exobrain. Pen and paper coding exercises in this context are something akin to testing medical students by shutting them in a room with leeches, potions, and a patient, and expecting to divine something of their ability to perform in a modern hospital setting from the results.<p>Since whiteboarding is excruciatingly slow, by using it you&#x27;ve chosen to put the majority of your interview time into a poor-quality examination of one tiny facet of the programming experience, rather than freeing up time for other and better approaches.<p>&quot;But Several People Need to See What&#x27;s Going On&quot;<p>Ah, the group interview. So move the chairs closer to that gargantuan developer-sized monitor you have. Or request a bigger monitor. Or use a projector. I believe we&#x27;ve moved somewhat past the whiteboard as the only available technology for presenting content to multiple people in the same room at the same time.