12 ms·
>According to all the interviews I’ve failed over the years (I don’t think I’ve ever passed an actual “coding interview” anywhere?), the entire goal of tech hir
by caesil 2y ago
>According to all the interviews I’ve failed over the years (I don’t think I’ve ever passed an actual “coding interview” anywhere?), the entire goal of tech hiring is just finding people in the 100 to 115 midwit block then outright rejecting everybody else as too much of an unknown risk.
As a (now) senior/staff-level engineer back out on the job market for the first time in a while, I'm begrudgingly coming to accept that coding interviews might not actually be all that bad. Mostly because I find myself passing them due to having picked up skills in the past few years rather than spending a ton of time studying, which suggests they might actually be picking up some signal. I once thought they were purely hazing with zero relevance to day to day work, but as I get more senior I drift further away from that opinion.
- sanderjd 2y agoI have had the opposite evolution. As I get more senior they seem increasingly silly.
- yks 2y agoI've been observing that coworkers hired through the modern formulaic leetcode/sd/behavioral loop are homogeneously competent in a specific way — if there is an agreement (aka "alignment") on what needs to be actually done, they'd do it passably fine. Corporate dysfunction is more of a product of how that alignment is achieved.
- dixie_land 2y agoFrom personal experience the coding round gets easier for senior/staff roles, even for the exact same question, because of the experience the interviewers have and the signal they are looking for (eg problem solving, communication, testing, etc.) At junior and "SDE II" level coding rounds are just toxic newly minted SDEs trying to make it a competition between the candidate and themselves ( I've got interviewers offended when I came up with a simpler solution than the one he had in mind)
- wetpaws 2y ago[dead]
- creer 2y agoIt's true that the interview result can only be as good as the interviewer's skill and awareness of what to look for. Which will often be terrible. BUT that does point out a mis-perception of the interview process. You will do better by getting along, "figuring out", going along with the interviewers' plan - rather than trying to demonstrate your own cleverness. Not saying this is what @dixie_land personally went for in that case - but perhaps that if you notice the interviewer getting offended, you better figure out fast what you did and work to make them happy again. If you can figure out what the interviewer is trying to get out of you, then give them that. That may or may not reflect a useful job skill, but that is an interview skill.
- radiator 2y agoWhy work to make the interviewer happy again? If your solution is better than the interviewer's you should expect the interviewer to acknowledge that fact, like an adult and like a team player. He is not supposed to be offended or unhappy.
- HeyLaughingBoy 2y agoI guess that depends on whether or not you want the job. This is a clear example of when soft skills can make a difference.
- zhengyi13 2y agoAgreed that it's a soft skills interview at that point for the interviewee, but I think what OP above may be pointing at is that if you've got a good solution, and your interviewer is getting mad... maybe you as the interviewee are getting culture fit signals from the interviewer? Wanting the job might be down to you needing money. OK, use the soft skills, and make the interviewer happy. If you don't particularly need the money right now, then evaluate whether you want to work with this interviewer at all.
- creer 2y agoIt's rare that you will be working for that interviewer. Much more likely this is just one of the juniors, one of the team, that you may work "with" but not "for". They still matter, as soft skill, because they will give a thumbs up or down to the boss or to the rest of the committee, and they can make up any reason for it that they want. And do you want the company to offer you the job or not? But yeah, if you get to interview with the boss and they are a problem for you, then that does matter. Also you are in a better situation if you get the job offer - they want you -, and let it go because you learned about them - and you don't want them anymore. Get the offer.
- itsdrewmiller 2y agoThis might also be because (at least back in the ZIRP days) you would get an order of magnitude or two more applications for junior roles than for senior ones.
- ndriscoll 2y agoThe last time I interviewed and did a few LC problems, it was my experience that most of them were trivially solvable by some combination of implementing an iterator, doing a fold, and maybe adding memoization. Not every problem obviously, but those 3 steps seem to pretty generically cover most easy/mediums that will come up in a coding skills interview. When I got my first job, I didn't know what any of those things were, so I've also found coding interview problems to have become easier for me over time. I've never used much Python in my day job, but the `yield` keyword is basically overpowered for LC problems.
- makestuff 2y agoYeah I realized you are at a significant disadvantage by not interviewing in python especially when you get some problem that requires parsing some input. IMO it is worth it to spend a couple of weeks practicing python before doing any technical interview.
- not_wyoming 2y agoYes and no! I was just rejected from a job because I used Python's heap functions and the interviewer didn't know what those were or how they worked. It's not the first time either, once got rejected for using namedtuples!
- taylodl 2y agoI'm sorry - at this point in time Python is the only language I expect every single developer to know. You don't have to be an expert, you don't have to like it, but you need to know it.
- funemployd 2y agoI'm also sorry, because that's ridiculous. There's more to tech than web programming.
- 2y ago
- wavemode 2y agoIt really just depends on the recruiting culture of the company in question, in my experience. I've interviewed at top companies and been given coding problems I could have solved in high school. And I've interviewed at 10-person startups and been given ridiculous leetcode brainteasers. And vice versa.
- mavamaarten 2y agoI've never understood why people hate them so much. From the employer side of things it only makes sense to get a feeling for someone's abilities other than an impression based on words alone. You can't believe the amount of shit solutions we've gotten from candidates. We just let you make a very simple kata. A tiny program that generates some console output, you have to refactor it to make it prettier and you need to add one feature. Literally half of the people fail to make it work. Many others just show zero effort for code cleanliness. That's all we ask, make it work and make it look pretty.
- not_wyoming 2y ago> From the employer side of things it only makes sense to get a feeling for someone's abilities other than an impression based on words alone. I'd like to believe this is true, but it fails to explain why candidates for other business functions don't receive the same scrutiny. I'm not aware of analogous evaluations to get hired to other business roles (e.g. marketer candidates aren't asked to demonstrate a working knowledge of the Google ads dashboard, accountants aren't expected to clean up a fake P&L on their own time for review by hiring managers, etc). I could be wrong and always welcome correction, but from anecdotal experience talking to friends and work colleagues, the bar for SWE hiring is much, much higher, even controlling for compensation.
- vunderba 2y agoYou said it yourself - it's a question of engineering versus business roles. Software engineering doesn't necessarily have a higher bar than other comparable STEM. And lest we forget many other roles have to pay their dues upfront at a much earlier stage: doctors have the MCAT, lawyers have to pass the bar, many accountants become CPAs, etc.
- coliveira 2y agoAnd SWEs have to go to college or post-grad. However they're eternally in the low level hell of solving coding questions.
- 2y ago
- scottLobster 2y agoThere's coding interviews and coding interviews. Asking basic questions that will be directly applicable to the job? Sure Filtering for basic knowledge to make sure the candidate isn't lying about their experience? Sure. Examining my thought process and producing working code is a nice-to-have? Sure. Asking me to solve an extremely esoteric problem that has zero relevance to my day-to-day and if the solution I come up with on the spot under time pressure is incorrect or even just not the most efficient I'm rejected? At that point you're just filtering for starry-eyed recent grads you can underpay.
- geraldwhen 2y agoI run coding interviews. I would never give an esoteric algorithms question, or even really an algorithms question. I have prompts that test very basic concepts and nearly everyone fails. Resume fraud is rampant.
- wasteduniverse 2y ago[dead]
- HeyLaughingBoy 2y agoWe found that doing both worked very well. Overall interview is "write code to solve this puzzle." But first, do this very basic thing that is needed to solve the puzzle. 80% of candidates get hung up on the basic part of the interview and never even get to the point of looking at the rest of the problem. But of those that did, we got some great people.
- teaearlgraycold 2y agoI usually ask candidates to do example questions related to everyday stuff like log parsing. They won’t need anything fancier than a hash map. Many people are stuck after writing 4 lines of boilerplate. Some don’t even know the syntax of the language of their choice.
- a20eac1d 2y ago
- zeroCalories 2y agoYeah I feel like this is sour grapes from midwits that aren't as good at programming as they think they are. Sometimes you get a dick interviewer that asks you a trick question, but most interviewers don't care if you get a problem exactly right, they just want to hear you discuss a problem intelligently and show expertise while coding.
- carabiner 2y agoI agree, it's sour grapes. These companies grew to be the most powerful in the world, even electing presidents, through these interview processes. The midwit memes can be summarized: (low IQ) acting on simple instinct vs. (mid IQ) paralyzed by complex rationale vs. (high IQ) acting on simple instinct The high IQ guys who just do the work to grind LC show enormous signal for being effective software engineers.
- funemployd 2y agoLet me guess: you're one of the good ones.
- marcosdumay 2y agoYou hear about the worst cases on the internet, but you see mostly of the average ones on reality. Hazing people to invent some genial algorithm that all of humanity failed to for decades, except for some lucky individual somewhere; on demand, on short notice, with time pressure, and in a high-stakes environment will never be a good interview. But also, the people that do that do not keep interviewing for long. Personally, I haven't been in an interview for a long time (as a candidate). But most of the "best practices" from the time I was are now common jokes. I have seen many of those practices applied, but even at that time there were many places that were reasonable.
- marssaxman 2y agoMy perspective aligns with your newer opinion. I have never studied for an interview, and cannot clearly imagine what such a process would involve; neither have I ever taken a CS course. A coding interview therefore feels like an opportunity to demonstrate my approach to problem-solving using the skills I have acquired over the years, which feels like a reasonable thing to ask of a potential future coworker. My pet theory, after listening to people gripe about coding interviews for many years now, is that people who have gone into the workforce from a university CS program frequently mistake job interviews for classroom tests, imagining that the goal is to produce a correct answer, and that is why they believe they must study and memorize. That is certainly not what I expect when I am interviewing someone! I want to see you work and I want to hear you communicate, so I can judge what it might be like to collaborate with you. If I can see that you are capable of breaking down a problem and digging in, asking sensible questions, and making progress toward a reasonable solution, I don't care that much whether you actually arrive there.
- crooked-v 2y agoFor FAANG and FAANG cargo cultists, the goal absolutely is to provide a correct answer, and to do it while pretending you're reasoning it out from scratch rather than recognizing the pattern from the hundreds of leetcode practice questions you've drilled on.
- marssaxman 2y agoNaturally I can tell you only what my own expectations are as an interviewer, and I can only guess what other people might expect; but something I can share as a fact is that simply doing the work presented to me, using the skills acquired naturally through the course of my career, with no pretending or practice questions or memorization involved, got me a job at two of those tech giants. That was many years ago; perhaps things have changed. All I know is that the picture of tech interviewing I see so commonly complained about does not match my experience.
- ajkjk 2y agoImo, there are two kinds of programmers: people who can write code to build stuff, and people who can write code to build stuff and are also conversationally fluent in the theory behind writing code. The second group is 5x more useful than the first, and coding interviews are testing which group you're in. Often the first group doesn't think the extra skill of fluency is important, which is fine, think what you want, but they're definitely wrong, and I wouldn't want to work with those people; when there are actual problems to solve I'm going to go looking for people in the second group to figure them out. A terrible situation is to end up with a team of entirely people who can code but can't theorize about code, because they'll build a mountain of crap that other people have to rebuild later. (Now it's true that some people can't theorize quickly, or in front of someone else, or especially in a stressful interview where there's a lot on the line. Those are real issues with the format that need solving. Not to mention the "esoteric trivia" sorts of questions which are pointless. But the basic objection that "coding tests aren't testing the skills you need in your day job" is absurd to me. They're not the skills you use everyday, they're the skills you need to be able to pull out when you need them, which backstop the work you do every day. Like your mechanic doesn't use their "theory of how engines work" every day to fix a car, but you wouldn't want a mechanic who doesn't know how an engine works working on your car for very long either...)
- deleted 2y ago[deleted]
- codr7 2y agoAgreed, but the question is how to reliably test for those skills, any freaking desperate idiot could have managed the interviews I've been through.
- ricardobayes 2y agoMost mechanics I know have long forgotten how to "connect the dots" and troubleshoot issues. Everything became computerized there and all they do is plug in a code reader. They literally don't do that "could it be spark, could it be fuel" kind of thing anymore. Most branded garages follow company instructions, "IKEA"-style, aka use a 10 socket and use it here.
- HumblyTossed 2y ago> I once thought they were purely hazing with zero relevance to day to day work, but as I get more senior I drift further away from that opinion. A lot of it is/was. Hiring managers for a long time didn't know how to hire devs so they would have devs hire devs and, well, devs like to have lots of pissing contests and that spilt over into interviewing techniques which got cargo culted because that's another thing devs are outstanding at.
- jaxr 2y agoWhat type of coding interview do you find more valuable for the interviewer? Algo code interview always looked like the interviewer trying to show off to me. Guess it depends on the requirements of the job, though...
- deleted 2y ago[deleted]
- lr4444lr 2y agoI wish on everyone complaining about tech interviews the misfortune of working with an incompetent fraud who makes their work life miserable. Jobs are on offer for 6 figure salaries that require nothing more metabolically taxing than typing on a keyboard, in a temperature controlled environment, where you get to use your brain to solve problems, and these complainers think it won't be rife with frauds? The whole bootcamp phenomenon was openly churning them out. Yes, I realize there are a few self learner diamonds in the rough. Yes, some tech interview questions or styles are ridiculous. But it's the best of a lot of bad options.
- screye 2y agoFAANG-like companies don't usually interview bootcamp candidates. Most times, they're interviewing other ex-Fang-like or top university grads with a relevant CS degree. Track record and conversational interviews are used for hiring lawyers, doctors, MBA and marketing professional.....why are programmers any different ? Reality is, todays tech interview questions select for those without a life. Great professionals solve hard problems. It drains you by night, leaving just enough time for some of workout, sleep, primary hobby, parenting and relationships. Even on a good week, you have to make compromises. It's one thing to ask leetcode gotchas to fresh grads who've had 2 whole years to do leetcode. But conducting 10 rounds for a senior engineer with zero free time is torture. Give take home projects. Do 2 hour long debugging sessions. Do system design. Just give me a work item. All good. 30 minute compile-or-die leetcode questions are not it. If you wanna test for IQ, make me rotate some shapes. None of this rote learned monkey business. It's not even that hard. But the prospect of giving up all my weekends for 3 months, just to get 12 days worth of time to be leetcode prim and proper..is untenable.
- lr4444lr 2y ago> Track record and conversational interviews are used for hiring lawyers, doctors, MBA and marketing professional.....why are programmers any different ? Doctors and lawyers have a nonprofit credentialing body that makes them take an industry respected test that is the equivalent of our tech interviews. We have nothing like that in dev work. Would love to see it. MBA and marketing people rely very heavily on their networks. Those without these networks are at a severe disadvantage, and their prior work is usually very close to the bottom line of a company. Devs could do this kind of stuff more, but don't largely for cultural and organizational reasons. IQ test would be great if they weren't illegal. I'm not doing take-home work unless I'm staring down the barrel of not paying my mortgage, and I don't trust anyone showing me there's didn't ask ChatGPT. Dev work is sensitive and exacting. I want to see the candidate actually do it in front of my face without phoning a friend or copying from github.
- darby_nine 2y agoCoding interviews were never bad. Asking candidates to pull a red black tree out of their ass was always bad interviewing (unless you were hiring for this of course).
- g15jv2dp 2y agoAs someone not in the tech industry... The whole thing about coding tests sounds insane. Yes, I have friends in hiring positions in the tech industry, yes, I understand that many applicants cannot even complete these extremely basic questions. But shit. You're hiring so-called "engineers." The bar should be higher than fizzbuzz. If people hiring structural engineers had to ask them "should you build bridges with steel or cardboard" and expect 80% of applicants to fail or cheat on the question, our society would be fucked.
- zeroq 2y agoNot every company is FANG. Last time, pre covid, I had an on site coding interview with BigCo. Interviewer asked to write an algorithm to find the biggest rectangle you can make from a list of lines. I immediately stood up, and went to a drawing board in the conference room we were sitting. He was baffled, and asked me back to the desk to the computer. I told him my initial thoughts on the algorithm and started sketching the algorithm in vs code that was presented on the laptop. He quickly jumped in, removed my `for` loops and pointed at the first line of the file, import lodash, and told me to use it. I said I'm not familiar with the libarary, but I'm happy to continue with the solution. We talked about it for a while, and I explained my approach at length, while not being able to reach the keyboard. After that, he started typing his solution on my computer using `function programming` and lodash. After we agreed that the general idea is pretty much the same I asked him what is the computational complexity of his solution, pointing out that using a lot of map/reduce/list may not be the optimal approach. He looked at me, at the code at it was obvious that he genuinly had no clue. We finished the interview few minutes later and to my surprise I was moved one notch up the ladder to the next interview. I have 25yoe and conducted close to thousand interviews. My secret sauce is to ask broad questions and let the candidate draw the map of areas where he pictures himself as competent, and then drill down, with a series of questions. As an employer, team leader or engmgr I don't need a compiler or savant, I need a teamplayer that is confident within his domain and not afraid to say he doesn't know. I've been on both side of the fence, so I know it's not easy to say you don't know during the interviewm, but the bottom line is that most of the time if you don't know something you can easily look it up on the internet or even ask your teammates during a coffee break. What I fear the most is the guy who fears to say he doesn't know and tries to keep his face. EDIT: part of where it comes from is my first serious day job, a big international startup (still running) which opened a small office in my hometown. We had a guy who, for three weeks, was coming to the office, sitting in front of his computer, looking busy, staring at the code, clapping at the keyboard, making some noise, and... after three weeks it turned out he didn't even started his task, because he didn't knew how to open a connection to the database. Not a corp, just a small 6 body shop, but he played his role perfectly.
- 3manuek 2y agoI'm on this that technical interviews aren't broken (at least the ones I did during the past 2 years or so), what is broken are the job specs. They may have turned _picky_, but okish.
- austin-cheney 2y agoYou are clearly not looking for JavaScript or fullstack jobs. The more senior you get has less relevance to product delivery and more relevance to tool chain nonsense. That means if get great at product delivery you are no longer compatible with the job market, as in you have walked off the bell curve.