25 ms·
> Developer hiring is broken This seems to be a pretty popular opinion. It totally might be right, but it’s not my own experience, so I have a serious question
by dahart 7y ago
> Developer hiring is broken
This seems to be a pretty popular opinion. It totally might be right, but it’s not my own experience, so I have a serious question because maybe I don’t know what’s happening out there with most hiring today - what are the broad-stroke outcomes that demonstrate that hiring isn’t working? Are there statistics that show that hiring has problems? All of the reasons given in the article are claims without evidence, nor objective comparison to hiring for other industries. When looking for jobs, I’ve never been evaluated on IQ or code alone, it has always come with communication and personality and culture fit evaluations, among many other things. When hiring, my own team does everything this article claims isn’t being done. So I might be completely unaware of the major trends out there... how can I see those trends from where I sit? Are people not getting jobs who should, has there been high unemployment? Are companies not able to hire people? If hiring is broken, what are the problems it’s causing?
> It's a disguised IQ test
It is amusing to me that many blog posts and comments around here argue for exactly that under the same banner ‘hiring is broken’. Lots of developers are frustrated about being evaluated by how well they communicate and not by their code. Lots of people here complain about in-person interviews and tests and argue that take-home coding should be the norm, or that coding tests should not used at all.
- jariel 7y agoOne thing I do is: a) Open time. I give them a couple problems in the morning and they can take as long as they want to think about them before the interviews. This takes away the 'deer in headlights' situation that so often happens to people - all of us. I'm good on my feet, but 1 time out 3 'I just don't see it' immediately. But if I have some stress-free time, I usually do. b) Don't test their knowledge of algorithms. Who cares if they've practiced certain things a lot? Doing homework is a small measure of what you want. I give them fairly basic problems that have nice side-show questions to ask and just have a discussion. c) I try to test for knowledge where they should have it: if they've been on tools & build or dev ops they should have a good grasp of things there. Another way to say: you're looking for strengths not weaknesses. I keep an open mind and think 'how can we leverage this person's talent'? Maybe they're not good over here, but better over there. d) Fairly simple code, idiomatic, etc. not rocket science. e) Mature communicator and by that I almost literally mean not too crazy. I think most of us are 'abnormal' and that being a 'decent communicator' is a little bit rare. Companies are full of weird dynamics they have to be resilient a little bit.
- save_ferris 7y agoUnfortunately, I don’t think there’s much data around hiring outcomes because companies really don’t have a reason to share that information. For a lot of people, it comes down to personal experiences. I’ve definitely interviewed with companies where I was put in really unnatural situations that I struggled to shine in. For example, I bombed an interview in which I had to do a live coding challenge where I had to talk through what I was thinking while coding, which the interviewer insisted on so they could understand “how I think”. I thought it was an incredibly cumbersome and useless request because I never talk when I code, and coding in front of others in an interview is tough enough as it is. I asked if we could discuss the solution once I completed the problem, but they declined that idea. Needless to say, I didn’t get the job and the assessment felt like a huge waste of time. I think a lot of people see companies doing stupid stuff like this and get frustrated because candidates are often capable while being placed in high-pressure situations that don’t enable abstract creative thinking, which programming requires.
- catlifeonmars 7y ago> For example, I bombed an interview in which I had to do a live coding challenge where I had to talk through what I was thinking while coding, which the interviewer insisted on so they could understand “how I think”. FWIW, there is limited time to collect data about a candidate in the context of an interview, and being able to observe a candidates’ thought process can help a lot with that. Obviously, this biases hiring towards candidates that are more observable, all else being equal.
- reroute1 7y agoNot sure where you interviewed maybe it's not relevant, but a lot of jobs you will not always be in a position to do the work 100% isolated and by yourself and sometimes there will be other people in the room.
- loriverkutya 7y agoAnd most of them will be not actively evaluating your skill constantly.
- gwbas1c 7y agoI think we all like to complain when we don't get the job we want. It doesn't matter what the process is, some form of song and dance is needed.
- sanderjd 7y agoWould you put more weight on complaints despite getting the desired. I got the job I wanted and I still think it's a terrible system.
- gwbas1c 7y agoIf the interview sucks I decline before an offer is made. Why work for someone with a bad interview?
- sanderjd 7y agoYeah this approach doesn't make sense in my experience. The quality of my jobs has not been at all correlated with my opinion of the interviews to get those jobs. I think one of the reasons the system still lumbers along is that it's still a good trade to go through the hazing in order to get a well compensated and challenging job. But I think it's still worth expressing dissatisfaction with the system in hopes of seeing improvements.
- RichardCA 7y agoOnce you're inside the company there is data about your performance. My point is that there's no control group and therefore no way to test the process in an empirical way and possibly improve it. But the idea of finding a way to measure the performance of people who didn't get hired seems ludicrous, so we're back to being stuck in the status quo. That's what I'm on about. I would love to see an article that talks about this rather than the screeds and diatribes that show up on HN so often.
- frobozz 7y agoThe trouble with the idea of false negatives in hiring is that you can't really define what they are. Every job is likely to legitimately reject good candidates. Most hiring is for a specific position. If you get 10 viable, or even excellent candidates, you can often still only hire one of them. The one that gets it will take the job in their own direction. Almost by definition, the winning candidate is therefore the best fit. Whatever roles the other candidates end up in will go in their own directions. Even if, a year on, you can objectively compare the performance of the one you hired against the one you didn't, their performance was within the context of the role they did win. They may not have been as good a fit for the role you didn't offer them.
- josephg 7y agoI'm a software engineer working at a company in the hiring space. I've done over 400 technical interviews in the last year alone, and ... this is a hot take, and not the view of my employer, but I think developer hiring processes are fine (At least, at most mature companies.) There's a problem at the moment in the market that there's a huge amount of pent up demand for senior developers. The market has responded with bootcamps and the like, and we have a ton of junior devs with very little knowledge and experience pouring into the workforce. The sad truth is that most devs fresh out of collage or a bootcamp aren't valuable enough to be worth hiring at large tech companies like Google. Most people who apply to any hiring role you advertise won't really be able to program effectively. (And if they can, they won't know the conventions of the language they use, they won't know anything about security, they won't be able to read code others write in order to debug it, etc etc.). Programming is hard. It probably takes about a decade of practice to become good at it, and I don't think schools have figured out a replicable way to take someone off the street and teach them programming yet. (For example, most fresh grads have never had to read the code another programmer wrote. Imagine teaching people how to write without teaching them how to read!) I think there's lots of angry junior folks out there saying "Hey, I can write a simple for() loop in python, and lots of people are hiring - but I apply to lots of jobs and keep getting knocked back! The hiring process must be broken!". And a few angry senior engineers out there saying "Why do I have to keep writing fizzbuzz? Its like I have to prove over and over again that I can program at all!". Of course, nobody wants to admit that the reason they failed their 6th whiteboard interview in a row is because they aren't very good at system design. And the reason for that is that their collage didn't teach them any system design skills, and they have no experience, and they never learned how to use words to communicate technical ideas. And ArbitraryProductCo doesn't have the runway to train you up. Of course there's the occasional person who is really skilled and somehow still manages to fail programming interviews all the time. But if the goal of a technical interview is "make sure we don't hire anyone who wouldn't be effective at the job", I think they're fit for purpose. I think the real sin is that we're afraid to tell people they aren't very good at programming yet, and we use technical interviews as a scape goat.
- tomnj 7y ago> huge amount of pent up demand for senior developers But is leetcode really the way to find them?
- sgerenser 7y agoIt varies among the FAANGs, but in my experience Google was the worst with the algorithms above all approach. I actually had one interviewer cut me off after about a minute when I was describing an interesting problem I worked on, saying “yeah ok that’s great let’s get on to the algorithm question.” I’m sure it varies between interviewers but the lineup I had at google clearly didn’t want to dedicate more than a minute or two to non-algorithm questioning.
- starpilot 7y agoIs Google having trouble finding qualified engineers though? If so, what is evidence of this?
- sgerenser 7y agoI’m sure they aren’t for the most part. They have so many people trying to get in that they can afford to have a lot of false negatives though.
- luminaobscura 7y agoit was for your own benefit. intro is just to get you relaxed. most of them don't even consider that part in the evaluation. so the less time spent there the more time you can spend on the algo q.
- user5994461 7y agoIt's counter productive though if the interviewee is cut and gets more stressed out.
- opportune 7y agoYour recruiter was rating you on your performance on the algorithm question, them cutting you off was actually them trying to help you spend enough time on the question.
- sgerenser 7y ago
- closeparen 7y agoThese positions are entirely consistent, it's just a "pick your poison" situation. Whiteboard interviews are a skill unto themselves, with only a glancing relationship to day-to-day job content, artificially high-pressure, overly performative, etc. You measure hours invested in Leetcode, not suitability for the work. Take home projects probably collect good signals, but present a high and (crucially) asymmetric burden on the candidate. No one wants to burn a weekend or vacation days pouring effort into something that the employer can just glance at for 5 seconds and throw in the trash. Also, many candidates would prefer to reuse their time investment over arbitrarily many interviews instead of starting from scratch on each company's assessment. Interviews focused on personality, culture fit, communication skills, and "gut feel" overemphasize the interviewer's personal beliefs. Likable candidates aren't especially likely to be good, and good candidates aren't especially likely to be the kind of people the interviewer wants to have a beer with.
- patrick5415 7y agoPretty good description of all the gripes people have. Hiring software devs is a damned if you do, damned if you don’t proposition—somebody is always gonna bitch.
- closeparen 7y agoThe only unambiguously wrong position is that the system works well and isn't worth improving.
- protonimitate 7y ago>Likable candidates aren't especially likely to be good, and good candidates aren't especially likely to be the kind of people the interviewer wants to have a beer with. See I would much rather invest time and money into somebody that I like being around and who I think is capable, rather than have some jackass who is really really good off the bat. Of course there are biases, but that's true weather you hire for skills, personality, or both. I think a lot of programmers think that your skill level is the only thing you should be judged on, but I think thats mostly because there are a lot of very unlikable people in this field and they'd rather hide behind their perceived skill level than attempt to be a semi likable person. There is a sweet spot, somebody who has skill but is also not terrible to be around, and can learn quickly. The problem is that most interviews swing too far one way or the other to properly asses for both.
- mxcrossb 7y agoI think the real issue is that people assume that the success of the company depends on the quality of the employees. This isn’t true, what dominates is the match between consumer and product. And you simply can’t predict the market that well, that’s the benefit of capitalism.
- sokoloff 7y agoIn software, the product is built by the employees. It would be weird if the quality of the product (abstractly and in product-market fit) were entirely divorced from the quality of the employees. I see it slightly differently; I think that 95% of the success of companies is driven by key moments or decisions by 5% or less of the work. (That’s usually by a similarly small slice of the workers as well.)
- kag0 7y agoI would say the issues with interviews are * they're not cheap (although not that expensive all things considered), assuming you spend say 10 person hours on two calls and an on site. * they produce false negatives. on the spot exam style algorithms interviews don't reflect day-to-day work, and they filter out people who might be great at the job, but aren't used to the specific type of stress that interview creates. * they can produce false positives. failure to check for interpersonal skills in leet koders can leave you wishing you had never hired them. * they're painful for the candidate. ideally your role is the best fit for a candidate. people only have so much emotional and logistical bandwidth. they may take an offer after interviewing with a handful of companies before they ever find you. now, I don't have numbers for those last three points. I don't know if anyone does. but we can look at most hiring processes and see that they are a problem, we just can't tell if it's a big enough problem to consider the process "broken".
- dahart 7y ago> we can look at most hiring processes and see that they are a problem I’m not seeing a compelling problem with the outcome. The question is: are companies not able to hire good people? And: are good people not able to find jobs? Interviews are also expensive for a company. And I don’t really see a clear or compelling argument that interviews somehow cost the candidate money. How much money? If the candidate doesn’t have a job, then what exactly is money or time cost to the candidate? Doesn’t the eventual job with income outweigh all interviewing costs? Isn’t the cost somewhat irrelevant if it’s not egregious, and there’s really no choice if you want a job? Isn’t the alternative, choosing not to interview, potentially way more expensive? If you’re going to frame it as expensive, I think it’s more than fair to counter with you need to average the cost of the interview over the time period that you’re employed. If you interview for 10 hours, and you work there for 5 years, the cost of the interview is 20 seconds per day. > they’re painful for the candidate I agree that interviews have a time cost and that candidates have a finite budget. That means someone looking for a job should invest wisely, figure out how & when to decline an interview, study the companies before interviewing. This is subjective, and it’s not a solvable “hiring problem”. This is something the candidate has to fix for themselves. Nobody is going to give you a six figure salary and ask you to work with them for many years without vetting you. It will always take time, and it will always be somewhat uncomfortable and emotionally draining. Some people prepare for interviews, and some people like to interview. If you view it as a skill, one that you can learn and improve at, maybe it will become less painful for you. But don’t expect that companies are ever going to do that for you.