16 ms·
I think a lot of this is because our profession does not have an accepted universal bar everyone can jump over to be considered ‘qualified’. Every technical in
by Nbox9 5y ago
I think a lot of this is because our profession does not have an accepted universal bar everyone can jump over to be considered ‘qualified’. Every technical interview feels like rolling the dice in proving I am a competent developer. Giving me 50 minutes in a high pressure situation in an environment i am unfamiliar with and people I just meet will never product my best results, and then add to the fact that I could be asked any question, and my ability to answer is it being ranked against other candidates. Maybe someone else _just_ did a similar question in another interview and it’s fresh on his mind. Maybe someone spend their entire career focusing on just this type of problem given in the interview, but the question in the interview is only partly related to the actual job.
- omarhaneef 5y agoThis is a great point. In many other fields (medicine, law) people study a standardized body of knowledge, take a standard test and then get a license so they can do something others cannot. However, this doesn't prevent a lot of awful and a lot of great people getting through. You would still need to interview a lot of them. I wonder if it sets a minimal level.
- ghaff 5y agoFor the top law firms, things are pretty straightforward. You have to pass the bar, there's the school you went to, your class rank at the school, internships and clerkships, and then associates are largely up or out. I assume it actually works pretty well but there's obviously a huge amount of gatekeeping involved.
- commandlinefan 5y agoThat all makes sense, and it bothers me, too, but they do hire somebody eventually, which implies that somebody can produce quality results in 50 minutes in a high pressure situation in an environment they're unfamiliar with and people they just met.
- gabereiser 5y ago>implies that somebody can produce quality results in 50 minutes… This is more a random fluke as much as sampling bias. Akin to someone either getting lucky or someone who is coming from a very similar environment. This isn’t a measurement that guarantees someone is competent, rather it’s a guarantee that someone is coming from just as incompetent an environment as you have.
- mateo411 5y agoYou know the company is on a good trajectory when the new hires are a little less incompetent than the past hires.
- shagie 5y agoNote: This depends on hiring style. Some companies have a bar and everyone who meets that bar is hired. Other companies are hiring for a position that gets one person... These results may be "curved". If you give the same easy test with no pressure and everyone is sufficiently good, then it was a waste of everyone's time. In such an approach, you do something that is sufficiently hard that you're able to identify the people who are the better performing ones along with a reasonable idea of how well they work under pressure (because that will happen at some point). Is it testing the right thing? Probably not. However, we still haven't found "the right thing" that is able to scale, respectful of the time of the candidate, not too intensive on the interviewer, and minimizes biases in hiring (same set of questions to all candidates, same grading scale).
- bogwog 5y ago> Is it testing the right thing? Probably not. However, we still haven't found "the right thing" that is able to scale, respectful of the time of the candidate, not too intensive on the interviewer, and minimizes biases in hiring (same set of questions to all candidates, same grading scale). Maybe because the concept of a test is flawed? It seems to me like every company that uses a whiteboard test gives out the same tests anyways. What are they really trying to test? If someone understands common algorithms and data structures? I dont see why that couldnt be determined by a simple interview with an engineer. A test might be useful for a HR recruiter who doesnt have a computer science background, but those tests are usually conducted by other engineers anyways. The whiteboard thing just seems to me like an arbitrary hazing ritual.
- jelling 5y agoI did an interview with Reddit - whom I hope sees this comment - and they not only provided zero information about the context of the tech interview in advance, or whether it would be one, but also the interview itself was like playing a random version of tech Jeopardy, but without the category columns, and very few of the questions had anything to do with the job I would be doing. I have over 20 years of programming experience, am a founder, and have worked for multiple venture backed startups. That includes hiring countless developers, so I get both sides of the situation. And my partner is also a tech recruiter for a top tier HFT / market maker, so I know what a demanding but respectful hiring process looks like. Reddit’s hiring process converted me from a fan of the site into someone that thought the entire organization was second tier - which obviously it is in terms of monetization - but also in how they treat people compared to the FAANGs. And a year later the role is still open.
- greenhatman 5y agoMaybe they don't really want to fill it.
- Zelphyr 5y agoI had a similar interview with a different company last year. Three guys and me on a Zoom call with me sharing my screen trying to solve a coding problem that in no way resembled anything I have ever encountered in my 25 year career. When I got stuck they just stared at me. They would not give me any hints whatsoever. They just stared at me. When the interview was over I thought, "Is this how working with these guys is going to be?" If I ran into a problem and went to them for help, would they just stare at me, waiting for me to figure it out on my own? They didn't extend an offer to me and, based on my performance in that interview, I can't say I blame them. I'm not sure I would have accepted if they had, however. That experience really left me with a bad taste in my mouth and a low impression of that company. We as an industry really REALLY need to figure out a better way of conducting interviews.
- nine_zeros 5y ago"Is this how working with these guys is going to be?" Unfortunately, yes. Young engineers are terrible at communication and working with others. Partly due to workplace incentives and partly because you must realize that entire generations have grown up with computers and not people.
- duxup 5y agoYeah the amount of trivia folks like to throw out, and the assumptions made based on them is absolutely absurd. I've ran into "OMG he didn't know that!" responses when one dev disapproves of a candidate. Inevitably I ask "Really how often do you need to know that? and if you needed to wouldn't you just google it and be done?" but we assume it means so much more and there you go. Then someone else gets hired and they knew the trivia, but can't apply it or worse only really knew the answer and not the ramifications... or they just can't wrap their mind around / don't care to think of second order effects or whatever.
- slumdev 5y ago> I think a lot of this is because our profession does not have an accepted universal bar everyone can jump over to be considered ‘qualified’. Credentialing organizations already exist[1], but none have lobbied the US government to prevent the uncredentialed from practicing. Perhaps it's time. If none of the existing orgs are good enough, start a new one. 1. https://www.computer.org/product/education/professional-software-engineering-master-certification https://www.computer.org/product/education/professional-soft...
- Nbox9 5y agoI’d be happy if some organizations started accepting a credential in lue of a coding interview, and just did a design/architecture and cultural interview.
- binarytox1n 5y agoPeople here are suggesting credentialing as if it will remove interview requirements rather than simply add a new hoop to jump through. I do not believe required credentialing solves the interviewing problem at all. You see it today with the certifications that already exist in the market. They aren't worth the paper they're printed on. Anyone can trivially study and pass the certification tests and still never have implemented a system, nor even have basic programming ability.
- slumdev 5y agoAdding a new hoop is the desired effect, and it does solve at least one problem. If you're at a tech company or some other org that interviews well, you might not have seen it yet. Many devs are not good at their jobs. They mean well, but they can't solve basic problems without looking at stack overflow. And by "basic", I don't mean leetcode, I mean iterating over a collection. > Anyone can trivially study and pass Yes! At that point, I would know that the guy sitting next to me did at least some amount of studying of the fundamentals.
- ryandrake 5y agoA real credential with teeth would likely eliminate plenty of the "Does this person know anything at all" element of current tech interviews. I've interviewed people who didn't even know what a for loop was or the difference between the stack and the heap. If there was a piece of paper which said that the candidate knows at least the bare minimum about software development, you could at least start the interview at a more advanced (or domain-specific) level. I doubt hospitals interviewing senior doctors need to ask them basic anatomy questions, or law firms needing to ask candidates the difference between tort and criminal law. Tech could benefit from this minimal minimal bar.
- Clubber 5y ago>our profession does not have an accepted universal bar everyone can jump over to be considered ‘qualified’. They even do this crap to people with CS degrees. If a 4 year CS degree isn't enough, then people who do this have no idea what they are doing. I started in this field in 1997. The interviews were more old fashioned, a few tech questions, see if you were an oddball, then they'd get back to you. If you didn't work out, they would just fire you. Pretty simple.
- cratermoon 5y ago> If a 4 year CS degree isn't enough If it's not enough for an employer, it's because that employer devalues what's taught in most CS programs. Granted, there's a significant mismatch between CS degree work and real world work, but that's true in lots of engineering. Ask any engineer in whatever subfield how much time they spend solving differential equations. I mean, great that I learned how to balance a binary tree and write a heapsort in my DS&A class, but have I ever needed to do that at work? Other than to pass some stupid coding interview?
- 908B64B197 5y ago> They even do this crap to people with CS degrees. If a 4 year CS degree isn't enough, then people who do this have no idea what they are doing. Not all CS degrees are created equal I'm afraid.
- unoti 5y ago> If a 4 year CS degree isn't enough, then people who do this have no idea what they are doing. I’ve interviewed many people with 4 year CS degrees who can’t really code. I’m not sure how this happens, but it definitely does. I disagree that having a CS degree should excuse candidates from coding interviews.
- skrtskrt 5y agoA CS degree often doesn't have jack to do with being a professional software engineer
- bavila 5y agoMy current company works predominantly with 2 major programming languages: Python and JavaScript. This is made very clear when advertising our open software engineering positions. Despite this fact, we once had a CS graduate (from a top-tier US university) who applied and was unable to write a for loop in either language. Yes, that's right: a for loop.
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- ravroid 5y agoI think it's because software varies vastly in complexity and spans many domains. Every software engineering role may use a generalized skillset to a degree, but I feel like there can never be one all-encompassing bar that can effectively cover the requirements of every role.
- HeyLaughingBoy 5y agoYou mean like Law?
- PeterisP 5y agoThe same would apply for law and medicine, but those fields have chosen to make a requirement where specialists do have to be generalists first and have to learn and be examined on the whole field. Becoming a specialized divorce lawyer still requires you to pass certification on things like criminal law and constitutional law (among many other things), you won't be permitted to practice law if you know just your specialty, no matter how well you know it. Becoming a heart surgeon still requires you to pass certification on pharmacology and gynecology (among many other things), you won't be permitted to practice medicine if you just know your specialty, no matter how well you know it. But for software workers we do accept that you can ignore many related (and even relevant) fields and just learn only one niche of technology - we could make an all-encompassing bar, but it would be a major change and I'm not sure if we would want that.
- teeray 5y agoIt really would be nice to have some kind of license at this point. For interviewees, it sucks because you basically have to take your license exam for each company you apply to. Interviewers have to administer this exam, and they may not be that good at doing that either. They’re more interested in getting to know candidates and hearing about their experience.
- steelframe 5y agoThe first time I interviewed at Google I didn’t make it past the phone screen. I bombed a question about an appropriate length of a Bloom filter because I hadn’t recently been thinking about Bloom filters, and I was summarily rejected for onsites. The second time I interviewed I was asked a number of questions that I was perfectly “primed” to answer. Because those were in my brain’s cache, I was able to get through the full interview loop with a “hire” recommendation. My focus is security, and so the second time around I got Travis Ormandy as an interviewer. I was able to impress him well enough with my IPSec foo to make it onsite. Then I got asked a question I had already been asked in another interview with another company, and I was able to knock that out of the ballpark (I mentioned I already knew that question, but the interviewer wanted me to answer it anyway). Then I got asked a question that used recursion, and because I took a graduate course on induction and recursion within the past year, that was effortless for me. Then I got asked a question that involved a kernel feature, and because I happened to recall the Linux kernel list macros and semantics (something I couldn’t repeat now over 10 years later), I really impressed that interviewer. I ended up having a really successful part of my career at Google, even though I ended up not really writing much code when all was said and done. However what code I did write was highly impactful. Looking back, things could have gone very differently if I had gotten a different set of interviewers and/or questions. The questions I got just happened to coincide with what was “paged in” to my “working memory,” so to speak.
- mitjak 5y agothis needs to be one of the highest rated comments squarely due to how much luck (or gruelling prep) is involved in effectively memorizing answers, i.e. the issue with technical interviews to begin with.
- draw_down 5y agoSounds like the system works!
- hirvi74 5y ago> I bombed a question about an appropriate length of a Bloom filter because I hadn’t recently been thinking about Bloom filters, and I was summarily rejected for onsites. I've never even heard of a Bloom filter, so I know how I would have done.
- move-on-by 5y ago> In an environment I am unfamiliar with I had an technical interview with a company early last week, we did a shared session using VS Code. The interviewer wrote the function signature, and I filled out the implementation. I did great, according to the interviewer, and moved to the next set of interviews. The next interviewer, which turned out was also technical, ended up opening up a shared Google Docs to write code it. I asked if I could just share my screen in my own editor, but they couldn’t give me permissions to do that. I was given an extremely vague question. When I asked questions, he told me to stop because he was holding out for next iterations of my implementation (again, in a Google Docs). Given no structure and an absurd environment, I completely bombed it. And to top it off, instead of getting an email saying they were not interested in me, they just ghosted me all together. A complete waste of time. I wish them luck in their endeavor to find the best engineer to write code in Google Docs, since that is apparently what they are interviewing for.
- digitalmouse 5y agoreminds of of the systems design interview I had with Google, the interviewer had his webcam off, barely spoke English and had me trying to make diagrams of system architecture in google docs with no reference of what he was actually looking for it was like sitting in a confusing nightmare for an hour
- taftster 5y agoThis is when you open a can of BS and just spray it everywhere. Go for the most esoteric and ridiculous design that you can. Elaborate on the minutia of your design at the finest level. Puff your feathers and flaunt your genius. Both bore and impress your interviewer at the same time.
- digitalmouse 5y agoI suppose I could have, I'm not 100% sure he was paying attention to me either way I ended up getting a cooler job somewhere else so maybe it was a good thing in the end
- 5y ago
- HeyLaughingBoy 5y agoThis really is the problem. And I think it leads to a lot of the dysfunctional interview behavior that we've all seen. Interviewers are having to make up their own evaluation methods but really haven't thought through what the acceptance/rejection criteria should be. I mean, we have things like the SWEBOK (https://www.computer.org/education/bodies-of-knowledge/software-engineering/topics https://www.computer.org/education/bodies-of-knowledge/softw...) that could be used to build a set of interview questions and acceptable responses, but does anyone use it for that? The best interviews I've had, either as the interviewer or the candidate, have been when there was a discussion and a free flow of information in both directions. Unfortunately, it seems that in a lot of places, this degrades quickly into a hazing ritual.
- deleted 5y ago[deleted]
- disintegore 5y agoIt doesn't help that so many concepts on CompSci show up in different places under different names and labels. I haven't participated in technical interviews in a long time, but when I was asked to do it, I made it a point to throw as many lifelines as I could until I got a satisfying answer. For instance, if want to know if the person understands generics and they can't answer the question outright then I'll ask them about C++ templates. Similarly, if someone can't describe the term "idempotence" I'll ask them "can you tell me what makes a function pure". Mind you those terms aren't interchangeable but if you catch one it should be trivial to understand the latter.
- nitrogen 5y agoEven if someone's never heard of idempotence, it's enlightening if you can get them to discover it for themselves by asking questions like, "What happens if this request gets sent twice due to a network issue?"
- engineer_t 5y agorecently interviewed with Robinhood. Their phone screen started with a system design interview, but man I felt so uncomfortable using the tool that they had shared. The interviewer created a text box in the tool and copy pasted a multi paragraph question. The font sizes were little too big, I had to constantly scroll up and down to read the question. After brief introductions, giving previous work/project summary, understanding the question, stating and clarifying my assumptions, writing down product requirements, identifying tech stack, I was already 25 minutes in for 50 minutes interview and from there on I was told to speed up and within the next 20 minutes, I was asked to make it scale, fault tolerant and all this even before I could properly illustrate and communicate my design. It was very confusing to be constantly switching between different design paradigms before being able to explain one. As expected I didn't clear it but at the very least the recruiter later did follow up and I communicated my feedback on the interview. Hopefully they take these feedback and make the interview process better.
- philpem 5y agoI had an interview with a company a few years ago -- on paper it looked like a perfect match. During the interview things seemed to go well, but things took a turn for the worse with the technical lead's interrogation. He asked five or six questions related to C and C++ undefined behaviour, a very open-ended one about a technology I'd never used. I answered as best I can, but always opened with "I'd be referring back to the C standard and opening a JIRA task to fix the code". We got on to how I'd fix the code -- remove the UB, but only if there's a unit test covering it. What if there are no unit tests? What if there's no JIRA? Lots of what-if-maybes. A few days later I was on a 3-way call with the recruiter and one of the guys that interviewed me. They spent the whole thing telling me how "any decent developer" should have known what the UB would result in, shouldn't have to refer to standards or books... and on and on. But as a courtesy, they'd be happy to make an offer. Half the minimum posted salary, no benefits. It was right in the middle of the minimum wage and the "living wage" lines. I declined politely, and the recruiter hung on the call... "Wow. I don't know what to say. That's never happened before... do you mind if I share the recording of that call with my manager?" They were still advertising to fill several positions when I last stumbled across them on Glassdoor a few months ago...
- randomswede 5y agoI thought the actual thing with C (and probably C++) UB is that, well, pretty much ANYTHING is allowed to happen (by the standard)? Including, but not limited to, nasal daemons.
- weeblewobble 5y agothis is advice i give to a lot of people trying to get into the business or switch jobs. no matter how prepared or qualified you are, every interview is a roll of the dice. maybe the interviewer is in a bad mood. maybe you're in a bad mood. maybe there's a communications barrier. maybe there's some organizational issue (too many candidates in pipeline, re-org, etc.) that causes the bar to temporarily be set extremely high. It's ultimately a numbers game and it doesn't make sense to get too invested in one company or read too much into one result
- musingsole 5y ago> I think a lot of this is because our profession does not have an accepted universal bar everyone can jump over to be considered ‘qualified’ Someday soon we may accept that what gets classified as software engineering is actually an amalgamation of skills from an entirely different set of titles/careers, most of which treat software creation and management as a tool and means to an end. I don't generally consider a blacksmith and a welder to be the same occupations. You can lump them under metalworker, but would you really expect the interview process for these roles to be at all similar?
- Frost1x 5y agoIf they were applying in the tech industry you would. Might as well lump in metallurgist, chemist, materials scientist, and sheet metal workers because we do this in the tech industry. Everyones a generalized set of specialists rolled into one.
- da39a3ee 5y agoYour comment explains why the variance is high; it doesn't explain why the mean should be low. In other words, there flipside of what you said is that sometimes you'll excel and be offered the job on very attractive terms.
- tootie 5y agoIt's because there isn't one. So much professional advice seems to be based around a SV/FAANG mode of operations, but that just doesn't apply to a good 90% of the industry. Most tech work is done on line of business software, not megascale internet companies. Building high-design marketing websites is completely different from enterprise SaaS is completely different from infrastructure is completely different from video games is completely different from desktop software. Not just requiring different tech skills, but different personalities and working styles.
- cudgy 5y agoTrue. Furthermore, many of these FAANG sites work terribly and are ridiculous to navigate. Where is the logout button? Oh, they purposely hid it several levels deep under a strange tiny icon menu where users won’t find it … so users stay logged in and they can be tracked by the advertising markers. Or, why did the screen just scroll down and lose my place in the paragraph? Oh, they loaded an ad in the middle of the document and the page re-rendered itself causing jerks and fits on the screen. Nice job FAANG site! Or try performing a sort of items by price or whatever other criteria … doesn’t work because the website wants the user to see the “suggested” items no matter what search criteria was desired y the user. And …
- dennis_jeeves 5y ago>I think a lot of this is because our profession does not have an accepted universal bar everyone can jump over to be considered ‘qualified’. Keeping aside the universal bar, even a firm/interviewer who interviews you will refuse to define a bar( and it's not too difficult to define one) or define a bar that is vague. Defining a bar will means that now they will have to come up with a really good reason to turn down a candidate. IMO they might as well as be honest and do the "culture" fit interview first and as an icing on the cake ask some simple technical questions, once they have settled for a candidate. It's profession is filled will low status, low self esteem, insecure males, who bolster their ego by making the interview experience for the potential candidate as tough as possible. Not surprisingly the 'victims' (candidates) are also often the "victimizes" (interviewers).