24 ms·
Hiring without whiteboards
- vinhboy 10y agoI think coderpad.io is the modern day equivalent of a whiteboard. It's nice that you get REPL and a keyboard, but the unnecessary pressure of being watched, critiqued, and timed are all there. My mind just goes completely blank whenever I am put in this scenario. Are we programming or defusing a bomb?
- mzzter 10y agoDefusing a bomb of course~ But yea that analogy fits coderpad well, along with all the other collaborative code editor + webcam websites.
- deleted 10y ago[deleted]
- zerr 10y agoWell, these code/rpad/lity/rank sites are no different in terms of types of tasks... The problem is not only with a medium (whiteboard or *pad/lity/rank website) but also in what kind of problems you get to solve... Are these problems relevant to job? Is the condition/situation similar to what you'll be doing on the job? etc...
- zbobet2012 10y agoI think it's worse than a whiteboard. I have seen very few interviews that expected anything other than psuedo code on a whiteboard. With a repl I could easily pin myself on some trivial bug that interviewers would ignore on the whiteboard...
- baddox 10y agoI thought I disliked whiteboard coding, until I recently had an interview on a provided laptop running one of those JavaScript IDEs. It was miserable. Extreme unusable OS X mouse acceleration, an awful keyboard, an unfamiliar hotkey setup in the text editor, and a tiny 11 inch monitor split into 4 sections which means my editor was maybe 10 lines tall. I failed miserably at a relatively short and simple challenge that I am confident I could code on a remotely familiar and sane computer setup. Heck, I would have preferred writing valid JavaScript on a whiteboard. At least I'd be able to see a lot more lines at a time, which it turns out is pretty important for my ability to code.
- trome 10y agoSounds like a company to avoid if they throw the improper tool for the job at you and expect you to do it with that, even if a pen & paper would be better.
- Yizahi 10y ago</slightly offtopic> Some guys I've met, with different occupations and age, sincerely believe that smaller screens are more usable. Like small windows on 14" CRT when everyone had 17/19". Now it's guys that claim that 11-13" ultrabook is enough for them and they don't want more ever. This honestly baffles me every time.
- mikulas_florek 10y agoI use only a small part of screen when writing code, because it somehow forces me to write shorter, cleaner functions. Although debugging is terrible experience on small monitors, because I need more windows open at the same time - watches, callstacks, ...
- valentjedi 10y agoAnd don't forget interviewer's breathing over skype while you coding online, just to add more drama
- ori_b 10y ago> unnecessary I can't think of any way to do an interview without pressure. Pressure is unavoidable when someone's future job is on the line.
- lj3 10y agoIt's avoidable. Behavioral questions don't tend to freak engineers out. Neither do questions about their past work.
- Sacho 10y ago> Neither do questions about their past work. If you feel you didn't accomplish much at your last job(which would be a pretty common reason for quitting), then a question about it would be pretty stressful, since the company is evaluating you based on work you didn't find to be your best.
- dexterdog 10y agoThen talk about work that you do consider to be your best.
- ori_b 10y ago> Behavioral questions don't tend to freak engineers out. Speak for yourself. I'm far more relaxed when diving into a technical question than when playing a guessing game about what social signalling I'm supposed to be doing at that moment.
- pertymcpert 10y agoYou're not supposed to be trying to be someone you're not. If you have to put in that much effort during your day job then you won't be happy. You just need to relax and be yourself, it not only makes everyone more comfortable but it lets you and the company start to evaluate whether or not you're good cultural fits. You'd be pissed off if they mis-represented the culture there during the interview process, and they have just as much right to be pissed if you act completely differently (in a negative way) when you start working.
- r-s 10y agoI much prefer a whiteboard to these programs. Half the time I end up typing vim commands and appearing as if I can hardly type.
- fsloth 10y agoA terminal does not replace a whiteboard. I know some force candidates to code on whiteboard but that's not what it's specifically good for. A person to person discussion with a white board is the best communications platform for conveying technical ideas, IMO. You need the whiteboard, so both of you can define symbols, then discuss the meaning of these symbols by pointing at them, drawing arrows from them, expanding them, etc. The symbols can include fragments of code, of course. So, yes, if someone wants to force another person to code on a whiteboard then certainly, they can do better, but it's like asking someone to draw with an axe on the stone floor. Waste of good axe and floor.
- deleted 10y ago[deleted]
- akanet 10y agoHi. I'm the guy that made CoderPad. I bootstrapped the product out of nothing because of terrible candidate experiences older purely textual collaborative environments provided. I sincerely believe CoderPad gives you much more room to breathe than many alternatives. There are a few reasons for this: 1. You get to introspect the environment. I've had lots of candidates forget whether certain objects support simple methods (map, sort, join etc). CoderPad lets you perform quick tests to make sure. 2. You get to debug how you would normally debug. Whiteboard interviews basically rely on the interviewer saying something "Are you suuuuure there's no bugs on, say, lines 10 through 12?". I find this incredibly stressful as both the interviewer and candidate. CoderPad lets you run the damn thing yourself and see if it says what you want it to say. 3. Compared to probably the next most relevant comparison, graded homework assignments, I think CoderPad's free-form format is much more forgiving. As a candidate, I've definitely wasted hours trying to get some hidden automated test suite to pass with no feedback as to what sort of failure was encountered. CoderPad blends code evaluation with live feedback from the interviewer. Yes, social pressure can be daunting for many candidates. I don't think this is something you can avoid in a live interview in general. I think you can get pretty good signal from project submission from candidates, but at the cost of greatly increased time spent by both candidates and interviewers. For many people this may be a worthwhile trade and I think additional options are good, too.
- vinhboy 10y agoRegardless of how much your software has made me sweat, I still think it's great software. My comment was more about the interview process, not your software. Good job creating it. I wish it was free... Haha...
- Yizahi 10y agoXKCD 1168: - Rob, you use Unix! Come quick! * To disarm the bomb simply enter a valid "tar" command on your first try. No googling. You have ten seconds. * - Rob?.. - I'm so sorry.
- efaref 10y agoThat's just silly, though. "tar" is pretty easy to use in its basic form, and I have dozens of commands ingrained in my memory. tar tf filename.tar tar xf filename.tar tar xfz filename.tar.gz # Newer tars don't even require the z tar cfz filename.tar.gz directoryname Heck, surely even tar --help would suffice. More interesting questions would be like: "which lower-case letters are NOT valid options to GNU ls". :)
- collyw 10y agoI had untarred hundreds of files before I actually needed to start creating tar files on a regular enough basis to remember the syntax.
- deleted 10y ago[deleted]
- zerr 10y agoI'd like to have a separate list for companies that do paid real-world projects instead of CS riddles.
- glibgil 10y agoWeebly
- alaaibrahim 10y agoHave you ever tried to bring a laptop to an interview, and asked to use it instead of the whiteboard? Believe me very few would object.
- whatwasmypwd 10y agoIs pair programming really that different from whiteboarding?
- pmiller2 10y agoMore specifically, I would say "interview pair programming" isn't really "pair programming." When pair programming, it's not one person evaluating the other, under an artificial time constraint.
- whatwasmypwd 10y agoCan you really have any other kind of pair programming in interview context?
- pmiller2 10y agoPrecisely.
- zj45499 10y agoSo what's considered to be "Pair programming", compared to whiteboard?
- bogomipz 10y agoI would like to see a compilation of companies that aren't requiring a "coding project" as part of their interview process. I much prefer to write on a whiteboard as part of an onsite interview than to do a "coding project" for every single company that "might" be interested in me. My experience lately has been an immediate request to complete a coding project right after speaking to a recruiter but before speaking to anyone technical. And perhaps the height of absurdity I have even had automated emails saying "thank you for you interest we invite you to complete this coding challenge/project." Are you really expected to do one of these now for every single company you send your CV? The whiteboards seems far more respectful of people's time at least.
- jakobegger 10y agoPresumably a lot fewer people send in completed coding projects, so you are competing against fewer other candidates. If you are good at selling yourself, whiteboard interviews are awesome. If you are nervous in interview situations, starting with a project could be an advantage. Edited to add: coming in for a whiteboard interview will also take few hours of your time (or longer if you need to travel). A sample project can be done whenever you want.
- gedrap 10y agoI don't think that this is a proper justification for sending coding projects to everyone who submitted a CV. This is a big imbalance in time investment from both sides and quite disrespectful from the applications point of view.
- lj3 10y agoIt's not disrespectful for a company to ask you to write a little code for them. They're just as invested on the time front as you are since they have to read and analyze what you send them. Now, if you were to tell me that nobody ever looked at the test after you sent it in, then it becomes disrespectful. I had several companies do that to me a few months ago. Not that it matters much. I don't think code tests will stick around. It's too time consuming for the hiring managers.
- Kiro 10y agoAm I the only one who thinks the pressure a whiteboard adds is actually something valuable? In my last job there were a lot of situations where you had to solve a real problem under extreme pressure. People who couldn't handle it simply weren't cut for the job. I don't think all interviews should use it but for us it was good for filtering out candidates who would not perform in those situations.
- learc83 10y agoIn my experience, if you're regularly coding under extreme pressure, something is wrong. Whiteboard coding is also a different kind of pressure. I can't imagine a situation where someone who already knows the answer is watching over your shoulder critiquing you while you work on a problem.
- fernandotakai 10y ago> In my experience, if you're regularly coding under extreme pressure, something is wrong. right? unless you are in downtime mode, there's really something wrong with your schedule/deliverables/tasks. writing code is not a race, it's more of a marathon where you have to be at a healthy pace to get to the end, otherwise you will not be able to finish.
- Kiro 10y agoIn an ideal world, yes, but for a company on a tight budget it's not that easy. When the alternative is bankruptcy you don't have much choice.
- SomeStupidPoint 10y agoWhat real life pressure do you think a whiteboard test simulates? I think it's unlike any real situation, and you're fooling yourself that one kind of stressor is like another.
- user15672 10y agoWhat on earth were you doing that required solving software problems under extreme pressure?! This sounds like an incredibly toxic working environment, where developers are either being allowed to create fires on production systems, or management is completely incompetent or both. Also, being able to "handle it" has nothing to do with anything in this discussion. I'd much prefer to hire someone capable enough to not need to "handle it" than someone proud of the fact that they often s*it the bed but are willing to jump up and do the laundry under pressure.
- edblarney 10y agoThere's nothing wrong with white-boards, it's how they are used that matters.
- ratsz 10y agoI agree, although I prefer a physical computer or shared session to whiteboard. I always tell interviewees that they can use pseudo-code or make up functions as long as they explain what they are intended to do. This takes the pressure off of knowing specific language constructs and leads to better overall assessment in my experience.
- nallerooth 10y agoAs a follow up to the first interview, we give promising candidates a quite simple task to solve at home and then send back via email the next day. This is used both for some basic evaluation of developers skills (whether they actually solved the problem, did they catch the small oddities hidden in the data set, did they document and write tests, etc.) and as something to discuss during the second interview, in which the candidate talks to one or two developers. I also did a second code test, which I got to do alone on an offline laptop. The test had a time limit and it was designed in a way that you should NOT be able to finish it on time. This was communicated to me several times before I actually sat down in front of the laptop. The goal with this test is to see if a person can solve problems under stress, and if the person writes decent code that works, or just hacks something together and moves on to the next step - leaving a trail of bugs. Overall, I think this has worked out great for us, but it might not be a good process for everyone.
- jpalomaki 10y agoSome time ago somebody mention in HN a process which sounded pretty good and fair. For promising candidates: 1) Meeting where you are presented a problem and asked to immediately give your thoughts on how you would approach it. 2) Some days, for example weekend, to work on the problem. Candidate gets a monetary compensation for this time. 3) Next meeting where you present the solution. Yes, there's always a risk that somebody will get somebody else to write the code, but having to explain before and after reduces the risk. Paying for the work shows you are serious about the recruitment.
- mikulas_florek 10y ago> Paying for the work shows you are serious about the recruitment. In that case candidates should also pay companies to show they are serious about the position
- baddox 10y agoYou expect people to write documentation and tests for an interview coding challenge? I sure hope you mention that expectation or at least strongly hint that you're looking for a production-ready coding mindset. It would never in a million years occur to me to write documentation or tests for an interview coding challenge.
- allenleein 10y agoPlease add Jane Street. https://blogs.janestreet.com/what-a-jane-street-dev-interview-is-like/ https://blogs.janestreet.com/what-a-jane-street-dev-intervie...
- Volt 10y agoMake a pull request.
- therealmarv 10y agoWhiteboard interviews are important. Reason: http://i.imgur.com/oM9yCym.png http://i.imgur.com/oM9yCym.png
- PaulRivers 10y agoHa, that's great!
- jonasvp 10y agoI'm responsible for hiring developers at our company based in Berlin, Germany, and found it best to have a guided interview about the candidate's work experience and interesting problems that she/he solved. I never understood the whiteboard hazing/CS trivia that are so widely discussed on HN since it seems extremely disconnected from the actual work that's being done. That said, I'm always surprised how many candidates cannot even point to one problem they worked on they found interesting or one solution that they're proud of. We worked with an HR consultant to develop a interview guide in the form of certain questions that we make sure to hit during the interview in order to be able to compare between candidates and make an informed decision. However, we're small and not in the US. Anyone have experience with other companies in Germany/Europe? How does the typical interview work over here?
- fsloth 10y ago"found it best to have a guided interview about the candidate's work experience and interesting problems that she/he solved. " When I've been job hunting in the past I've also found that these have been the best situations for me. I find coding questions beyond fizbuzz totally silly and when something more is requested of me my attitude shows this.
- lj3 10y ago> found it best to have a guided interview about the candidate's work experience and interesting problems that she/he solved. This. I advocate this method of interviewing here in the states every chance I get. The most common form of push back I get is from hiring managers terrified of being hoodwinked into making a bad hire. It's like they don't trust their own judgement enough to be able to tell apart those who know what they're talking about from those who just talk a good game. > I'm always surprised how many candidates cannot even point to one problem they worked on they found interesting or one solution that they're proud of Junior engineers, I assume? I had problems with those questions when I first started out. It's hard to say with a straight face that the thing I was most proud of at that point in my career was creating a very simple templating system in PHP. Of course, the interviewers rolling their eyes and saying 'is that all?' didn't help.
- ry_ry 10y agoI'm seriously tempted to make one of our technical interview questions "you're creating a technical test for role XYZ, how would you structure it" and see what the candidates come up with! Would be interesting tbh.
- deleted 10y ago[deleted]
- scarface74 10y agoThat would be a great question for a tech lead.
- ibejoeb 10y agoIt really is terrible. Companies need to accept this. You're sitting behind me. Or beside me. I can smell your breath. Or you're on a webcam. It's voyeuristic. You've already solved this problem. Perhaps you even designed it. Your talking is breaking my concentration. This is not how I work. It's probably not how you work either, and if it is, I think we're done here. Now, if a company insists on an adversarial process, there are better ways to do it. The nature of the problem is given in advance. Both the subject and the evaluator go in blind, and they both do it.
- SomeStupidPoint 10y agoYou know what I call it when a coworker is reading off a document and harassing me for not knowing the thing they're clearly looking up as they go along? A toxic work environment. Of course, I believe a significant number of those "interviews" are hazing meant to find excuses not to hire or perpetuate H1B scams.
- collyw 10y agoI was in our spare room coding one day. My girlfriend arrived home and sat on the sofa behind me. I couldn't concentrate just knowing she was behind me and asked her if she could leave.
- DigitalSea 10y agoThe problem with whiteboards, is they're not reflective of real life. When was the last time you can honestly say you used a whiteboard to solve a programming problem instead of Googling and ending at a StackOverflow question with a great answer? I've never used a whiteboard for programming. I've used plenty of whiteboards for things one level back; planning, prioritising and visualising task related things. The reality of programming is, these days everyone Google's their problems. Sometimes you end up at StackOverflow or sometimes you find yourself on a random blog or official documentation. Occasionally you ask a coworker for help, but the ego a lot of developers have to be smart means most feel intimidated to do so. And sometimes you just bang your head against your desk until things start working. Whiteboard and highly technical interviews that expect you to know high-level computer science concepts are tilted in the favour of graduates who are freshly minted from whatever respective educational institution they graduated from.
- ori_b 10y ago> The problem with whiteboards, is they're not reflective of real life. When was the last time you can honestly say you used a whiteboard to solve a programming problem instead of Googling and ending at a StackOverflow question with a great answer? Yesterday. Although, usually I pull out a notebook instead, and work things out with colleagues (or on my own) on paper at my desk. That happens several times a day.
- baddox 10y agoI scribble in notebooks a lot too, but it's very rarely anything resembling pseudocode or any representation of the actual algorithm I'm working on. It's usually just a todo list, with occasional things heavily underlined so I don't forget them. I often do something similar at the end of the day if I need to remind myself where I left off. For me, it's not at all comparable to whiteboard coding.
- listentojohan 10y agoLast week. I have to admit that I used a whiteboard for solving a programming problem a few times. But most often, if I have to note down the problem (structure), I'll use a notebook or texteditor. Then on to the Googling.
- gedrap 10y agoI get it, some companies go to rather silly lengths asking algorithmic questions when it has nothing to do with the job even remotely. Knowing how to implement an auto balancing search tree probably doesn't have much signal how well you can implement a Rails CRUD application. A skilled interviewer can come up with a good algorithmic interview, when he/she is genuinely looking for how people deal with hard problems and not knowing the algorithms themselves is fine. A less skilled interviewer will just get some question from the internet and accept only one answer as a correct one, and so on. But at the same time, some people have a prima donna-like attitude towards interviewing, and it is often counter-productive. Hiring people is hard. Spending time in poor interviews sucks. But let's not make a circle-jerk out of interviewing :)
- nostrademons 10y agoIt's funny, whiteboard interviews really would be a better discriminator for founders than employees. They test confidence rather than competence (or technically, competence + confidence). The former is incredibly important for founders, but the latter is probably what you care about more for employees. And yet founders almost never do a whiteboard interview, yet it's standard for technical employees...
- scarface74 10y agoMy view is that you can't have competence at a certain level without confidence - unless you're just an easily outsourced code slinger. I'm often at a whiteboard explaining architecture, ideas, etc. How do you do that without confidence and some semblance of emotional intelligence.
- pseud0r 10y agoThere is really no comparison. Explaining architecture, ideas etc to your colleagues has pretty much no resemblance to a whiteboard interview, where you have several people staring at you and judging you. One is a discussion the other is a test, they compare like having a beer with a colleague is like holding a speech in front of a bunch of stranger.
- scarface74 10y agoWhen I'm the only developer talking to managers, directors, etc. I'm constantly being judged by whether I have good ideas and whether I can be trusted to architect a solution. May be I am a little overconfident, but I always go into an interview and treat it as a formality to getting the job. By the time I'm in front of the whiteboard, I've already spoken to the recruiter and know what they are looking for, seen the job req to know what technologies they care about, and I've had a phone screen. Why wouldn't I be confident?
- dexterdog 10y agoWhen an interview is not a discussion, but rather a test, it is a bad interview.
- listentojohan 10y agoIt was not really a whiteboard exercise, but I once had an interview at which we went through some of my previous work (code-ish) on a whiteboard. I was mostly for structure, and I think that's a good example. Also there was a good relaxed atmosphere, so it was more a point of discussion. Got an offer.
- artf 10y ago"Build MVPs for startups", from Popstand, is amazing
- lordnacho 10y agoMain main gripe with whiteboards is that it's hard to add extra lines. If you're writing a loop for instance, you might code up the per-item logic first, and then you remember you need a loop variable. Which there's now no space for, because in a normal coding environment you can just insert the line where it's needed. It makes me feel like I need to have solved the whole problem before writing, and that's just not how coding happens.
- on_and_off 10y agoJust ran through 2 complete interview cycles without touching a whiteboard once. Got a great offer from both and accepted one of them. I strongly prefer a coding project to a whiteboard. It is still a bit artificial, but it is way closer to my actual work.
- d--b 10y agoIt looks like many companies in this list use the take-home project approach. The take-home project however is not a replacement to the whiteboard session, as they're not meant to screen at the same level. Once you're given a take home project, you're almost in. It happens when the recruiter really likes the person and wants to dig further with a real life scenario to see how that person would perform. The whiteboard session is a way to spot people who can't code early in the process.
- NTDF9 10y agoI personally love whiteboards...but only for discussion of ideas. But interviewers seem to use it only to dock points. "Oh this guy solved the problem on the whiteboard with good syntax but he uses new and delete. Must be a bad programmer." I think docking points on whiteboarding just reflects how bad interviewers are at judging skills, possibly because they themselves suck at self-awareness and skills beyond their domain.
- scarface74 10y agoI don't see a problem with whiteboard interviews. I've been to a lot of interviews where they will ask me to explain an architecture and I ask them to do they mind if I draw it out while explaining it. I've spent so much time in my career explaining architecture it's second nature for me to diagram while I'm talking. During a whiteboard coding session in an interview, I would do some code and some pseudocode. But at this point in my career if I saw that the interview was focusing more on coding than architecture/development process/automated testing that would be a big red flag.
- storafrid 10y agoIf it lasts longer than 20 minutes, you're doing it wrong. But more importantly, are we talking about hiring a security expert? Or hiring for a product development team? Or hiring for the devops team? Context is rarely given in the "whiteboarding issue" discussion, e.g. at HN. I currently hold candidate interviews for a solution architect role, and I certainly don't want to hire someone who can't hold a whiteboarding session with a client or their partner's SME.
- donpark 10y agoWhiteboard should not be the focus. If interviewer just shared whatever technical problem they're trying to solve and asked the interviewer to share their insight as a peer, then it's up to the interviewee to use the whiteboard or not. Frankly, I think this is best done over email so interviewee has the time to think about the problem. In short, companies should approach interviews like free consultations with an expert or peer.
- koja86 10y agoOMG it's happening! I was always puzzled by how unrelated metric used for hiring is to actual work at many companies. I don't mind algorithmic brainteasers - on the contrary I would absolutely love to solve such problems at work yet those seem to be scarce. I also don't mind other types of developer work - be it more research or architectural oriented or "just" coding. But I am not happy learning something different for interviews every few years and then forgetting it over the course of next period of day to day work. Feels like a waste of time and is confusing in regards to what one would actually do in certain job.
- mustafabisic1 10y agoThis is great. I would add https://toggl.com/ https://toggl.com/, but I'm just a silly marketer and don't have a github account. btw not affiliated with toggl whatsoever - just a fan :D
- ninjakeyboard 10y agoWhat's with all the whiteboard backlash? I ask simple questions and expect people to be able to write code unaided to express their idea. Not "implement a linked list" or "write quicksort" but basic "You have two arrays - find if a number exists in both arrays" sort of thing, primarily to reason about runtime complexity, and to make sure they can actually write code. If you tell a candidate to prepare, they should be able to come in and do this. If they can't write some simple code unaided, then I don't want to work with them. I was a copy-paste programmer once too.
- ljlolel 10y agoWhat about just asking the candidate to do the same simple task on a computer that they own?
- chronicx0 10y agoLots of candidates cheat. Especially from China and India.
- bobobjorn 10y agoI have used both ways, and i would say the candidates in general respond better to using the whiteboard. I do ofcource not require syntacitly correct code or anything like that. Im looking for ideas not if they are a compiler. Using their own computer way to many struggle with creating a new project or other basic things. And that dont make them comfortable either. It also takes much longer then using the whiteboard.
- pavel_lishin 10y agoMy office is a satellite of a larger one in Austin; we provide laptops for candidates to use for the "remote" part of the interview, when they interview with someone in Austin. But in general, I think the idea of the whiteboard interview is a chance to see someone "think out loud", to see them reason through a problem. Getting a chunk of source code in an email isn't representative of that. (At worst, they paid someone to do it for them; at best, you have no idea what their approach was. Somewhere in the middle is copying and pasting most of it from SO.)
- hasenj 10y agoThere is absolutely nothing wrong in principle with whiteboard questions.
- collyw 10y agoI was far better at these straight out of university, as thats the sort of short assignments we got given. 15 years later I am a far better coder (I class myself as a full stack software engineer now) but I haven't needed to implement the sort of solution that they ask for in years (except in interviews).
- vertak 10y agoI work remotely and sometimes interview new potential hires. Does anyone have some suggestions for how I could imitate whiteboard questions without actually having a marker and surface available to me or the candidate? It's a little awkward to ask them to write on a piece of paper and angle their camera so I can see what they're writing! Is there any good software that can emulate this?
- gwbas1c 10y agoI do this all the time. What I do is make sure that the question, and anything that I would want to write on the whiteboard, is typed up ahead of time. Then, I use a teleconferencing program that supports sound, screen sharing, and IM. (Gotomeeting works well for me, but there's plenty others that work well too.) In the actual interview, I IM the written parts of the question to the candidate. Then, I ask the candidate to share his/her screen, and use a program like Notepad or Textedit to complete the question. It's useful if the candidate copy/pastes my IMs into Notepad / Textedit. Often I've provided a sample API that the candidate needs to program with. I discourage using an IDE like Visual Studio or XCode. (They get in the way when you're just trying to quickly express an idea.) Most candidates "get it" that I'm just trying to see how they think and approach a problem. Some candidates just feel more comfortable in an IDE, though. Other times, though, when a candidate uses an IDE it shows that the candidate will get too bogged down in details to communicate; or that the candidate really doesn't understand the language that he/she claims to be proficient in. Edit: In the context of the article, I'm a HUGE fan of whiteboard coding. It tells me a lot about the candidate. Being on both sides of an interview; a successful whiteboard interview has more to do with how the interviewer plans the question and his/her expectations about what the candidate will answer. A whiteboard interview isn't there to determine that a candidate can think of a tricky algorithm; it's there to judge coding ability for very obvious problems with well-known APIs. Where I think the industry needs to go, though, is a universal certification that demonstrates competence. Doctors have to go through this, thus doctors don't need to demonstrate competence when interviewing for a job. That's handled by the impartial 3rd party.
- douche 10y agoI haven't used a whiteboard in five years. Some people seem to love them, but I just don't get it - in any situation I might use a whiteboard for, I have more effective tools that I can use instead. There's nothing like having to pull out your phone and take snapshots of a whiteboard because people can't be bothered to use something persistent.
- scottishfiction 10y agoFog Creek is listed. I once interviewed there and was asked to calculate the volume of a cylinder. Have they changed there approach?
- quotemstr 10y agoCalculating the volume of a cylinder is trivial.
- jotato 10y agoWhat does that have to do with solving problems? If you can't do it off the top of your head, a quick search will give you the formula and then you plug it in. Questions like this make me not accept a job offer for a place.
- rsfinn 10y agoIn general I don't like questions like this either, but this particular one seems designed to test your wits if not your memory: if you don't happen to remember the formula, you can quickly derive it. I bet if you said out loud "It's the area of the end circle times the height of the cylinder", you wouldn't have to go any farther.
- Apocryphon 10y agoYeah, it sounds more like "do you understand the spatial principle in determining volume" more than anything.
- scottishfiction 10y agoNo. I said exactly that, and provided the formula for the area of the circle, and was still asked to do the calculation.
- DanBC 10y agoWhy are trivial questions useful during recruitment? What's the purpose of them?
- tamalsaha001 10y agoI have a question. When you hire complete freshers out of school, how do you interview them without asking for CS stuff? In my experience, fresh undergrads usually do not have any real world experience. I have experimented with short take home projects. This drastically reduces the available pool, since great freshers can get job in other places with whiteboards interview. Also, there is a sense that interview process is used to get people to do free work. Also, non whiteboard interview processes are extremely time consuming. Non-whiteboards interviews will be better. But as a matter of practical experience, I have found it to be the only viable option for hiring fresh undergrads.
- dagw 10y agoAsk them what they studied and what their favorite courses where. Ask them what they found interesting. Ask them what kind of problems they can see themselves working on. Ask about what kind of projects they did and what they found easy and hard about them. Ask them some general programming questions. And by all means ask CS questions as well, but don't only ask that, and don't make them carry more weight than any other questions.
- tamalsaha001 10y agoYou will be surprised how often people with good grades will have good answer for these questions. But can't write dual for loops. I agree that asking people to write dynamic programming problems are not good interview questions. But if the job requires primarily writing code, I think it is fair to ask people to solve coding problems with loops, conditional statements, hashtables, etc.
- hyfgfh 10y agoLet's agree Hackerrank sucks. Develop a shity solution in a very limited time, using ES5 and no libraries for JS, waste time parsing your input where the first element means nothing and the other must have the type converted several times.... If you really want to test a candidate, give them unlimited time, a "real problem" and something that they don't know.
- Taylor_OD 10y agoWhy something that they don't know? (Actually curious)
- hyfgfh 10y agoMost of your work is to learn stuff, to figure out solutions for new problems. However some people keep themselves in their safe-zone, avoiding new kinds of tech or solution. I belief that a good developer will like the feeling of frustration when learning something that they don't know, that a bad piece of code will make then uncomfortable. The skill that I look for in another developers is the ability to learn stuff that they aren't trained. This way I know that they will be able to solve new problems, to find better solution for old problems. By testing then in something that they don't know, I will see if they are open to learn new stuff and able to apply new concepts, and ask how they felt about it later.
- hasenj 10y agoUsing the presence of whiteboard questions as a metric for interview quality seems rather pointless to me. Whiteboards questions can be very good or can be very bad or anywhere in between. Just like any interview question in general. I for one prefer whiteboard questions to generic open ended personal questions. Good whiteboard questions can quickly assess whether someone knows the basics of programming or not. Open ended questions only judge one's ability to tell stories.
- feedjoelpie 10y agoEarly in my programming career, I got a whiteboard question where, after being asked my hobbies, I was asked to diagram an electric guitar on the whiteboard. I don't know that it was a particularly good question. But all this sabre-rattling against the whiteboard in general just seems like a silly distillation of a legitimate critique down to its stupidest form. Even when it comes to CS algorithms questions. Yeah, asking someone to whiteboard quicksort might be bad, might optimize for the wrong things for the actual job. But should it be a red flag that someone expected me to be able to do a more basic operation, that I've more or less purported to do professionally and efficiently, on a whiteboard on the spot? [Edit: At my company we don't really do whiteboarding. We pre-screen with a time-limited open-book, open-internet test in advance. This helps account for candidates knowing how to quickly read/research/apply openly available information.]
- Declanomous 10y agoThat reminds me of an interview I had for a sales position. The guy man asked me how to tie a shoe. I actually really thought it was an interesting interview question, despite not being strictly sales-related, because teaching is a really big part of sales. I like that guitar question for a similar reason. Someone once told me that you can't program something you don't understand. Being able to break down a complex topic in to atomic parts is the difference between someone who can program, and someone who can develop applications that solve problems. I'm an analyst rather than a developer, but most of my value comes from being able to communicate information to other people. I know there are people who are better than me at programming, or statistics, or modelling, etc. However, I know that I can be incredibly successful in any given role if I take the effort to learn as much as possible about whatever I'm analyzing, and if I focus on communicating the information as clearly as possible. To that point, I'm really proud of the fact that the man who interviewed called me afterwards to say that I had given the best instructions for tying a shoe he had heard in 30 years of asking that question in interviews. That being said, I can see how someone who is a nervous interviewee would resent questions that seem designed to trip them up.
- 746F7475 10y agoMeh, if you can't even handle a tiny whiteboard situation how are you going to handle any deadline pressure? It's not about knowing the right answer off the top of your head, it's more about how you work and approach the problem. Sure some bad companies expect you to be able to write something very specific on the spot, but thous are pretty rare imo.
- SomeStupidPoint 10y agoIn what way do you think whiteboards are like deadlines? I honestly don't understand this line of thinking. It's not about "pressure", it's about the fact I'm an introvert and do poorly at composing while speaking. My brain requires time to focus inward to formulate complex thoughts, and interrupting any time I pause narrating doesn't give me that time to think. I've literally never had it be an issue in my career, because deadlines happen on the order of days to months and in real life conversations it's acceptable to pause talking for 5 minutes. (Heck, in real life, it would be rude to talk the way you do during an interview, because it wouldn't give the other person a chance to share their thoughts about the problem.)
- 746F7475 10y ago>My brain requires time to focus inward to formulate complex thoughts, and interrupting any time I pause narrating doesn't give me that time to think. So basically what you are saying is that you are some kind of snowflake that requires it's own room to concentrate and be productive and you can't even think while doodling on a whiteboard. In my books that counts against you, that doesn't mean you are straight out, but it definitely makes you a liability to some degree.
- SomeStupidPoint 10y agoNot even remotely. What I said is that I share a trait with about 25% of the population, more in software, where I can't do my best composing if I'm narrating at the same time. By "time", I mean 30-120 seconds without having to speak. In actual development that doesn't matter: pauses to compose an answer are fine in conversations and most work time is individual anyway (even in open offices). I do note, however, you didn't actually answer my question: in what way is whiteboarding like real work deadlines?
- kelvin0 10y agoImagine this. You are interviewing for a job, you walk in a room with 2 people who hand you over a sheet with a few problems. They ask you to write the solutions on the whiteboard, while they wait for you to complete. Not a word is said, they are clicking at their laptops, and staring at the whiteboard, as waiting for the genie to pop out of a bottle. All the while your mind is frozen and stuck in a bad loop. This lasts an hour, you are barely able to complete parts of the problems and are frozen. Of course this affects your usually creative and sharp mind. The torture lasts an hour, time's up! You shake their hands, as a kiss of death, and head out. As you are walking back, all the answers to all the problems they wanted you to whiteboard, come rushing like a torrent in your mind. Too bad, another 'botched' technical interview. This is my experience as a battle tested developer who is shipped many products and has been programming for the love of computers since the age of 12 (professionally for more than 15 years). I am not going to be working at Google any time soon (not that a Google job really matters to me).
- tezzer 10y agoI completely froze on a phone interview once. I opened up a co-coding application and was asked to write code to balance a binary tree as a warm-up exercise and I completely froze. Couldn't back out of my head, even with some prompting from the interviewers, and I ended up ending the phone call and writing a note of apology. The painful part is, I used to teach CS-101 and CS-102. I assigned that exact problem to my students and have graded several hundred solutions to it. Now I warm up on lots and lots of coding problems before I start an interview process, but I always worry in the back of my head that I'll freeze again.
- adrianratnapala 10y agoThat was a warm up question? Had they not heard of Fizzbuzz? Or reversing a string?
- jogjayr 10y agoI once froze on a warm-up Fizzbuzz. Actually it was even simpler than a Fizzbuzz: print all the elements in a list. Freezing can happen to anyone on any problem.
- golemotron 10y agoWhiteboards are MacGuffins for hiring conversations.
- wollstonecraft 10y agoThe main purpose of whiteboard is to decrease the liquidity of job search for engineers, thus depressing wages. After a few years of doing design docs and copying protobuf fields, the median engineer at a top company would need a month of prep to be able to pass whiteboard interviews again. Much more effective than secret no-poaching agreements.
- DTrejo 10y agoInteresting! This comment gives even more reasons: https://news.ycombinator.com/item?id=13785405 https://news.ycombinator.com/item?id=13785405
- jonahx 10y agoWhile it may have the effect of decreasing job liquidity, I don't see how that effect could be the main purpose unless you believe companies are mass colluding. Because the company running the interview is highly motivated to find a good candidate quickly and reliably. A less intriguing but probably more accurate reason is that finding good people is hard, nobody really knows how to do it, whiteboard interviews provide a rough filter, and they're what everybody else does, so we're gonna do it....
- Apocryphon 10y agoMass collusion doesn't need to involve actual individuals making agreements in smoky rooms. It can just be customs that arise as fads (whiteboarding as the answer to '90s Microsoft brain teasers), gain mass acceptance, and become standard practice.
- crasco 10y agoYou mean collusion like this? http://www.latimes.com/business/technology/la-fi-tn-tech-jobs-settlement-20150903-story.html http://www.latimes.com/business/technology/la-fi-tn-tech-job... It was happening, only more blatantly than is suggested here. Of course they are all motivated to find good candidates, but they are also motivated to keep their existing folks. Decreasing liquidity and mobility serves the latter purpose at the expense of the former.
- wolfgke 10y agoWhy the universal hate for whiteboard interviews? I studied computer science at a German university and it was expected that in the exercise groups you are able to solve the exercises that you prepared on a whiteboard from the first semester on. If you did not solve it sompletely you still had to whiteboard-code the parts of the solution that you were able to and improvise the rest. For more complicated algorithms I still love to draw lots of pictures before implementing them. I can understand that people complain that they have to solve tasks (on a whiteboard) that won't have to do much with what they will do at the job. But this has nothing to do with whiteboard interviews, but with badly chosen tasks (say: data structure brainteasers) for the job interview.
- theworldrocks2 10y agoGet a hacker at your disposal for personal hacking purposes, Anti-spy, credit score fixing, equipment for spying and hacking mail: steelbreaker on techie dot com