4 ms·
One thing to consider is that there are many people (myself included) who are really bad at solving problems under stress, especially next to a whiteboard. Not
by jwr 16y ago
One thing to consider is that there are many people (myself included) who are really bad at solving problems under stress, especially next to a whiteboard.
Note that this does not necessarily imply these people are useless in real-life tasks. It just means they are bad at passing exams.
This is why I would never get through Google's interviewing process. Some companies (like Google) just accept the fact they will throw away some possibly good candidates because of the nature of the selection process — and that's fine, as long as you realize that.
Note that I'm talking about solving problems involving abstract thinking next to a whiteboard here. The part about people not knowing the difference between cooperative and preemptive multitasking is something I fully agree with — people who do not know that should not seek a job at a company that deals with anything low-level.
- coffeemug 16y agoWe fully recognize that we have a high false negative rate. We work every day to get it lower, but unfortunately there is only so much we can do without compromising the integrity of the process.
- carterschonwald 16y agoHey Slava, I'm sorry to hear that getting good hires has been do tough. Both myself and the friend who I later referred to you guys definitely agreed that your interview process was very well designed (and pretty darn interesting too). Best of luck!
- Andys 16y agoI have a question for you. I'm comfortable answering those coding questions, but not on a whiteboard. Would you be OK if instead of writing on the white board, I whipped out my laptop and coded the answer there in front of you? If the answer is no, I would happily walk out of the interview knowing I would not be a good fit for the company.
- nradov 16y agoAs a interviewer I always give candidates a choice: white board, paper, or text editor. The majority choose paper.
- heresy 16y agoI have a similar problem with transcribing my thought processes into little diagrams that other people can follow, yet it's the easiest thing in the world to explore the ideas with code. Not sure why that is. Are you also self-taught, by any chance?
- Andys 16y agoYes!
- brown9-2 16y agoNote that this does not necessarily imply these people are useless in real-life tasks. It just means they are bad at passing exams. This is why I would never get through Google's interviewing process. I understand that some people are bad at doing these types of tasks on the spot. But what about training yourself to get better at working like this, by working through exercises, having friends help you out, etc? Maybe it's unfair of me to comment because I'm not in the same boat, but surely there is a way for most people who are currently inherently bad at this class of problem to work on getting better at it, rather than just always assuming that a company like Google or Rethink would never hire them.
- starkfist 16y agoThere was a time when computer programmers were often also very good musicians. People liked to suggest this was so because of a mystical math/music connection, but I always thought it was because musicians were used to practicing to improve their skills.
- amalcon 16y agoThere is only one way to do this. Go do some technical interviews. You're not going to impress everyone, but you will grow more comfortable in that interview room.
- edanm 16y agoIf I were an interviewer, here's what I'd be looking for: 1. You hear "reverse a linked list", you maybe ask some clarifying questions (expected efficiency, in-place or a new list, etc.). 2. You start drawing boxes with arrows on the whiteboard. I've never been able to come up with any algorithm for a linked list without drawing a bunch of arrows and staring at them. And while lots of people might be too stressed out to come up with the algorithm, any programmer who has even a little experience with lists should know to start with that. In other words, if you have any experience with this kind of stuff, it shows up pretty quickly by what you do/what you say.
- cabalamat 16y ago> One thing to consider is that there are many people who are really bad at solving problems under stress I'm surprised that people find writing simple programs and talking about them stressful. I find it quite enjoyable.
- jonpaul 16y agoIt's not that that's stressful, it's the potential possibility of failing the interview and perhaps not being offered the job that causes the stress.
- cabalamat 16y agoYes, but I know (or at least believe) that I'm technically competent. Therefore, the more technical questions I'm asked, the better I'm likely to do on the interview and therefore more likely to get the job. And also, if they don't ask technical questions, they don't have a bozo filter and I'd risk having to work with bozos. It helps, I suppose, that I enjoy explaining things to people.
- Periodic 16y agoI like to steer it to something I'm passionate about. I think (hope) it helps me come off as intelligent and passionate about the work. When I'm talking about something I really care about I forget to be nervous and after the fact I sometimes wonder if I came off as too enthusiastic. As an example, I love Haskell's type system. I will almost always try to explain to interviewers how Haskell's type system would benefit this or that problem, and how it compares with the languages they are using. If the interviewer is any sort of good programmer, we can usually get into a good discussion on the trade offs of different language features. Of course, maybe I would be getting even more offers if I didn't use this tactic.
- LiveTheDream 16y agoI could see this going both ways. On one hand, you are clearly knowledgeable about some of the right stuff on deep level. On the other hand, do you come across as more pedantic than pragmatic? At the end of the day the business is hiring to create value and make money, not to have good academic debates.
- jules 16y agoOn the other hand, any half decent programmer should be able to reverse a linked list under nearly any circumstances.
- pellicle 16y agoThere are many decent programmers who've been using high-level languages like Perl/Python/Ruby/etc for so long that they don't even remember the last time they had to think about a linked list.
- grasshoper 16y agoIf someone doesn't know some definition, they can look it up in a book. If someone isn't able to solve problems, that isn't something you can fix easily. I'm tired of all these people who do poorly on tests turn around to blame the test. Everyone is nervous during tests and interviews. Those who succeed do so because they can solve those problems like the back of their hand.
- calcnerd256 16y agoI somehow don't get particularly nervous during important tests or interviews. I get a little nervous if it's really really important, but I somehow get over that pretty quickly. It's nothing that I earned by hard work or practice, either. Now if only I could apply that gift to talking to women...
- juicebox 16y ago"Everyone is nervous during tests and interviews." Yes, but what you're missing is the degree certain people are nervous. Some people lock up completely due to performance anxiety, which has nothing to do with how difficult the problem is. Those people are also more likely to be found in the computer engineering profession due to the nature of the job. So if you want a charismatic person with strong social skills, then you're just going to have to accept the bullshit artist who is more PR than talent over the painfully anxious and shy person who knows how to program. That, or deal with hunting down the very few people who are both social and vastly knowledgeable. Good luck with that.
- kscaldef 16y agoa) you've presented a false dichotomy between social comfort and programming skills. FWIW, most of the great programmers I've know were quite socially capable. b) If you want to advance as an engineer (of any sort, I would say), social skills are nearly mandatory. People who just code well-specified problems, no matter how well, are going to be stuck at the lower tiers of the profession. Being able to talk with your customers (internal or external) and understand, and help them understand, their needs is essential to increasing your value as an engineer.
- 9oliYQjP 16y agoExactly. There are great essayists. Then, there are great debaters. Both types are great at the art of persuasion, which is the ultimate goal. I used to believe in interviews like this. But after stumbling through poor results, I came to the realization above.