6 ms·
Tech hiring is severely broken. 22 years in and it's only gotten worse. We still tolerate PhD Comp Sci algorithm questions for frontend developer gigs, endless
by andrew_ 6y ago
Tech hiring is severely broken. 22 years in and it's only gotten worse. We still tolerate PhD Comp Sci algorithm questions for frontend developer gigs, endless series of array shuffling and sorting, canned problems intended to "measure your problem solving ability," ridiculous hypotheticals (e.g. whiteboard how you would build Slack), and a litany of other tactics that recruiters or old school management thinks are reasonable hoops to jump through.
Yes, I'm a bit salty.
The best advice I received recently came from someone 10 years my junior in the industry: politely refuse hackerrank, algorithmic code challenges, array shuffling, or anything unrelated to the work you've done or the work the interviewers are doing on a daily basis. Instead, offer to pair/group program or troubleshoot on a problem they're currently trying to solve, offer to walk through an open source project you've worked on or authored and speak to the problems you encountered. Let the gatekeeper/recruiter know you decline the kinds of interviews I mentioned above, and let them know you're looking for an org that thinks outside of that box, that values a person beyond their ability to regurgitate for-sale interview prep.
That approach has an effect of weeding out companies mired in corporate lockstep. I had told a recruiter at a national, Austin based real estate firm that I decline those types of questions and interviews. Was assured that they would not happen, and in the first round of the process was asked to sort an array of phone numbers. The interviewers had no idea I would decline the challenge, and I politely ended the call.
I recently adopted this approach with great success, speaking with a number of high quality orgs and all around great people who were truly interested in what I could bring to their effort. Granted, not everyone is in a position to take a bold stance, but I found that it made me more interesting to companies who were doing more than going through the motions.
- voodootrucker 6y agoThank you, this is brilliant advice. Despite decades of experience I was nervous due to this trend and spent way too much time on hackerank. The company I ended up with didn't ask any of that crap (despite being founded by a PhD), and we couldn't be a better fit.
- heurist 6y agoOf all the companies I have interviewed with, the only ones I ever joined had sane, non-leetcode interview processes. I have actually reached a point where I see companies asking those questions as churn factories to be avoided rather than schools of practice. If/when I find myself interviewing again I will be declining leetcode interviews.
- bit_logic 6y agoThis is a good strategy for senior engineers to avoid the leetcode interviews. And to any recruiters and hiring managers reading this, there’s the other side of this. If you want responses from high quality senior engineers, then start your LinkedIn email with “NO Leetcode”. Response rates will likely increase by a lot.
- cableshaft 6y agoI very rarely respond to recruiters cold emailing me, but if it had NO LEETCODE in the subject line I'd probably respond to every single one.
- driverdan 6y agoSame here. I ignore all cold emails or mark them as spam. If I saw something like NO LEETCODE in the subject I'd be likely to read it. If it sounded like a reasonable place to work I'd share the job with my network.
- phranger 6y agothank you for the advice
- waynesonfire 6y agoyep, this makes sense, vote with your wallet.
- koonsolo 6y agoYou can't believe how many people are unable to do the basic things like sort an array. These kind of questions is not to see how smart you are, it is to weed out all the ones who don't event get the most basic parts of programming. And I can assure you as someone doing a shitload of interviews, that a huge part of candidates doesn't understand the basics of programming such as sorting an array. If all candidates had a minimum competence, sure we could do other kinds of things. But right now, you will first have to pass the "I can do newbie programming" tests.
- throwaway201103 6y agoWhy would any company want me to write an array sort instead of calling the .sort() method on the standard array class? Is that really the sort of thing they want their devs to code and debug and maintain by hand?
- koonsolo 6y agoIf you can't do a sort, how will be be able to do more high level complex things?
- dkdbejwi383 6y agoIf you reimplement the standard library for basic tasks, when will you ever get the time to build useful things?
- distances 6y agoI have never implemented sort after the second university compsci course. I might still be able to write one if I think about it a bit, but just not relevant at all.
- fossuser 6y agoI think testing whether someone can recall the implementation of quick sort and has practiced writing it quickly is not really testing for building complexity or solving problems. It’s testing for practiced solutions of memorized algorithms and a bit of role play. I get there’s some IQ challenge to preparing this and it’s hard to evaluate skill, but I don’t think this tests much beyond that. Want to test true basic programming capacity? Do fizz buzz, ask someone to reverse names in a string with loops - everyone should be able to do that without thinking. That’s actual basic stuff. High level or more complexity? Discuss a relevant problem the company needs to solve and how they’d approach it. Better yet discuss a problem and debug it together. Most programming is debugging anyway.
- meekrohprocess 6y agoYeah, it does seem like the best jobs are the ones that you don't have to jump through arbitrary hoops for. Ideally, your employer or client will respect you as a human being who has something valuable to bring to the table. When I find "good jobs", they almost always crop up from serendipity in areas that I am genuinely interested in at the time. Looking back it feels like dumb luck, but the sort of dumb luck that is helped along by trying to make your own opportunities. If you ever have a chance to talk candidly with an executive or entrepreneur about a subject that you are passionate about...well, at least take the meeting. Those sorts of discussions aren't interviews per se, but sometimes your vision will click with someone else's, and that's where the magic happens.
- mooreds 6y ago> Yeah, it does seem like the best jobs are the ones that you don't have to jump through arbitrary hoops for. Ideally, your employer or client will respect you as a human being who has something valuable to bring to the table. Even better if they actually know you! > If you ever have a chance to talk candidly with an executive or entrepreneur about a subject that you are passionate about...well, at least take the meeting. Those sorts of discussions aren't interviews per se, but sometimes your vision will click with someone else's, and that's where the magic happens. This is great advice. Talking to business folks when you aren't working for them is a great way to practice this skill and you never know what you might end up running into. Another good thing to do is to try to connect two people who might benefit from the connection (discussing a technology, an opportunity, etc). Sometimes something will happen, sometimes not, but the goodwill will be remembered. A few years ago I joked about never wanting to submit a resume again. If you spend time on your network (all the time, not just when you need a job) and do good work, hopefully you'll get to a point where you can contact people you know who are looking for help. Sure you'll still need to "interview" but the stakes are lower: they know you and you know them.
- mtberatwork 6y ago> a national, Austin based real estate firm I can't help notice the irony that they wanted to put you through a gauntlet of leetcode style interview questions only for you to be working on what are most likely basic CRUD apps.
- _qulr 6y ago> The interviewers had no idea I would decline the challenge, and I politely ended the call. This happened to me too, despite assurances from the recruiter beforehand. Don't believe recruiters. They'll tell you anything to get you in the company's hiring process.
- IshKebab 6y ago> We still tolerate PhD Comp Sci algorithm questions for frontend developer gigs Go and look at some Javascript answers on StackOverflow, and then consider why lots of websites are so slow! Some random examples: * Deduplicating an array; top answer is N^2: https://stackoverflow.com/a/9229932/265521 https://stackoverflow.com/a/9229932/265521 * Deduplicating array again: top answer is still N^2!: https://stackoverflow.com/a/14438954/265521 https://stackoverflow.com/a/14438954/265521 I've seen loads of similar examples. Maybe there is code that doesn't use any algorithms at all but it's probably not very interesting code.
- SeriousM 6y agoThat's exactly how I handle these interviews nowadays. Granted, it'd hard to know what's your price when you're young and you would take everything in the early years. But now I'm mid 30 and have seen and executed enough interviews to know that the rational thinking and kind human is so much more worth than a code monkey that is twice as fast. Why? It's the same reason why code should be readable - you have to live with it. And the only way to achieve this is by asking for the way of thinking, now what's the solution is.