5 ms·
The reason this complaint never changes anything, despite being very popular, is that these interviews serve two purposes that it doesn’t address: 1) they’re an
by dionidium 5y ago
The reason this complaint never changes anything, despite being very popular, is that these interviews serve two purposes that it doesn’t address: 1) they’re an intelligence test; 2) they’re a perseverance/conscientiousness test.
Will you take the time and put in the work to pass one of these interviews? That measures perseverance and conscientiousness. Having put in the time, can you recall and adapt what you learned to perform complex tasks on a whiteboard in a stressful environment? That’s an intelligence test.
In combination, these criteria measure the famed, “smart and gets thing done” in a way that more practical lines of questioning might not. Or at least that’s the theory.
For the record, I’ve only interviewed at one FAANG company, got to the on-site interviews, did not get an offer (in case you think I’m secretly patting myself on the back here).
- syspec 5y agoI really think you nailed it, will have to borrow this point in the future. A lot of it is about gauging the candidates aptitude, and of course their willingness to put in the work. It's like those kids in math class that say, "I'm never going to use this in real life."
- analog31 5y agoThose kids are right. School math is mainly an attrition machine. Most students, including in STEM fields, look forward to forgetting all of their school math on graduation day. The math that engineers need is baked into their high level software. Most engineering teams have a "math person" who handles any higher math related problems that crop up. I'm one of those people at my workplace. I was a college math major, but believe that the math curriculum is ripe for reform.
- eftychis 5y agoThis is a chicken and egg problem that I believe exists in Computer Engineering/developer positions because of i) the extremely diverse background of hires (some of them not being engineers or mathematicians or physicists per se i.e. could be coming in with a bio background (ML usually), no degree at all (perhaps a bootcamp -- usually front end work), or other) ii) a lot of businesses do low hanging fruit work with little novelty, iii) a lot of cost can be thrown to "buy more hardware/server time," iv) low quality is not just advised but sought for. Because of the usual lack of rigorousness -- e.g. most companies will not require you to prove that the system is going to be up for 99.9999% of the time, the load balancing is optimal, the abstract queue in our system is not going to diverge (when it does inevitably we will just reboot and keep doing it until we get more funding) -- the expectation and targets is also to avoid it. Most developer positions are doing essentially the equivalent of designing over and over the equivalent in civil engineering terms of one or two story buildings. There are positions that will exercise one's engineering skills (including math). However, the culture and expectation of "math person" does not promote them. Graphics, cryptography, distributed/byzantine systems (I don't mean using AWS here), optimization, ML (new algorithms/improvements), maps, are some areas that one's cs/math/engineering skills can be used at. But note that when any X of those areas become trendy there is the gut reaction of an "intro to X for programmers" coming out that is a couple of hand-wavy sketches, some sketchy intuition -- most often wrong in the details -- and an API guide. Having done my undergraduate in Europe, every year was math heavy -- math was the core not the attrition machine. And I do see this mentality in the U.S. startup industry where a lot of times the Edison approach is taken of trying every single filament width choice on a mock-up instead of doing a quick calculation. Having taught math to undegrads in the U.S. and from discussions with people that TA'd, I would agree with you that the math curriculum needs to be revised from the ground up as being extremely inadequate. On the other hand, most software "engineer" positions, do not require any engineering to be done.
- hnfong 5y agoI don't believe it is a chicken and egg problem. I believe there aren't that much of a demand in the industry for solving "Math" problems. From an (software even!) engineering perspective, nobody needs to solve the same Math problem twice. All "Math problems" are either solved or are open problems (this is almost by definition). The ones which are already solved do not require re-solving again, which means that in the vast majority of cases a competent (software) engineer only needs to learn how to apply them. I don't know about traditional engineering, but in software, often it's just a matter of importing a library and calling an API. The software development ecosystem has developed to a point where you don't need to know how to implement things, you just need to know what you need. Unless you're an expert specialist in a particular field, you often can't do better than that, because whatever idea you have, most likely somebody more competent than you has already written an open source library for that. I don't think it's useful to contrast general incompetence with a lack of mathematical ability -- though it sometimes correlate somewhat if only because general intelligence often manifests in mathematical ability. There are simply too many unproven assumptions from "math education" => "writing better software". If anything, good software engineers need to be ready to learn, and learning maths outside of formal schooling is just one of the many things they need to do. The general lack of quality in software is a supply and demand problem -- as long as FAANG can afford to pay 200k+ USD to fresh grads with no experience, companies with a smaller budget must make a trade off between lowering quality and not delivering at all. Ironically(?) the market is actually responding. People doing interview prep are learning the minimum subset of mathematics and engineering required for a high paying software job. Then you get people complain about grinding leetcode. Imagine what happens if FAANG companies add abstract set theory to their standard interview questions! (I'm willing to bet this would lower software quality...)
- Siira 5y ago> math that engineers need is baked into their high level software. This is only true if you’re working in a mature business with stable usage patterns. Even then, using lower level APIs can be easier and more flexible.
- syspec 5y ago> The math that engineers need is baked into their high level software. Well, someone, has to write that software. When people used to say, "I'm never going to need to know this", my teacher would reply "You're right you won't, but the smart kids will"
- sodality2 5y agoCan't that be taught in the higher-education, like most skills that are only required in a certain area? It's not just "the smart kids will", but "the kids who go into the mathematics field".
- analog31 5y agoIndeed, but I think we could revise the curriculum without causing a shortage of "math people" relative to existing needs. What school math teaches right now is a lot of expression manipulation, and it's all done by hand. That's not how people do math after school, even mathematicians. And it creates a distorted view of math, since it's limited to problems that have closed solutions using relatively straightforward algorithms. I'd like to see school math place roughly equal emphasis on: 1. Arithmetic, i.e., expression manipulation 2. Computation, both numeric and symbolic 3. Learning from data 4. Theory, i.e., things like sets and proofs Items 2 and 3 are things that people can use throughout their lives, even outside of STEM careers, and could be blended with the science curriculum. Items 1 and 4 would serve the needs of "math people" and academic mathematics.
- wittycardio 5y agoWho writes the software that has the math baked into it ?
- bogwog 5y agoReading comments like this makes me think that the real problem is that recruiters have never worked in engineering so have no idea what the job is actually like.
- dionidium 5y agoRecruiters have nothing to do with the structure or format of the interview, so I'm not sure I follow.
- webmaven 5y ago> The reason this complaint never changes anything, despite being very popular, is that these interviews serve two purposes that it doesn’t address: 1) they’re an intelligence test; 2) they’re a perseverance/conscientiousness test. No argument on perseverance, but I don't think it measures conscientiousness. At least, not how I understand the term, which has connotations of intrinsic motivation rather than extrinsic. Now, if measuring how a person responds to extrinsic motivation is your goal, then this type of interview does just fine. It measures a person's ability to delay gratification for a later reward (because you can have perseverance without that, which you can also call being stubborn or determination, eg. "I'm going to figure this out even if it kills me" ).
- Ancalagon 5y agoI agree, I don't think it measures conscientiousness well either. There's not a lot of room for careful thinking and trial-and-error in a timed, 45 minute, observed, pass/fail interview.
- knightofmars 5y agoThey are a memory test not an intelligence test. If you truly wanted to measure intelligence it would have to be based on a priori knowledge and not on the ability to memorize algorithms and their implementation.
- whimsicalism 5y agoI feel like people who only memorize would not be able to pass contemporary test at most of these big companies.
- knightofmars 5y agoI feel like you don't know that you're talking about. That's not meant to be an insult but to highlight the fact that "feeling" doesn't matter. Because my feelings about your statement has no bearing on the accuracy or content of your statement.
- dionidium 5y ago"I feel like" in this context is a synonym for "it is my belief that," so your response is a non sequitur based on a misunderstanding of a colloquialism.
- dionidium 5y agoThe notion that somebody could simply "memorize algorithms" and then apply that information on-the-fly to questions they won't know in advance -- demonstrating adaptiveness, creativity, and the application of general problem-solving knowledge to novel problems -- and that this doesn't measure intelligence is not credible. I'd bet my net worth that the ability to perform well on these interviews positively correlates with IQ.
- vanusa 5y agoand then apply that information on-the-fly to questions they won't know in advance But that's the whole point of LC grinding: to claw your way through enough of these problems until, lo and behold... there ends up being an 80 percent chance that any given "medium" problem thrown at you -- is one that you have in fact seen and worked on, already. I'm just guessing at the 80 percent figure. But it seems pretty clear from the cult of LC grinding that one of the goals of this strategy is not just to learn general techniques for solving these problems -- but to get a significantly high percentage of these problems under your belt already, or nearly so. While also learning to deploy the just the right grunts and moans and pauses to make your interviewer think you're seeing the problem for the first time, of course.
- vanusa 5y agoIf we define willingness to cram, cram, cram as "conscientiousness" - then sure. The idea that this is a meaningful proxy for "ability to get things done" -- about that I'm not so sure.
- user_named 5y ago
- erosenbe0 5y agoIf you aren't interviewing with the team or hiring manager with the opening and just getting assessed by random SWE in a giant company that seems like it is subject to a lot of variance. Why don't they just conduct a proctored test? Doesn't make any sense.