13 ms·
I've been long frustrated about how technical interviewing takes place in our industry (and I've written about it quite a bit as well eg. https://www.neilwithda
by nsainsbury 6y ago
I've been long frustrated about how technical interviewing takes place in our industry (and I've written about it quite a bit as well eg. https://www.neilwithdata.com/developer-hiring https://www.neilwithdata.com/developer-hiring)
I think many companies through the hiring process completely lose sight of what they are actually looking for. They forget that the barriers they erected (whether they be whiteboard problems, take-home coding tests, algorithmic dance on your head textbook problems, etc.) are simply signals about the actual person and their capabilities...and usually, they're _exceedingly poor signals_. That's why you end up with situations where extremely accomplished and talented developers don't pass many technical interviews at companies where they would have otherwise gone on to be outstanding employees.
And it keeps happening, and happening, and happening.
Interviewing for a developer role should be far, far, far more holistic than it is today - rather than throwing away my entire history of accomplishments and creations and just assessing me on the spot in a 2hr winner-takes-all high-stakes game of whiteboard/technical trivia.
For example:
* If I have a strong GitHub portfolio of projects I can prove I worked on, that should 100% take priority as a signal as to my capability and how I think about committing regularly, writing clear commit messages, etc.
* If I've built products I can prove I alone built and I can walk you through my code, that should 100% take priority as a signal as to how I write code, my proficiency with a particular language, etc.
* If I communicate clearly over email, have a blog with my writing demonstrating my ability to clearly communicate technical topics, that should 100% take priority as a signal as to how well I communicate.
etc, etc.
Sadly, today, I'd say ~90% of technical interviews completely and utterly ignore all the above and want you to do the technical monkey dance...because clearly, what makes a developer great is grinding leetcode for 3 months and then pretending you haven't seen the problems before during the interview.
- ozim 6y agoYes they ignore that because people don't have time to go over single person portfolio if you have 10-20 candidates. People can create fake portfolios and you even have systems to make it look like you are active on git hub. Then learn to talk through the code or present that code without understanding any of it. You really really don't want to hire someone like that. If I ask you on the spot and have discussion about something new you just had to come up with, it is much harder to bs. It is not just about you, it is not just about company. It is about relationship. When I meet someone for the first time I don't trust them, there is so many scam artists that can tell colorful stories where they are "military paramedic just back from mission". Then this story will fall apart only after they are already months in job. If they are scammers they probably will do other bad stuff as well.
- ornornor 6y ago> People can create fake portfolios and you even have systems to make it look like you are active on git hub. Then learn to talk through the code or present that code without understanding any of it. You really really don't want to hire someone like that. Oh come on. What’s the proportion of people doing that out of the applicants you ever interviewed? Having a five minutes chat about any of their projects would weed them out right away.
- MoBattah_ 6y agoI think the user you're replying to has trust issues. "When I meet someone for the first time I don't trust them, there is so many scam artists that can tell colorful stories" Sounds like they've been scammed before and are taking it out on candidates.
- nerder92 6y agoI always wonder why people have this second thought about these super complex and convoluted sneaky edge cases. Maybe I'm being naïve here, but I truly think that this will happen in less than the 1% of the candidates, there are just so many jobs offers to waisting the time on doing all that for a "chance" of trick one interview, which you might not even like the offer and then ending up rejecting anyways. I think that you should work on these trust issues, the interview process is about hiring people not rejecting them.
- coffee 6y ago> I think many companies through the hiring process completely lose sight of what they are actually looking for I think you're right about that. But I've also seen (from both sides of the table) that many companies also have no idea of what they are actually looking for.
- ryannevius 6y agoThis x 1000. I'm a contractor, so I luckily don't _need_ to find a full time position at the moment; but I occasionally stick my feet in the water to see what's available. I've interviewed with a handful of companies over the past week and around 50% of them describe problems/roles that are mostly different than the original job post. When pressed on the matter, it becomes clear that they have no idea what problem they're actually trying to solve, nor which type of candidate would be a best fit for those unknown problems.
- raincom 6y agoRecently, a friend of mine was interviewed for a contract role at Walmart. The first question was some dynamic programming question off of leetcode. He got stuck trying to program it. After 20 mins, he gave up and told the interviewer that he was not the right fit for the role. Sure, if they are paying $250K per annum, yes go for mini programming olympiad. Walmart's staffing company was paying like $75 per hour on W2 in the bay area.
- ctchocula 6y agoNot to nitpick, but $75 per hour x 40 hours per week x 52 weeks per annum = $156,000, which isn't exactly peanuts. According to levels.fyi, it's a bit less than entry-level for FANG companies, but still a reasonably high salary that sits squarely between E3 and E4 (Senior Software Eng) pay grades for Walmart Labs. It would be a role I would consider testing for the easier DP questions.
- playing_colours 6y agoIt is a contract position for a senior engineer, not a permanent role.
- MoBattah_ 6y ago$156k in SF for a contractor is garbage pay. You have to pay for all your own expenses. Maybe you'd net $110k after all taxes and expenses. There's real contractors and then there's fake contractors which should always be called staff augmentation. No real senior software dev contractor would accept $75/hour in the Bay area. You're looking at minimum $100/hour. Although, "fake contractors" or staff augmentation, those can be paid $75/hour or less.
- perl4ever 6y agoIt looks like median wages for a programmer in SF are around $55/hr according to the BLS. So if I was hiring, I'd assume median plus 1/3 for a contractor is plenty. https://www.bls.gov/oes/current/oes_41860.htm https://www.bls.gov/oes/current/oes_41860.htm
- jjav 6y ago> I think many companies through the hiring process completely lose sight of what they are actually looking for. Absolutely. There was a topic here about a week ago where one commenter in particular personified this line of thought (sorry I don't have a link to the comment). Paraphrasing, they said that if they very to interview someone they're already working with and know to be a very strong contributor, they'd still subject that person to the technical monkey dance, as you put it, and if they "fail" then they wouldn't be hired. It blew my mind that anyone can think that way. Clearly the interview hazing culture has become so entrenched that the game of the interview has grown to be an entity to itself. We seem to have forgotten the actual goal is to hire good people. Personally if I'm hiring someone I've already worked with, I don't do any interview. What would be the point? There is nothing I can learn in 45 minutes that I don't already know from months/years working together. If I called them up from my contact list is because I already know they're capable. All I need to do is describe the role and job and ask if it is a fit for their career goals at the moment.
- mattkrause 6y ago> they'd still subject that person to the technical monkey dance, Someone here said that about John Carmack, which just blows my mind. Exactly how bad would his 8-Queens solution have to be to change your opinion of him?
- willemmerson 6y agoHopefully it would have the comment "what the fuck?" in somewhere.
- yomly 6y agoOur whiteboarding question at NeverPivot.mvp is to ask candidates to implement an algorithm to find the inverse square root of a number. We would also subject John Carmack to that technical monkey dance because we don't believe in free handouts.
- nmyk 6y agoWelcome to NeverPivot.mvp! We're thrilled you decided to take the next step in your career as a NeverPivoter. Your job is to add features to the product, period. More features, better job title. That's all we can afford to do for you for now! No one with any useful experience works here, so have fun and be scrappy :)
- vegetablepotpie 6y agoSo here’s a counter perspective: there is no good way to interview, there are just less bad ways, which depends on your company. The worst filter is choosing at random. If I shuffle a stack of resumes and throw half in the trash, I have eliminated the unlucky candidates. I have certainly rejected a good number of skilled and highly qualified candidates. Regardless the filter did its job, I have fewer applications to review. If I give candidates whiteboard problems, I filtered out thoughtful people who don’t perform well under pressure. If I look at interviewees github submission and blog posts I have filtered out intelligent people with a dearth of free time. If I combine the two filters with an OR relationship, I now let more people through and have a filter that is less effective at narrowing down candidates. All filters filter out good candidates. Anyone who finds a way to find exactly the right candidates from a filter in a way that isn’t bespoke and is scalable is going to be very successful.
- l0b0 6y agoSounds like you're making the point that no filter should be absolute - you need more than one way to evaluate candidates, and a bad result with one of them should simply be ignored if other results are great.
- Vinnl 6y agoThe other interpretation is that you need just one good candidate, meaning you'll have to filter out many - some of whom would also have been good, perhaps even better.
- l0b0 6y agoThat sounds like you're most likely to end up with a mediocre candidate, one which passed all the filters. I'd rather take the hugely impressive whiteboarder (for example) than the mediocre everything.
- TedDoesntTalk 6y agoIt's amazing to me that, in all the discussions and articles on HN that I've read about interviewing, no one ever mentions coupling their favorite filters with gut instinct. Not everything has to be measurable to make good decisions.
- abiogenesis 6y agoAnother problem is that the answers the recruiters want to see don't change depending on the position. You shouldn't expect a new graduate and a senior developer write the same code for the same problem. I was asked to write a Roman numeral to decimal converter in an interview for a senior developer role. I hadn't thought about it before, so I came up with a lookup table that handled all the special cases (there are only a few, such as IV and IX). The recruiter (who was also the owner of the startup) didn't like my solution because he expected me to write a generic parser. Now, if I were him, I would have expected a senior developer to correctly determine if the specs for a 2000 year old problem could change in the near future and write the more performant solution when possible.
- travisjungroth 6y agoThere are only seven symbols with two rules. If you skip the subtraction rule and just consider them more symbols, it goes to twelve symbols with one rule. Seems like your solution is more appropriate than a parser. That being said, there’s nothing wrong with saying “I’d like to see you write a parser. Let’s make one for Roman numerals so it’s fast and simple.”
- abiogenesis 6y agoFair enough, but he only said that after I typed in the code and successfully demonstrated that it passed all the test cases (it was a one to one, hands on interview).
- yomly 6y agoIf that fails the interview, especially in a startup interview of all places, then that's a red flag on their end. Shows lack of pragmatism, poor communication and unwillingness to embrace lateral thinking. You came up with a working solution that fell outside the spectrum of what they were expecting. And they couldn't adapt their thinking/hiring process to that so more fool them. In a generous interpretation of the situation they weren't a good fit for you anyway.
- 6y ago
- MoBattah_ 6y ago"because clearly, what makes a developer great is grinding leetcode for 3 months and then pretending you haven't seen the problems before during the interview." This is my biggest gripe with today's technical interviewing. They act like leetcode is real world engineering.
- coronadisaster 6y agoNot saying that it is right, but they probably do it because it is easier to judge based on a known problem (VS comparing different github profiles or whichever source that you choose)
- perl4ever 6y agoIt seems to me if everybody uses very poor tests and they're all the same, then it's very harmful to society. But if everybody uses different, uncorrelated, very poor tests, then people who have talent generally end up somewhere and there may not be a lot of benefit to improving the tests. In fact, improving the tests could lead to more correlation and excluding/wasting more talent.
- xtiansimon 6y agoHow can your statement be largely true (90%) with all large companies having _dedicated_ HR departments with staff whose sole responsibility is to find the _best_ employees?
- dragonwriter 6y agoThat's not what HRs responsibility is. > How can your statement be largely true (90%) with all large companies having _dedicated_ HR departments with staff whose sole responsibility is to find the _best_ employees? HRs responsibility is to protect the company from liability in hiring, firing, promotion, retention, labor relations, wage/hour rules, etc. To the extent that part of their public statement of purpose is helping hiring managers find the best employees, that's mostly bureaucratic euphemism for “preventing hiring managers from indulging their own conscious or unconscious racial, sexual, age-related, etc., biases in a way which creates legal problems for the company.” Cookie cutter approaches where everyone goes through the same checkpoints and they are weighed the same way, including cookie cutter technical interviews rather than a nuanced consideration of other factors that determines the need and coverage of a technical interview, is exactly what having a significant HR department encourages.
- xtiansimon 6y agoWhere is the quote from (“preventing hiring managers from..."). I don't see it in the OP.