6 ms·
Does this mean that the whiteboard coding interviews are flawed, or that guys like us, who has made a ton of more or less great projects are flawed? Why would a
by kebman 5y ago
Does this mean that the whiteboard coding interviews are flawed, or that guys like us, who has made a ton of more or less great projects are flawed? Why would a company rather have a guy that can solve binary search in five seconds, than one that has showed continuous progress with several finished projects over the years? Do they think accomplished guys somehow are a liability? Or is it that they want a blank sheet imp that they can mould wholly in their own image? Is real creativity and output really of no value to these guys?
- epicureanideal 5y ago> Or is it that they want a blank sheet imp that they can mould wholly in their own image? Is real creativity and output really of no value to these guys? That's what I'm starting to suspect, and that suspicion is shared by several of my friends in the industry.
- thewarrior 5y agoThe book Disciplined Minds goes into some of this. It helps one understand the answers to questions like why companies prize things like performance on coding tests that don’t correlate very well to the job. Even FANGs are not looking for truly innovative engineers. Most of the innovation comes via acquisitions or when they hire some industry luminaries to lead projects. The rest are only there to fill in the lines and be highly productive coding machines that will learn the “syllabus” just like they learn to leet code. These deep technical skills don’t matter as much because a lot these highly paying companies don’t have work that is deeply technical. Their challenges are primarily around management and scaling the number of engineers. This requires reducing people down to something very simple and being able to treat engineers as fungible resources. Hiring and evaluating each person as a special snow flake is not the most profitable thing to do at large scales. This is exactly the thesis behind Paul Graham’s ideas on startups and innovation. The scaling of a large corporation inevitably jams up the gears of the system and a small team can completely outflank a large company with employees keeping more of the returns and the work being more fulfilling. Unfortunately the incumbents have sucked in most of the revenue so even though you regularly have small teams of people knocking out work that puts the biggies to shame making money is hard to impossible. So everyone on “Hacker news” is now left reverse engineering every detail of how big co works to get ahead .
- kebman 5y agoThank you for your insight! Hm so perhaps statistics and probability are actually more valuable for companies like that?
- thewarrior 5y agoDo not think only in terms of technical skills. Large companies operate via easily scaled algorithms for everything including promotions and hiring. The simplicity of these algorithms often means that they can be circumvented. You want to get hired at Google. What do you do ? Spend 3 years doing side projects or spend 3 months befriending and impressing some engineers so you get a referral. There maybe god level engineers who are stuck at junior levels because they simply don’t know how to fit into the gears of the hierarchy. If you want to get promoted your relationships and trust with the management chain is as important as the quality of your work. Don’t buy into the official stories about systems and processes work. Learn how they actually do.
- robertlagrant 5y agoI have to do my 6-monthly plug of The Inner Ring [0] by CS Lewis here. Dives into some of this, drawn from War and Peace. [0] https://www.lewissociety.org/innerring https://www.lewissociety.org/innerring
- 908B64B197 5y ago> Even FANGs are not looking for truly innovative engineers. Most of the innovation comes via acquisitions or when they hire some industry luminaries to lead projects. The rest are only there to fill in the lines and be highly productive coding machines that will learn the “syllabus” just like they learn to leet code. FAANMG also has a deluge of resume thrown at it every semester. Ever since mainstream media filmed at the Google Campus/Facebook HQ, every parent wants their kid to work there since "he's really good at this computer stuff" and "he's gaming all the time, he might as well make money at the computer!". And then you get to interviewing and realize this candidate cannot write 2 lines of code...
- carnitine 5y agoBinary search? I would never hire anyone who couldn’t implement it from scratch. There’s no complex idea or trick to remember, it’s the most basic algorithmic around.
- trhway 5y agoa guess - you're young and have short industry experience, just enough to make very sure of yourself, so probably the age is between 25-30 with the experience between 5-10 years?
- watwut 5y agoI am older then that and still don't fond that question extraordinary hard?
- trhway 5y agothe point isn't about whether the question is hard. It is about understanding that other people are different and especially when the people stumble for whatever reason. The manifested "holier than thou" and lack of humility probabilistically suggest relative youth and inexperience.
- watwut 5y agoYes other people are different, but I have yet to meet good developer who struggle to understand binary search. Yes, people can randomly fail in interview due to stress or whatever. But that can happen on any question. This particular question really should weed out all that many otherwise good people.
- Jochim 5y agoI learned the common search algorithms in school. I haven't had to touch them since, if you asked me to write psuedo-code for them on the spot I'd almost definitely fail to implement them properly. There's a huge difference between struggling to understand something and not being able to do it from memory on a whiteboard. Imo conversational questions are much better indicators in an interview of whether someone will be a good hire, the candidate knowing why you would use a binary tree over another data structure offers much more insight than asking them to write one. The more conversational approach also allows the interviewee to demonstrate their knowledge and gives you a better idea of how they approach a problem or whether they'd be a good fit on your team.
- sgtnoodle 5y agoI am an individual contributor and technical leader with multiple degrees in computer science engineering, and about 15 years of experience working on safety critical real-time embedded systems. I've interviewed many hundreds of people for software engineering roles over the years. The majority of people that apply for software engineering roles are simply not a great fit. Onsite interviews are very expensive in terms of engineering time, so as a company we try to vet coding ability via phone interviews and no-time-limit coding challenges. If we do ask a whiteboard coding question, it's because there were potential red flags earlier on in the process. When someone gets rejected after an on-site interview panel, it's either because they flopped multiple interviews, or were mediocre across all interviews. There's detailed notes individually typed up by each interviewer, and you can typically see common themes emerge across the various sessions. "This person seems really sharp, and their questions were very insightful!" "They really focused on testing more than the typical applicant." "I tried giving them a hint four different ways, but they just wouldn't take it. When I explicitly explained what I was looking for, they agreed with me, but I couldn't tell if they actually understood." "Their solution seemed a lot more complicated than necessary, and had a bunch of unhandled edge cases as a result. Every time I pointed out an edge case, they added another branch rather than fixing the underlying structural problems." "Several times when I asked a question, they deflected or answered something else, or assumed I was implying something and continued writing more nonsensical code." Also, many people people tend to attribute a lot of value to their personal/hobby projects. They're certainly very cool and fun to chat about, but it's very rare for projects to be novel in a way that sets you apart when being considered for serious engineering projects. At work we develop UAVs. Your hobby grade FPV quadcopter is totally sweet, but it isn't going to get you an interview. If you built a hardware-in-the-loop testbed for your quadcopter, then let's talk! "Output" in particular is a funny thing to gauge in software engineering. I'll sometimes go a month without writing a single line of production code. My favorite PRs delete more lines of code than they add. A more junior coworker will have bloody fingertips from coding around a problem for days, and then I'll ask a relatively dumb question about what they're trying to do, they'll think for a minute, and then delete 1000 lines of code and replace it with 50 because they were making incorrect assumptions. It's not just individual productivity that matters, but also team productivity. "Creativity" is also a funny thing. Within embedded software, the most elegant solution is the most boring one. Any time someone does something creative, there better be an extensive unit test for it, because otherwise it's definitely going to be buggy. With wisdom, discipline and creativity all together one can build more sophisticated and complex systems than otherwise, and that's highly valuable. Lacking wisdom or discipline, though, creativity does indeed become a liability.
- yobbo 5y ago> Does this mean that the whiteboard coding interviews are flawed They are optimizing for something. It's just not what you think it is. A lot of it seems to be about the identities of the employees and the hazing ritual that initiates new members into the group.
- ChrisMarshallNY 5y ago> hazing ritual Got it in one. Whenever I ask people about these tests, we have some back-and-forth, and it inevitably ends with them declaring (in so many words): “Well, I got hazed, so you will, too.” I don’t suck at the tests, but I’m not particularly good at them. I never practice them, and didn’t come up through the traditional CS curriculum (I started as an EE), so I’m often seeing the problems for the first time, when I look at them. They just don’t have any relevance to the type of work I have experience doing, or the value I could bring to a team. Since it seems that most interviewers are looking for particularly formulaic responses, they are a pretty good way of filtering out people like me. I’m always puzzled as to why interviewers waste valuable time on these seemingly pointless exams. If they don't want me to work for them, there's much easier ways to discourage me.
- ithinkso 5y ago> Why would a company rather have a guy that can solve binary search in five seconds, than one that has showed continuous progress with several finished projects over the years? They probably only interview people that have showed continuous progress with several finished projects over the years and hire only those that are good and can code instead of pulling leftpad from npm (a snarky response but so is yours, as if it's either good at whiteboard interviews but uncreative imp or bad at interviews but great and accomplished)
- eschneider 5y agoOk, I interview and hire folks where I work. (Mostly looking for C/C++ folks.) If you list projects or GitHub links, I'll DEFINITELY go through them and probably spend a lot of time asking questions about your design and implementation because it's great seeing what folks can tell you about things they wrote. In the absence of that, why might I ask you to implement a binary search or maybe a linked list: I want to give you a problem that you (should, for senior folks) understand and will show me that you understand pointers and dealing with memory with something basic. I don't expect perfect on a whiteboard interview, I'm just looking for red flags.
- throwaway2037 5y agoI had a co-worker about ten years ago. His coding question was always: Please implement a linked list for me in any language. He said more than 80% of candidates failed. Incredible. LinkedList! I can understand that people will struggle to write a HashMap, BinaryTree, or BinarySearch (always full of bugs), but LinkedList is just crazy. To be fair, I always get tripped up by the classic interview question of reverse-a-single-linked-list. It's not something I ever do outside an interview!
- kebman 5y agoI had a good laugh from this one xD Thanks for sharing! Almost makes me wonder what's the most "creative" and convoluted way of solving a linked list. "Any language? Well, how do you like this implementation in Whitespace?"
- HeyLaughingBoy 5y agoOne of the things these discussions rarely bring up is that companies want to have a similar process for evaluating everyone. This is especially important if a rejected candidate accuses the company of illegal discrimination. If you can show that you applied the same criteria to everyone, then you have a better defense. I think side projects are great, and can be useful in evaluating how well a candidate will "fit" a job or work environment, but there's no denying that it's a deviation from a standard evaluation process. At one place I worked, one of the exercises we used simulated working in a team environment. HR was really worried that we were giving a "test" (this really sets of their alarm bells if they haven't vetted it!) and we had to prove up and down that it was an exercise to see how they performed in a group setting, and the actual code wasn't very important. The whiteboard coding interviews are beyond stupid IMO, but at least they can prove that they're consistently applied.
- simonw 5y agoI interviewed for a job at the BBC many years ago and there was an HR person in the room with the interviewer making sure that they stuck exactly to the script. As someone who thrives on talking about side-projects, I did not do well in that interview.
- everdrive 5y agoThe reality is that companies just don't know. They have a few interviews to vet a candidate, and can't possibly make a truly informed decision. They move from different vetting tactics and follow trends because they can't really measure the outcome of their vetting strategies directly.