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.

People suck at technical interviews

215 pointsby themonkalmost 11 years ago

36 comments

Jemaclusalmost 11 years ago
My primary criteria when interviewing junior candidates are:<p>1) Do you have basic problem solving skills?<p>2) Can you communicate clearly?<p>3) Do I want to sit next to you for the next 6 months or longer?<p>If you don&#x27;t know Ruby, I can teach you. If you don&#x27;t know Elasticsearch, I can teach you. What I can&#x27;t and don&#x27;t have time to teach you is how to solve a problem on your own without me holding your hand, and I especially don&#x27;t have time to waste trying to communicate poorly with you.<p>And obviously, I want to work with someone who is pleasant and interesting. I don&#x27;t wanna sit next to someone for 40 hours a week who stinks or is rude or can&#x27;t carry a conversation.<p>If you meet those three criteria, you&#x27;ve beaten 90% of candidates that walk through the door. The last 10% is what gets you the job. (Obviously, if you DO know Ruby or Elasticsearch, that&#x27;s a huge plus... but it&#x27;s not one of the bare minimum requirements.)
评论 #8233006 未加载
评论 #8233001 未加载
评论 #8233420 未加载
cjslepalmost 11 years ago
For my first job out of uni, I was asked to write pseudocode on a whiteboard to solve a simple scripting problem (call an executable repeatedly, changing the command line args). My background is nuclear engineering, and I was interviewing at a cloud&#x2F;networking business, so I was already slightly outside my experience comfort zone[0]. I was explaining my thought process while writing on the whiteboard, trying my best to be transparent about how I was thinking, when the interviewer interrupted me.<p>&quot;What is that?&quot; he asked, pointing at the whiteboard.<p>&quot;...pseudocode?&quot; I replied, hesitantly, frantically looking for some mistake where he was pointing.<p>&quot;That&#x27;s not pseudocode...&quot; he said as he started to berate me for <i>not writing bash</i>.<p>After that (I did not get an offer), every interview I went to when someone asked me to write pseudocode I&#x27;d always clarify &quot;Is there any particular language you want me to use?&quot; because I never want to relive that experience again.<p>[0] I had previous experience interning at Cisco.
评论 #8233648 未加载
评论 #8233478 未加载
评论 #8236987 未加载
dopameanalmost 11 years ago
I am an instructor at a coding bootcamp and I conduct technical interviews of our applicants pretty regularly. I have recently been very concerned with tackling the idea the author first addresses: not hiring (or in my case admitting) for what people already know. Our program only has 12 weeks with the students and so what I am most concerned with is the applicant&#x27;s ability to pick up new concepts quickly.<p>In the past we have tested students on the little bit of Ruby or Javascript they had studied to prepare for the interview. I am of the belief that that method has helped determine who knows a little bit of Ruby but <i>not</i> who can ramp up on complicated topics quickly during the program. My attempts to address this have led me to doing a 15 minute lesson on something totally new to the applicant and then having them answer questions based off of that lesson. So far I&#x27;ve found it to be useful.<p>Technical interviews are hard. It&#x27;s easy to suck at them.
nkcpiytdhauwuhcalmost 11 years ago
Fizzbuzz isn&#x27;t supposed to be a test of your knowledge of the modulo operator. It&#x27;s supposed to be a very low bar that can filter out a large percentage of candidates who have no business being there.<p>If you spend 20 minutes on Fizzbuzz, you&#x27;re doing it wrong. It should take 10 tops, and be limited by how quickly the candidate can write.
评论 #8241464 未加载
评论 #8234907 未加载
greyskullalmost 11 years ago
I&#x27;m just about to finish a B.S. in CS, so I&#x27;ve recently been on the other side of the table. I like to think I&#x27;m &quot;aware&quot; enough to give good feedback about my experiences.<p>I&#x27;ve interviewed with two of the large &quot;top&quot; companies. They were two very different experiences.<p>One decided to have me do multiple interviews, with whiteboard coding. The first interviewer was my favorite, because we got to talk about the design of my internship project, how it could be extended, pitfalls to consider, etc. That actually let me stretch my legs a bit and show that I can make intelligent software decisions. The rest of the interviews were basically worthless; the classic small algorithm problem that I could easily figure out with a bit more time or by working with another more experienced engineer. The code I wrote on the board showed that I could write for loops and use a standard library; it was very difficult to modify or refactor if we saw an issue with what I wrote. Why not at least a laptop, basic text editor, and a projector?<p>The other company gave me a few hours to write up a solution, in an IDE, to a somewhat beefy problem. We had a couple of discussions about my approach, potential pitfalls, cases that I couldn&#x27;t handle, optimality, etc. I liked this, since it was much closer to being representative of real software work; collaboration, discussion, and I also got to show how I would actually create a solution.<p>That&#x27;s a stark contrast. I&#x27;m sure there are flaws in the latter approach, but it is if nothing else a much lesser evil that will likely bring in more valuable engineers.
评论 #8233225 未加载
评论 #8233432 未加载
jbogpalmost 11 years ago
Having just had a 3h long technical interview for Google Deepmind, I cannot agree more with a lot of points raised in this post.<p>Deepmind being a machine learning&#x2F;statistics&#x2F;maths&#x2F;computer science fuelled company, it made sense for the interview process to follow this simple organisation.<p>I was however very disappointed by the questions asked for each part. Not a single one of the ~100 questions asked during these 3h of my life demanded some &quot;problem solving&quot; skills, only encyclopaedic knowledge (describe this algorithm, what is a Jaccobian matrix, define what an artificial neural network is, what is polymorphism, give examples of classifiers, what are the conditions to apply a t-test...)<p>So what if someone doesn&#x27;t remember every definition of the stats&#x2F;ML&#x2F;CS&#x2F;Maths respective bibles as long as they&#x27;re clever enough to look it up and understand quickly what&#x27;s needed?<p>I mean, I get it these are very basic questions but as a highly qualified interviewee who necessarily has other offers given this set of skills, this fastidious, back to school, time wasting process does not reflect well on the company and makes me consider my other options even more seriously.
评论 #8233962 未加载
评论 #8234607 未加载
yardiealmost 11 years ago
My first technical interview they asked me to write a constructor and I completely panicked. It still haunts me to this day that I think the guys in the room thought I was some sort of idiot.
评论 #8232929 未加载
评论 #8233487 未加载
评论 #8233035 未加载
评论 #8233069 未加载
seijialmost 11 years ago
Technical interviews are a glaring example of a problem we don&#x27;t really recognize: being stereotypically &quot;male technical smart&quot; is a disability.<p>Having smart people try to determine if another person matches their same definition of &quot;smartness&quot; is fraught with peril. There are a dozen dimensions to &quot;smartness,&quot; and not everybody aligns properly.<p>It&#x27;s similar to the quote &quot;You have to be twice as smart to fix broken code as you were when you wrote it.&quot; Extremely clever code with bugs is provably unfixable. Extremely clever interviews are almost provably bad filter criteria.<p>But, in the context of interviewing, evaluating _a person_ isn&#x27;t the same as evaluating _their immediate output_. Evaluating the future output of a person isn&#x27;t the same as evaluating &quot;can this person replicate intro-to-CS exercises they haven&#x27;t touched in 12 years?&quot;<p>Correct interviews require, <i>gasp</i>, strong compassionate people skills in addition to domain knowledge where you can challenge candidates. You&#x27;ve always got to figure out what they actually know versus what they think they know versus what they say they can do versus what they can actually do.<p><i>Then</i> there&#x27;s an entire other issue of &quot;Smart People&quot; versus &quot;Capable People.&quot; Most people in power end up being &quot;smart,&quot; but not necessarily capable any longer (by &quot;failing upward&quot; and now having magic protections). Some people end up being decision makers with little actual creation responsibilities (read: anything they could actually be judged against), so they are free to just be amazing with little detriment for their decisions. But, sometimes you need a number of &quot;smart but not capable&quot; people to balance out half a company being head-down technically but not necessarily aware of larger issues plaguing them. (Did I just invent managers?)
bcoatesalmost 11 years ago
These essays make me think I don&#x27;t understand why people are doing technical interviews. I give a (brief) technical question&#x2F;coding question interview when I&#x27;m asked to, and I suspect it&#x27;s the kind the author doesn&#x27;t like. But all I&#x27;m looking for is:<p>If candidate lists lots of skills&#x2F;experience, I do a self-assessment where I get them to claim that they&#x27;re really good at something, then ask them to do something that requires bare-minimum skills in it. The idea is not that they need these skills to do the job, but that if you claim a CS degree, eight years work experience, and being a python expert, but you can&#x27;t crack out a basic, non-trick whiteboard coding exercise blindfolded, something smells bad.<p>If a candidate doesn&#x27;t have much experience, I&#x27;m trying to figure out just how green they are; low-experience candidates cover a <i>huge</i> range of skill all the way down to knowing literally nothing but a few buzzwords. If you don&#x27;t know a language or a library or a technology I can teach you, but if you don&#x27;t know <i>anything</i> it&#x27;s going to be years before I can get anything shippable out of you.<p>I wish these weren&#x27;t a major worry but the majority of people who come in the door (after a resume and phone screen!) don&#x27;t pass.<p>What do those of you who are doing intensive whiteboard-coding interviews think you&#x27;re getting out of it?
btiplingalmost 11 years ago
I&#x27;ve been interviewed by seldo before, when he was at awe.sm. It was a good technical interview. His questions were relevant and forced me to think. I like interviews in which I walk away learning something and I definitely did learn something in this case.<p>As for interviewing, I cringe when I think about the poor questions I have asked and the poor decisions I have made, and I try to learn from them. We ended up not hiring qualified people because of bad interviews, although that wasn&#x27;t obvious to us at the time.<p>I was thinking for a future interview the candidate and I would try to learn some new technology and try to build something together during the interview or talk about it at least.
euphemizealmost 11 years ago
I&#x27;m currently studying for multiple interviews at &quot;established&quot; tech companies, and I wonder where the interviewers like the author are. I&#x27;ve already finished a few, and between having to implement a linked list, analyze a matrix, describe hashmaps and regurgitate sorting algorithms, the questions have not had much to do with everyday coding.<p>I&#x27;d be really happy to discuss how to implement feature X in an app, or how to design the moving parts of Y for a particular infrastructure and talk about the tradeoffs each implies. But I guess I&#x27;ll get back at implementing a queue using 2 stacks, because that&#x27;s what technical interviews seem to be for.
ionwakealmost 11 years ago
This is the most god damn cathartic thread I have read on this site after taking 1.5 years out to work on my own stuff and having failed 4 interviews getting back into the workforce, with the most random god damn shit technical tests.
评论 #8233737 未加载
benastonalmost 11 years ago
Oh <i>how</i> I agree with this post. And I&#x27;ve been the asshole on the hiring end before - but I (hope) have learned my lesson.<p>I recently interviewed with a consultancy (role was UK-based) that is desperate (quite literally) to hire experienced developers in the technical area I have experience in. I came highly recommended by a recent senior hire of theirs (he had been my manager).<p>The technical filter question in the face-to-face interview was (paraphrased and simplified): &quot;write an algorithm on the whiteboard to check for mismatched braces&quot;.<p>I described an approximate solution aloud, but did not complete the solution in the interview.<p>As it happens I solved it in my sleep the following night - but of course they will never, ever know that.<p>Now everyone will have their pet theories as to why this is a good or bad question, but these are frankly moot because I am confident the hiring developer had <i>no idea</i> what he was testing for with it. He may have a vague &quot;I know the answer, so he should too&quot; mindset, but not much more.<p>What <i>does</i> this question, presented verbally in an interview really test? A recursive solution sprung to mind, but I can recall implementing recursive solutions in production code only a few tens of times over a ten year career. The question does not test for experience with the technology they are hiring for. It certainly filters out developers who cannot come up with an algorithm while standing at a whiteboard infront of a hostile audience. I could go on, but the biases implicit in this question are as numerous as they are irrelevant.<p>After a few years in the industry you typically get to work direct with these so-called &quot;top end&quot; consultancies anyway, so you get to know what these kind of questions <i>don&#x27;t</i> filter for. I can say with confidence and from experience they don&#x27;t filter for ability to create high quality software.<p>The thing is, this &#x27;clever&#x27; &#x27;does he know recursion?!&#x27; question is almost insultingly trivial when compared to the type of problems most development teams face.<p>Like the fact that although &quot;Joe&quot; has an IQ of 150, he speaks in sentences so impossibly convoluted he may as well be mute. Or &quot;Alice&quot; the sole domain expert, who begrudges her position in some way and will only communicate after you have negotiated the massive chip on her shoulder.<p>Hell, most organisations can&#x27;t even provision accurate testing environments and force their developers to run underpowered Windows laptops.<p>Let&#x27;s walk before we can run yeah?
评论 #8234074 未加载
jakozauralmost 11 years ago
I disagree with author about coding question. In my experience if somebody is not able to code quickly a simple task (like fizzbuz, reverse a string), it&#x27;s a terrible sign. It&#x27;s a simple objective test that filter out a lot of candidates.<p>Yeah they may be able to be productive in some specific environment (e.g. deep in some framework, writing templates), but in general they likely don&#x27;t have solid programming foundation and will produce code of lower quality.
评论 #8233652 未加载
评论 #8233124 未加载
tptacekalmost 11 years ago
This is a really excellent post. It talks about a bunch of things that are hobby-horses of mine (I help run recruiting for a large software security firm), and I find myself agreeing with more of it than I disagree with.<p>I would go a little further than Laurie does. I think several of the goals he sets up for his process are not in reality achievable in an interview process.<p>Starting axiom: job interviews are among the most hostile experiences professionals endure in our industry. I think back to my own interviews, and compare them to public speaking, professional disasters, death march projects with insane deadlines, intractable politics, and it&#x27;s pretty much the interviews alone that increase my heart rate. For the past two years, I&#x27;ve tried to make an effort to peek in on the interviews we do here at Matasano, and what I&#x27;ve seen corroborates the belief. Several of our best hires were <i>physically shaking</i> during their interviews. And we try to be nice! In no other common situation does a tech worker find themselves interrogated by a panel of strangers whose implicit goal is to knock them out of contention.<p>Given that interviews are a psychologically challenging experience, and thinking about things like the concept of &quot;depletion&quot; of ego or willpower, it&#x27;s straightforward to see some severe limitations to what can be accomplished in an interview setting. If you&#x27;re spending lots of energy trying to keep from jumping out of your skin in an unpleasant situation, it&#x27;s much harder to solve problems that themselves require lots of energy.<p>Past that, a hypothesis, which is unpleasant for some tech workers to hear (cold comfort: I&#x27;m 100% certain it applies to me as well). Software developers are not, as a cohort, particularly effective intuitive psychologists. Virtually none of us have any training in the subject. We tend sharply towards introversion. We train our brains day-in and day-out by repeating tasks that do nothing to developer our ability to read in-person social cues. For that matter, we tend as a group to eschew forms of communication in which tone of voice, body language, and emotional cues are even transmitted!<p>But several of the objectives Laurie sets out demand exactly that kind of analysis. &quot;Can the candidate intelligently discuss technology?&quot; Well, that&#x27;s subjective, and worse, vague and abstract. Laurie tries to nail &quot;intelligently&quot; down, but I think we can all see that there are other ways in which someone can be &quot;intelligent&quot; about technology that evade those criteria. Since we all intuitively know that, we substitute our own cognitive biases for &quot;intelligently&quot;. All of the sudden, we&#x27;re gauging &quot;confidence&quot; and &quot;comfort level&quot;... we&#x27;ve decided to be psychologists instead of engineers.<p>So, two changes I would urgently suggest Laurie consider for his process:<p>* Audit the whole process for tasks that could generate false positives from a nervous candidate. You aren&#x27;t interviewing people to determine how good they are at interviewing, because interviewing doesn&#x27;t generate money for your company. Try to build a process that is immune to discomfort and lack of confidence. It can be done! Another thing that we&#x27;ve found very effective: &quot;prime&quot; candidates early and repeatedly with non-adversarial conversations that aim to disarm them. We start our whole (multi-week) process with an hour-long version of this. We also try to innoculate our process by communicating in as much excruciating detail as we can what it will entail.<p>* Eliminate all subjective questions and standardize what you&#x27;re left with. Engineers, in my experience, fucking hate this. But it&#x27;s the right thing to do: ask every candidate, as much as possible, the same set of questions. We have a question structure that minimizes open-ended questions but has some structured &quot;exercise&quot; questions that give the candidate some freedom to move around --- the results of those questions can be put on a scoresheet and, to some extent, compared apples-apples to other candidates.
评论 #8234981 未加载
评论 #8233630 未加载
评论 #8233386 未加载
评论 #8233174 未加载
TallGuyShortalmost 11 years ago
&gt;&gt; Somebody who can intelligently discuss technology &gt;&gt; Somebody who knows what they don&#x27;t know<p>I believe in these principles especially. Most of my interview questions are vague (and I tell the candidate this up-front, and explain why). For instance, I&#x27;ll ask them to explain how they would debug a very slow cluster, or to explain everything happens between me hitting the keys &#x27;google.com&#x27; to me viewing the web page. This gives them a huge range of topics to cover in as much detail as they want. If they know a lot about Linux administration, or how hardware interfaces with the OS, or a lot about network protocols, they have a chance to show it off. I&#x27;ll drill deeper into wherever they take the conversation, and a person scores major points with me if I drill down far enough that they get lost and say &quot;I don&#x27;t know, but my guess would be... and I would confirm that by...&quot;. I&#x27;ve found it to work exceptionally well.
评论 #8232988 未加载
tokenadultalmost 11 years ago
I read the comments already posted in this thread before I read the fine blog post. Almost everybody sucks at interviewing. Research shows that even though job applicants think that an interview is one of the more fair procedures for hiring a new worker for almost any kind of a job, it is one of the least effective.<p>There are many discussions here on HN about company hiring procedures. Company hiring procedures and their effectiveness is a heavily researched topic in industrial and organizational psychology, but most hiring managers and most job applicants haven&#x27;t looked up much of the research. After reading the blog post kindly submitted here, I&#x27;ll make some comments on its tl;dr summary at the end of the post.<p>1. many interview techniques test skills that are at best irrelevant to real working life<p>Yep, that&#x27;s why you want your company hiring procedures to be based on research and what really matters for finding good workers.<p>2. you want somebody who knows enough to do the job right now<p>That&#x27;s the ideal. That&#x27;s why work-sample tests are, by replicated research, a very good hiring procedure, one of the best possible hiring procedures.<p>3. or somebody smart and motivated enough that they can learn the job quickly<p>Yep, and that&#x27;s why tests of &quot;general mental ability&quot; are also a very effective hiring procedure, although there are some legal requirements surrounding use of those that you have to be careful about in the United States.<p>4. you want somebody who keeps getting better at what they do<p>For sure, as that is the only way your company can meet new challenges as they come up in the company&#x27;s business.<p>5. your interview should be a collaborative conversations, not a combative interrogation<p>I&#x27;m not sure that the author here has provided evidence for the &quot;should&quot; statement in this summary, although I actually don&#x27;t disagree as a matter of how I do job interviews.<p>6. you also want somebody who you will enjoy working with<p>Basically, almost all hiring managers fall victim to overemphasizing likability and underemphasizing ability to get the job done, but, yeah, you don&#x27;t want to hire someone who makes the workplace miserable--that might cost you losing other good workers.<p>7. it&#x27;s important to separate &quot;enjoy working with&quot; from &quot;enjoy hanging out with&quot;<p>Absolutely. The best worker in your company may not be the same person you go out with socially after work.<p>8. don&#x27;t hire assholes, no matter how good they are<p>The trick here is to figure out how much annoying behavior qualifies a person as an &quot;asshole&quot; in a particular context, and that is not easy.<p>9. if your team isn&#x27;t diverse, your team is worse than it needed to be<p>There is an increasing body of research to back up this idea.<p>10. accept that hiring takes a really long time and is really, really hard<p>Hiring is hard. It may or may not be time-consuming, depending on how efficiently you do it.<p>The review article by Frank L. Schmidt and John E. Hunter, &quot;The Validity and Utility of Selection Models in Personnel Psychology: Practical and Theoretical Implications of 85 Years of Research Findings,&quot;[1] Psychological Bulletin, Vol. 124, No. 2, 262-274 sums up, current to 1998, a meta-analysis of much of the <i>huge</i> peer-reviewed professional literature on the industrial and organizational psychology devoted to business hiring procedures. There are many kinds of hiring criteria, such as in-person interviews, telephone interviews, resume reviews for job experience, checks for academic credentials, personality tests, and so on. There is much published study research on how job applicants perform after they are hired in a wide variety of occupations.[2]<p>EXECUTIVE SUMMARY: If you are hiring for any kind of job in the United States, with its legal rules about hiring, prefer a work-sample test as your hiring procedure. If you are hiring in most other parts of the world, use a work-sample test in combination with a general mental ability test.<p>The overall summary of the industrial psychology research in reliable secondary sources is that two kinds of job screening procedures work reasonably well. One is a general mental ability (GMA) test (an IQ-like test, such as the Wonderlic personnel screening test). Another is a work-sample test, where the applicant does an actual task or group of tasks like what the applicant will do on the job if hired. (But the calculated validity of each of the two best kinds of procedures, standing alone, is only 0.54 for work sample tests and 0.51 for general mental ability tests.) Each of these kinds of tests has about the same validity in screening applicants for jobs, with the general mental ability test better predicting success for applicants who will be trained into a new job. Neither is perfect (both miss some good performers on the job, and select some bad performers on the job), but both are better than any other single-factor hiring procedure that has been tested in rigorous research, across a wide variety of occupations. So if you are hiring for your company, it&#x27;s a good idea to think about how to build a work-sample test into all of your hiring processes.<p>Because of a Supreme Court decision in the United States (the decision does not apply in other countries, which have different statutes about employment), it is legally risky to give job applicants general mental ability tests such as a straight-up IQ test (as was commonplace in my parents&#x27; generation) as a routine part of hiring procedures. The Griggs v. Duke Power, 401 U.S. 424 (1971) case[3] interpreted a federal statute about employment discrimination and held that a general intelligence test used in hiring that could have a &quot;disparate impact&quot; on applicants of some protected classes must &quot;bear a demonstrable relationship to successful performance of the jobs for which it was used.&quot; In other words, a company that wants to use a test like the Wonderlic, or like the SAT, or like the current WAIS or Stanford-Binet IQ tests, in a hiring procedure had best conduct a specific validation study of the test related to performance on the job in question. Some companies do the validation study, and use IQ-like tests in hiring. Other companies use IQ-like tests in hiring and hope that no one sues (which is not what I would advise any company). Note that a brain-teaser-type test used in a hiring procedure could be challenged as illegal if it can be shown to have disparate impact on some job applicants. A company defending a brain-teaser test for hiring would have to defend it by showing it is supported by a validation study demonstrating that the test is related to successful performance on the job. Such validation studies can be quite expensive. (Companies outside the United States are regulated by different laws. One other big difference between the United States and other countries is the relative ease with which workers may be fired in the United States, allowing companies to correct hiring mistakes by terminating the employment of the workers they hired mistakenly. The more legal protections a worker has from being fired, the more reluctant companies will be about hiring in the first place.)<p>The social background to the legal environment in the United States is explained in various books about hiring procedures,[4] and some of the social background appears to be changing in the most recent few decades, with the prospect for further changes.[5]<p>Previous discussion on HN pointed out that the Schmidt &amp; Hunter (1998) article showed that multi-factor procedures work better than single-factor procedures, a summary of that article we can find in the current professional literature, for example &quot;Reasons for being selective when choosing personnel selection procedures&quot;[6] (2010) by Cornelius J. König, Ute-Christine Klehe, Matthias Berchtold, and Martin Kleinmann:<p>&quot;Choosing personnel selection procedures could be so simple: Grab your copy of Schmidt and Hunter (1998) and read their Table 1 (again). This should remind you to use a general mental ability (GMA) test in combination with an integrity test, a structured interview, a work sample test, and&#x2F;or a conscientiousness measure.&quot;<p>But the 2010 article notes, looking at actual practice of companies around the world, &quot;However, this idea does not seem to capture what is actually happening in organizations, as practitioners worldwide often use procedures with low predictive validity and regularly ignore procedures that are more valid (e.g., Di Milia, 2004; Lievens &amp; De Paepe, 2004; Ryan, McFarland, Baron, &amp; Page, 1999; Scholarios &amp; Lockyer, 1999; Schuler, Hell, Trapmann, Schaar, &amp; Boramir, 2007; Taylor, Keelty, &amp; McDonnell, 2002). For example, the highly valid work sample tests are hardly used in the US, and the potentially rather useless procedure of graphology (Dean, 1992; Neter &amp; Ben-Shakhar, 1989) is applied somewhere between occasionally and often in France (Ryan et al., 1999). In Germany, the use of GMA tests is reported to be low and to be decreasing (i.e., only 30% of the companies surveyed by Schuler et al., 2007, now use them).&quot;<p>[1]<p><a href="http://mavweb.mnsu.edu/howard/Schmidt%20and%20Hunter%201998%20Validity%20and%20Utility%20Psychological%20Bulletin.pdf" rel="nofollow">http:&#x2F;&#x2F;mavweb.mnsu.edu&#x2F;howard&#x2F;Schmidt%20and%20Hunter%201998%...</a><p>[2]<p><a href="http://www.siop.org/workplace/employment%20testing/testtypes.aspx" rel="nofollow">http:&#x2F;&#x2F;www.siop.org&#x2F;workplace&#x2F;employment%20testing&#x2F;testtypes...</a><p>[3]<p><a href="http://scholar.google.com/scholar_case?case=8655598674229196978&amp;q=Griggs+Duke+Power&amp;hl=en&amp;as_sdt=2,24" rel="nofollow">http:&#x2F;&#x2F;scholar.google.com&#x2F;scholar_case?case=8655598674229196...</a><p>[4]<p><a href="http://books.google.com/books?hl=en&amp;lr=&amp;id=SRv-GZkw6TEC" rel="nofollow">http:&#x2F;&#x2F;books.google.com&#x2F;books?hl=en&amp;lr=&amp;id=SRv-GZkw6TEC</a><p>[5]<p><a href="http://intl-pss.sagepub.com/content/17/10/913.full" rel="nofollow">http:&#x2F;&#x2F;intl-pss.sagepub.com&#x2F;content&#x2F;17&#x2F;10&#x2F;913.full</a><p><a href="http://www.economics.harvard.edu/faculty/fryer/files/Fryer_Racial_Inequality.pdf" rel="nofollow">http:&#x2F;&#x2F;www.economics.harvard.edu&#x2F;faculty&#x2F;fryer&#x2F;files&#x2F;Fryer_R...</a><p>[6]<p><a href="http://geb.uni-giessen.de/geb/volltexte/2012/8532/pdf/preprint_j.1468_2389.2010.00485.x.pdf" rel="nofollow">http:&#x2F;&#x2F;geb.uni-giessen.de&#x2F;geb&#x2F;volltexte&#x2F;2012&#x2F;8532&#x2F;pdf&#x2F;prepri...</a>
评论 #8234461 未加载
alistonalmost 11 years ago
I think there are some good points here, but I would argue that a lot of these are essentially points for hiring more junior engineers. There are cases where hiring for what someone already knows DOES matter.<p>I have come across too many codebases that were clearly written by folks who were in the &quot;get stuff done&quot; mentality. Frankly, when you&#x27;re learning a new technology in addition to trying to do your job, your code&#x2F;architecture just isn&#x27;t going to be that good off the bat. If the company had instead hired someone who knew what they were doing from the get go, they could have started with a more solid foundation and potentially avoided pain down the road.
评论 #8233164 未加载
评论 #8233064 未加载
评论 #8233026 未加载
adricnetalmost 11 years ago
One of the things done right at one place where I did a great many interviews for technical candidates was at a late phase to break out the technical interview and the management interview.<p>This allowed a group of potential peers to have a friendly discussion of varying depths about not only the recent work and advertised skills of the candidate but about current events and community engagement.<p>We became adept at evaluating candidates based on how they answered problems we presented, whether we believed they actually had the skills and experience on their CV, and how committed and engaged they were to the profession.<p>This is especially important for security related careers because community engagement is vital, most people can&#x27;t talk in detail about previous work and may not have been able to publish public material, and work is highly specialized. It is tough to evaluate someone on skills and knowledge they have and you don&#x27;t, but we got good at it.<p>And then the managers could talk to the candidate in a separate panel and ask ... well I have no idea to this day, actually :)<p>I say more about all of this a presentation I did in February, Breaking Into Security: some InfoSec Career tips, presented at DC404, slides here: <a href="http://www.atlbbs.com/sharkin/breakin-dc404.pdf" rel="nofollow">http:&#x2F;&#x2F;www.atlbbs.com&#x2F;sharkin&#x2F;breakin-dc404.pdf</a>
ap22213almost 11 years ago
Instead of technical interviews, I would <i>love</i> to just pay a potentially great candidate to come in and work for the day. Not only would it give them an opportunity to demonstrate what they know and show off their other skills, it would give our team a chance to see if they&#x27;re a good fit. And, there would be some real financial incentive for them to give us a try.<p>But, trying to get management and HR to change from the conventions is extremely difficult. I have not been successful.
评论 #8233016 未加载
评论 #8233510 未加载
评论 #8233007 未加载
pmiller2almost 11 years ago
Followup question: Where can I find a list of companies (other than npm and Matasano) that <i>don&#x27;t</i> interview with the stupid &quot;write code on the whiteboard&quot; method?<p>I&#x27;ve got some (1.5 years) experience, and I can write code. But put a whiteboard marker in my hand and ask me questions you know the answers to, in a high-stakes, high-pressure environment, and I fall apart.<p>Case in point: a recent technical interview I did, I did reasonably well until the last 1 hour session, which was the &quot;code on the whiteboard&quot; problem. I got code that functioned but wasn&#x27;t fast enough. At home, after 1 google search and a few minutes, I solved the problem.<p>I&#x27;m definitely in favor of the &quot;do a small project&quot; type of code interview. It has its own pitfalls, but it&#x27;s way better, IMO.
danielrm26almost 11 years ago
While I can see potential danger in hiring friends, I think it&#x27;s wrong to say outright that it&#x27;s a bad idea.<p>Most bad hiring of friends comes from being bad at hiring in general. If you hire someone BECAUSE they&#x27;re your friend, then you&#x27;re doing it wrong. The idea is to hire people who are qualified and who you know to be quality over a long period of time.<p>Used properly, friendship can just be considered a source for good references in this case, and potentially some additional glue during tough times.<p>It&#x27;s true there are risks to hiring friends, especially if it&#x27;s done poorly or for the wrong reasons, but it&#x27;s also true that there can be extraordinary benefits.
SnacksOnAPlanealmost 11 years ago
My go-to question for technical interviews is &quot;how would you write Scrabble?&quot;. It&#x27;s very open-ended. I expect them to ask me questions like &quot;what do you mean, write Scrabble?&quot;, to draw out some class diagrams, and to implement some scoring. It shows how self-directed they are and how much they trust themselves to develop architecture.<p>I hate questions about bit-twiddling and sorting algorithms. I wouldn&#x27;t remember that stuff because I never do it. I do expect candidates to be able to analyze an algorithm for time and space requirements, because that&#x27;s important for pretty much any coding job.
评论 #8237188 未加载
评论 #8234239 未加载
Ryelalmost 11 years ago
I&#x27;ve interviewed with dozens and dozens of startups in NYC. I&#x27;m an entry level Front-End Dev with passion for a lot of things I (in hindsight) probably should have gone to college for. For example, my current side-project is a completely client-side image metadata reader&#x2F;writer that has forced me to learn new things like parsing Binary, Endianness, Meta and a lot of things about organizing JS because I&#x27;ve never built this large of a project completely by myself even though it is very, very small. A weekend project for most of you.<p>Throughout all of my interviews I&#x27;ve noticed one common trait.<p>Either I do exceptionally well on the personal questions during the interview, or I do really well on the technical questions. There is no in-between.<p>Most of my interviews could be broken up into 2 sections. The first section is usually where they open up and try to make things more comfortable. Asking me where I&#x27;m from, how long I&#x27;ve been writing code, what kind of side-projects I&#x27;m working on, etc...<p>The second part of the interview is when they try to figure out how much I know. Usually we start off by just talking about technology and this is where they try to figure out if I&#x27;m BS&#x27;ing my way through things. If you can maintain a fluent conversation about technology; you&#x27;re good-to-go. After that they will generally try to slip in a few questions, usually about event delegation in Javascript.<p>The problem for me comes from when we switch from personal questions to technical ones, or vice-versa. I will pass either one with flying colors but I will rarely, if ever, pass both. If that particular day I can&#x27;t sell my personal story very well, I do very well on the technical questions. If I do well on the personal questions, I do terrible on the technical questions. I believe there is a vast cognitive gap when you go from an emotional conversation talking about significant things in your past (like side-projects, old employers, hometown, etc..) and then jump to such rigid topics like code where there is no emotion, it&#x27;s purely analytical thinking.<p>What I would prefer is for a company to pay me $100 to come into the office and work a half day. If I can keep up, I get the job.
评论 #8233715 未加载
darkstar999almost 11 years ago
&gt; I used to ask people to write code in interviews. This is terrible.<p>Bull! Last time I interviewed someone, they looked good on paper and decent on the phone. When it got down to solving a _simple_ problem on the whiteboard, he totally flopped. This is a totally realistic situation; we get together at least weekly and hammer out a solution on the whiteboard. Nerves could be an issue, but a good candidate should be able to solve an easy problem in a handful of minutes in an interview. (I&#x27;m talking _super_ easy, like joining one SQL table to another after saying that you are proficient)
评论 #8233005 未加载
lazyantalmost 11 years ago
This is one of the best write-ups over tech hiring I&#x27;ve seen in a while. For me is about &quot;get the job done, don&#x27;t be a dick&quot;, problem is how to test for that under time and other constraints.
blutootalmost 11 years ago
Not sure if this is off-topic but my concern is related to technical interviews.<p>How do software engineers&#x2F;devs&#x2F;etc &quot;stay in shape&quot; for technical interviews? Let&#x27;s say I wanna switch jobs and the first hurdle to cross is inevitably algorithms and data structures (for dev-centric roles) or something like operating systems&#x2F;networks&#x2F;whatever. How does one stay sharp on those _fundamental_ skills on a regular basis while working on a job, to avoid cramming everything in one week before the interview?
darklajidalmost 11 years ago
The other side to that story: I&#x27;m scared like shit whenever (and that&#x27;s often enough) I consider applying for a new thing. And back out, don&#x27;t even try.<p>Most of the reasons are listed in the article, but let&#x27;s be honest: I&#x27;d face most of these things.. So the pipe dream atm is to find some time for personal projects, foss contributions and .. use that to get to more reasonable opportunities. Reaching ten years with this company here, these interview stories might keep me here for another decade.
评论 #8233444 未加载
russellurestialmost 11 years ago
I&#x27;m not sure I agree with the &quot;team fit&quot; thing. I get his point - most people don&#x27;t understand what team fit is or can&#x27;t separate it from personal bias. But here&#x27;s my counter-argument.<p>Every company and team has different core values. &quot;Team fit&quot; means matching company and team values. For example, I work on educational software for teacher and students. My definition of &quot;team fit&quot; (for this particular team&#x2F;company) is that the person care about improving quality of education. If you&#x27;re applying just because you need a job but don&#x27;t care about what it is we&#x27;re making, I don&#x27;t care about any of the other criteria listed in this article - I&#x27;m not hiring you. You may be smart, able to learn, and a great communicator - but you don&#x27;t care about what we&#x27;re building so you don&#x27;t have the same core values as the rest of the company and team.<p>This is what &quot;team fit&quot; means - not what they look like, what they do in their off time, or anything else; &quot;team fit&quot; is &quot;do they personally value the same things we value as a team&quot;?<p>If you value transparency and collaboration and they prefer to work as a lone gunman, they&#x27;re not a team fit. If you value rapid iteration and user feedback and they don&#x27;t want to release anything until it&#x27;s 100% perfect in their eyes, they&#x27;re not a team fit. So on and so forth with the examples.
评论 #8233403 未加载
评论 #8233325 未加载
评论 #8233585 未加载
jiggy2011almost 11 years ago
&gt; <i>Variation across teams in big companies is enormous. Just because a company was successful doesn&#x27;t mean your candidate had anything to do with that.</i><p>This might seem to be an over generalisation. It&#x27;s probably true enough at large consulting body-shops but I&#x27;d certainly punt on a lower-end ex google dev comparing favourably to the industry average.
ilyanepalmost 11 years ago
All of these exact same points (including a very similar title) have been floating around my head as an idea for an article I wanted to write. I was so pleased to find that you had basically written my article for me. Very well said on all accounts :D
yeukhonalmost 11 years ago
As someone who recently graduated from college, by far the best interview I ever had was just question all day and asked about projects I would want to work on and asked to explain how I would go about designing my project on the whiteboard. No I didn&#x27;t get that job; I screwed up the last part (well I did answer some questions incorrectly but I think they didn&#x27;t care much about that). For what it is worth, the position has to do with security research and engineering. The coding part I had to go through was fairly quickly (but the interviewer, IMO, didn&#x27;t do a good job at it and caused me a lot of trouble). Geesh, I wish I was given a offer, but looking back I wasn&#x27;t ready to deliver ANYTHING valuable as an [researcher]engineer yet.<p>When people just say a bunch of smart words like async and parallelism, ask them to define them with concrete examples. Ask them further to break down their &quot;textbook knowledge.&quot; That&#x27;s by far, IMHO, the best way to evaluate whether a junior prospective engineer knew a lot than average or not. You want a hard question? Just ask people to go as deep as they can to explain to you what happen after a URL is entered into a HTTP client such as browser or curl.<p>I am terrible at coding under pressure. Actually, I am terrible at coding. I constantly read books and github projects and I end up asking a lot of questions: is this a good practice to do such. You see, I am all for style and I want to be better writing code close to what people prefer to write. I went to talks and learned tips how to write better code and I will immediately employe those new techniques in my new projects.<p>I will end up with questions and I always wish someone could be around and help. I usually go to IRC or stackoverflow for opinion but I hope when I do get a job soon, I will be able to ask my senior colleague and hope they could provide feedback.<p>I haven&#x27;t done everything like some superstar already have at my age. I suck and I am sorry, but I think I am one smart ass person capable of delivering a project with some guidance and day-to-day meeting and mentorship.<p>In fact there are senior engineers I&#x27;ve met or worked very very briefly during hackathon and when I asked them certain design question they will blur about their ideas and don&#x27;t really know how to contribute, or up to me to explore what could be done. In essence, neither of us know everything. Senior knows more because they have done more, almost certainly something repetitive. It is like asking me to write hello world every day and I will have no problem responding to it. Sometimes when you look at code written by senior engineers their code smell even worse than what I write (but there are definitely the good one I can always use as reference).<p>Conclusion is: when you want to hire a new engineer, especially a junior engineer, ask yourself: are you ready to be a mentor and is there anyone ready to believe they can be a good mentor. Actually, when you hire someone, ask your co-workers whether they are ready to be each other&#x27;s mentor. I don&#x27;t want to work at a company where everyone is hiding in a cave and think everyone is smart and autonomous. There are times you need to be there to guide someone through his or her obstacle. A company encourages brownbag and training will be ideal for me.<p>I am serious; don&#x27;t ask me to code quick sort. I am not going to do it. I know I am just going to memorize it and after I&#x27;ve written one a dozen time it will just become hello world. No, I am kidding. I need a job so I will do it. I will, but feeling a time bomb ticking next to me. I will either fail or go on with another few rounds writing more quick sort.
bcantrillalmost 11 years ago
I think a more apt title is &quot;technical interviews suck&quot;, and speaking personally, I have entirely given up on them. (I would say that I gave up on them after two decades, but the truth is that I gave up on them a decade ago -- and I really tried hard in that first decade to develop the perfect technical interview.)<p>My belief has become that the only way to hire the traits that I&#x27;m looking for (high technical ability, sufficient education, predisposition to rigor, and -- most importantly -- indefatigable persistence) is by judging a candidate on their work, not their performance in an interview. (After all, software engineering isn&#x27;t done via pop quiz -- and it&#x27;s not even a timed test.)<p>The problem then becomes: how do you judge the works of someone you&#x27;ve never worked with before? Three ways that have worked for me:<p>(1) Rolodex. This is an easy way to hire reliably: someone on the team has worked with the person in the past, and vouches for them as one of the tribe. Assuming that you trust the person vouching for them, the interview consists of you selling them, not them selling you. This method has high fidelity (though is still fallible), but also suffers from obvious limitations in terms of scale and breadth.<p>(2) Known curricula. There are some schools where I know (or someone on the team knows) the computer science curriculum very well, and can assess a student simply by the courses that they have taken (or, better, TA&#x27;d), the labs they have worked in, or the professors that they have worked for. The fidelity of this method will depend on the school, how well one knows the curriculum, etc. -- and it has all of the strengths and weaknesses of hiring university grads. (It also suffers from serious scale problems and runs the risk of creating monoculture.)<p>(3) Open source. If you lead open source projects that attract community contributors, you may find it surprisingly easy to coax the best of those contributors into working for you full-time. While I know that this isn&#x27;t a fit for every company, it has become my preferred way to hire: you are hiring someone who can obviously do the work (because, um, they&#x27;re already doing it) and who has demonstrated interested in the problem space (especially if their contributions have come during their free time). Importantly, you are also not limiting yourself to a particular geographic area or school or company history or whatever; the people I have hired via open source are people I never would have found otherwise. And, it must be said, they have proven (without exception, actually) to be great hires. There are obvious problems with this as well in terms of scale and (especially) predictability, but I view open source as the farm system for software engineering: it&#x27;s a way to find and develop talent at lowest opportunity cost.<p>Edit: I forgot a fourth method that has actually worked for me.<p>(4) Homework. When interviewing someone who I don&#x27;t know and who is otherwise a stranger, I will ask them some exceedingly basic questions to assess technical viability, and then proceed to discuss the problems that we&#x27;re solving and why I personally find them exciting. If they are sufficiently interested at the end of this conversation (which is really more me selling them than them selling me), I will assign homework -- which is generally to take some fixed amount of time (I have usually said no more than eight total hours) to build something fun in one of the technologies that we have built or otherwise use. (When node.js was new, this was to build something in node.js -- but more recently, it&#x27;s been to build something fun with Manta.[1]) If a candidate comes back with completed homework, you each know something about the other: they were sufficiently interested in you to actually play around (and they like playing around to begin with -- which is essential for us) and you now have some works by which to judge them.<p>[1] <a href="http://www.joyent.com/blog/introducing-kartlytics-mario-kart-64-analytics" rel="nofollow">http:&#x2F;&#x2F;www.joyent.com&#x2F;blog&#x2F;introducing-kartlytics-mario-kart...</a>
评论 #8233300 未加载
Todoedalmost 11 years ago
Mostly do!
评论 #8233071 未加载
lnanek2almost 11 years ago
&gt; The famous fizzbuzz test simply asks &quot;are you aware of the modulo operator?<p>No it doesn&#x27;t. It could be implemented with counters you reset when needed. Didn&#x27;t really read any further, I don&#x27;t think this person should really be giving technical interviews anyway.
评论 #8233365 未加载
shaunrussellalmost 11 years ago
From my experience this is how everyone is hiring... sounds like you&#x27;ve had some bad experiences.