9 ms·
> When interviewing as a software engineer, for example, you’ll run into places that lean heavily on algorithms interviews. And don’t get me wrong, those interv
by one_buggy_boi 3y ago
> When interviewing as a software engineer, for example, you’ll run into places that lean heavily on algorithms interviews.
And don’t get me wrong, those interviews can be fun (in the same way that Project Euler can be fun), but it’s not very relevant for most jobs
I'm curious what changed around 2015-2016 that led to the current interview process. In the before times the interview was more of a technical conversation, sure they had some gotcha questions, but nothing too brutal. If you had real experience that you could talk about, maybe it was validated against references or a background check. People usually looked for a CS or adjacent degree, and that was enough. The quality of folks wasn't too different in my experience.
I really feel for those with a lot of experience that are being dropped into the fire, especially those with families who may not have the time to memorize patterns for 3 months, but are still very capable. Non-tech, low paying jobs now ask you to create a soduko solver or trap rain water within 45 minutes. There's not many places to go for those that don't 'adapt'.
- dmoy 3y ago> I'm curious what changed around 2015-2016 that led to the current interview process. In the before times the interview was more of a technical conversation, sure they had some gotcha questions, but nothing too brutal. If you had real experience that you co... Places just copied big tech companies that were already doing that for many years prior to 2015. I had leetcode style interviews well before 2010 even.
- sailorganymede 3y agoPretty much this. Companies needed software engineers, looked at what Google was doing, and copied. And they call themselves innovative for doing it.
- baner2020 3y agoA company whose smart engineers threw their hands up claiming no moat while they were the pioneer of AI
- a_wild_dandan 3y agoAh, so to reach their hiring destination, their preferred mode of transportation is the bandwagon.
- sailorganymede 3y agoMethinks it’s a good enough method to somehow get good enough candidates. Hiring is hard because it’s a negotiation: sellers always upsell their skills and buyers gotta figure it out. Negotiation is skill that not everyone has so at least by having some sort of standard test like the current leetcode system, you can guarantee the dudes coming in know the difference between a Stack and Queue
- bluedino 3y agoPart of the problem is people just memorize things for interviews. We interviewed three candidates that were almost exact copies of each other in their responses. Maybe they all read the same interview book? I also witnessed someone give a completely wrong (algorithm) whiteboard answer to a problem. Obviously they weren't thinking about the problem as they did it.
- baner2020 3y agoAlgorithm that were solved over decades and centuries are asked during the 15-20 minute demonstration asks it to be memorized The problem is the sheer dumbness of those who believe it is important in the interview process
- DoctorDabadedoo 3y agoBig Tech could afford to do that due to their aura of mysticism and greatness, but if you're a mom and pop shop with Google-esque aspirations but none of the compensation and status, I wonder how many candidates have the patience and interest to go through the hoops.
- jakjak123 3y agoPlus, everyone thinks they are Google or Facebook, or that they are about to become Google or Facebook. You are not.
- namaria 3y agoAfter subprime interest rates went to or near zero, prompting a huge influx of cash available for VCs with heightened FOMO due to increasing complexity of software. Marginal quality of talent decreased while remuneration went through the roof, drowning out valid signals in cvs and interview processes with so much noise that any complicated enough system was seen as valid. Extremely high rate of failure, which was made acceptable due to the potential rewards of funding a unicorn early further degraded the ability of anyone involved to conduct clear assessments.
- afpx 3y agoBefore 2010, I used to get a lot of “why are manhole covers round?” type questions, not ACM competition type questions.
- monlockandkey 3y agoLeetcode started around 2015
- xw30992 3y agoPersonally I love leetcode. I do it on Sundays like others do crossword puzzles. But once upon a time these leetcode interviews made a ton of sense. Just getting your program to run at all was basically a leetcode exercise. see for example: https://arstechnica.com/gaming/2020/03/war-stories-how-prince-of-persia-slew-the-apple-iis-memory-limitations/ https://arstechnica.com/gaming/2020/03/war-stories-how-princ... I have my war stories too. It was fun but frustrating. Definitely not as productive as today. Early 2000s internet was kind of like that too. The web was huge relative to what we had to work with and there wasn't the kind of products/services available then so asking leetcode stuff had a logic to it. Admittedly, that's not where we are now for most programmers so it makes sense that the interview process should adapt.
- herval 3y agoThe kind of people who do best at FAANG interviews are the ones who enjoy leetcoding. We’re all selecting for the wrong skills.
- mewpmewp2 3y agoEven if I enjoy leetcoding and I do, there are tons of things I would rather do before that, and that are far more useful, such as building and working on side projects. So to me leetcoding is a waste of time and less fun than actually building something, having other people use what you have built. And there is infinite things to build there and learn.
- xw30992 3y agoI get that. I only do medium and easy problems for a reason. Hard problems are hard and I want to solve it over morning coffee. :) Then again, I'm sure all of my leisure activities are a waste of time on someone's metric. I probably learn more from the comments than the problems though. People post lots of interesting idioms and it's interesting to me to see how others codify various standard algorithms. Especially across languages.
- meowtimemania 3y agoI recently started interviewing again and haven't encountered many leetcode style questions this time around. I'm noticing lots of contrived questions that relate to some feature the company had to build.
- marcellus23 3y agoWhat does it mean for an interview question to be contrived?
- a_wild_dandan 3y agoSo overly specific that it feels inappropriately artificial within the context of testing a stranger.
- wholinator2 3y agoYeah, the kind of question that I'm not comfortable giving a vague nonanswer to because I'm not familiar with all the intricacies they spent months ironing out. Which then turns into "what do you want me to say" whackamole of endless questions to gain the context needed to actually answer their question. Usually asked by people who cannot provide the context that actually led to the answer but still believe they understand why it was chosen. It's a pretty specific scenario but it's happened to me
- crq-yml 3y agoIf the question is sufficiently related to the actual application, it could be an interview of the "solve our biggest problems for us, unpaid, without context" form, which I experienced once at a tiny startup. The technical lead just sat there silently as I probed with more questions. Eventually, I set down a boundary and let them know that that is something for the business to solve.
- meowtimemania 3y agoMaybe contrived wasn’t the best word, but I’ve been asked to implement a simplified feature of the company’s product. So at one company I was asked to create a simplified model for their product with support for undo/redo.
- lovegrenoble 3y agoAnd this Dungeon Master tool can add some ambience to your adventure)) https://tabletopy.com https://tabletopy.com
- thdc 3y agoI like to think it went like this 1. Interviewer: If you're a good software engineer, you can answer basic algorithmic questions. 2. Interviewees: Practice algorithmic questions so you appear to be a good software engineer. 3. Interviewer: People are just studying leetcode to get jobs, what can we do? Ask harder leetcode questions. 4. Other companies: Let's copy them since they're successful. In short, the questions used to be reasonable until people specifically prepared for them. No one knew what to do about it so they just raised the difficulty, which made it even more unfair for people who don't specifically prep.
- Spivak 3y agoIt's actually great on the hiring side — you can skip all that bullshit and because tryhards are all prepping obscure CS questions just having a conversation about technical topics has become signal again. Measure something people aren't trying to game and you get a better assessment, go figure.
- mewpmewp2 3y agoYes, I explicitly do the opposite and have the most pragmatic exercises, questions. Another thing is an exercise for system design where hyperscaling is not required and the thing is actually quite simple. Many who have specifically prepared by leetcoding and reading "cracking the coding interview" 10 times over will naturally overengineer everything trying to fit this exercise to those book patterns dropping all common sense, all the while not having actually built anything meaningful. I think these people will mostly try to rest and vest anyway. Truly passionate people will pass since they have actually built something and will understand the exercise.
- dmurray 3y agoWhen I get a system design question I always tell the interviewer "I'd just run it on a single server with an SQLite backend, that will be plenty for the median software service and you haven't told me any numbers that suggests this needs more" and then it turns out they wanted it to run at the scale of WhatsApp.
- liquidpele 3y agoWhat changed? Well it was about 2010, The industry became a target for very low quality people to do whatever they could to land the job by faking and lying. All of these annoying interview tricks are just a way to try to filter out all the people (90% of them now) who taught themselves how to talk the talk but couldn’t program themselves out of a wet paper bag. And yes, there are ways to figure it out but it’s really hard given the current volume, and having your engineers stop and interview constantly kills productivity when you have to interview 20 people and only one can even count words in a file.
- doctorpangloss 3y agoThe people who are fooled by fast talkers don’t care about the results of leetcode questions either.
- liquidpele 3y agoEven just giving Leetcode questions isn’t enough anymore… I’ve had plenty of people just memorize the top 50 used questions and be able to answer them, but then not be able to explain anything about their answer. It’s exhausting.
- nitely 3y agoExplaining the reasoning while solving the code puzzle is the most important part, though. Just being able to solve them without speaking a word has never been enough. Unless you are talking about automated coding tests (but that also has never been enough).
- xw30992 3y agoIt's super easy to filter for that though. Just change the problem slightly. If they give the rote answer you know what you need to know. It does require that you know the answer though. :)
- prox 3y agoFunction wetpaperbag() { Quit() } How did I do?
- hx8 3y agoIt all started in a few years earlier. Google had determined that there was a strong correlation between understanding fundamental computer science and being a strong software engineer, so they began testing for computer science fundamentals. At the time lots of companies were trying to mimic Google's success and it quickly became an industry standard. People began just studying how to answer these questions. The population of people that are good at these types of interviews shifted from hardcore detail oriented programmers with academic backgrounds to mostly people that spend time practicing leetcode style questions.
- dr_kiszonka 3y agoOne of their hiring criteria is cognitive ability. If it correlates with strong proficiency in CS algorithms, then this might have been why they focus on it when hiring engineers. (I am not saying that this strong correlation exists.)
- jmspring 3y agoThe correlation doesn't exist. A large segment of the Leetcode-uber-alles practitioners are also the ones that are obsessed with total compensation as the ultimate measure. It was a mistake by google and others to focus purely on this , but we are where we are. Many of the leetcode fanatics can't deal with real world issues in software or operations.
- deleted 3y ago[deleted]
- lupire 3y agoThese companies look for people who write software to handle real-world issues on software and operations. The mistake is in refusing to have a separate job and hiring rubric for sysadmins
- rhymer 3y agoI'm grateful for leetcode. Despite my background in electrical engineering, where I specialize in statistical signal processing, I never had the opportunity to delve into algorithm or data structure courses during my college years. In my field, understanding signals and systems, probability, optimization, and numerical computing is very important. Leetcode, in comparison, offers a more confined scope, making preparation more manageable and systematic, ultimately helping me break into software engineering.
- trashface 3y agoWe might also ask why EE specialists (and indeed half of STEM) needs to fall back to software engineering to get meaningful and stable employment, but capitalism probably does not like us asking these pesky questions.
- wernercd 3y ago"capitalism" Is it in the room with you? Do you need assistance? Did the evil capitalism touch you in your naughty place? But seriously... everything uses computers and programming ties everything together. I don't think you have to be a grand master programmer but having those skills make you a better employee. The real pesky question is why do you think socialism, communism or the alternatives to "capitalism" wouldn't benefit from having people able to use better tools? Productivity multipliers would help "The People" and The Masters in charge of the authoritarian dictatorship alternatives to "capitalism"...
- dmoy 3y agoIt's not that EE *needs" to fall back on software for stable employment, it's that software pays more, and ridiculously more at big tech companies. I have both EE and CS degrees, but I make literally more than double in CS-type jobs than I would back in EE. Even though back in the day, I was definitely better at EE stuff than CS stuff. This was true very early career, and for now at least continues to be true. --- I'm still of the opinion that software will eventually revert to the mean, comparable to other engineering compensation... some year. It probably won't happen until there's significant regulatory and liability burden that doesn't really exist in software yet. Like some in software complain about GDPR or DMA or whatever, but crank that up orders of magnitude and then add career-and-company-ending lawsuit threats on top, and then you have real engineering. Then it becomes much more expensive to do things, profit margins go way down, and pay does as well. Who knows when that'll actually happen. For now, software is bonkers profitable. (When software engineering becomes real engineering, I posit that it will also cease to be as highly paid)
- acheron 3y agoI just wish that if interviewing was going to become “random irrelevant stuff from second or third year CS” that we had gotten automata theory, because that was actually fun.
- hiAndrewQuinn 3y agoYou could always learn the solutions once and put them into a set of Anki flashcards, so that you occasionally get reminded to practice them just before you forget them. You really don't have to keep repeating the 3 months "from scratch" experience. That's what I have done, pretty badly to be frank, and the prep time is now closer to 2 weeks. Compared to many other industries where people are required to go get expensive and time consuming "continuing education", I don't think keeping a timed flashcard deck of maybe a couple hundred items total in rotation is all that onerous.
- captainkrtek 3y agoI recall being on a software engineer interview loop (faang), my topic to interview for was around practical problem solving. The candidate performed poorly, unable to write any solution to a basic log parsing problem in the language if their choice. In the debrief, apparently the candidate did very well in the algorithmic interview part of the loop. I dissented on the decision to hire, because of their inability to solve basic real world problems, the group proceeded anyway..
- afpx 3y agoI had an interview recently where I was given a 1000 line, deeply stacked conditional and asked to traverse it. Like, what are they selecting for? I hope that’s not demonstrative of their source code.