23 ms·
What I've learned from 100s of interviews with candidates at top tech companies
- gaylemcd 9y agoI'll try to stay active on this thread if anyone has any more specific questions. (Context: I'm the author of Cracking the Coding Interview)
- throwawayosiu1 9y agoI've tried getting interviews at Google and the only time their recruters have contacted me back were from internal referrals (none of those worked out in the end as they wanted me to move to SF, and I wanted to work from Canada). How would one go about getting your foot in the door at such companies (I've had similar experiences with both Microsoft & Facebook as well) ?
- gaylemcd 9y agoReferrals are honestly a great strategy. Often employees will be open to referring you even if you don't know them well. Use social media, Facebook groups, Quora, etc. Recruiters want to be found. Have an active github. Make yourself Google-able. Have a website where you list projects. Screenshots help make things feel more "real", especially if it's a recruiter/sourcer who might not understand some of the technical details. Hackathons and conferences also. They're swarming with recruiters.
- fhrow4484 9y agoFor people not in college anymore, those are great advices. Having been on the recruited and recruiting side for one of the big 5, I'd add an extra advice: Don't panic if you don't have any of the things mentioned above, especially when still young in College. I didn't have an active github, nor a website, nor screenshots of my side projects. If you're genuinely passionate when you talk about it (no matter how small you think this is), the recruiter will notice this. One of the most important advice that was given in this article for me is: "Show initiative even at the risk of failure" -> You did X in a class project : It won't matter so much because you had to do it to pass your class. If it's a group project it will matter even less because there's no way for the recruiter to know if you did 90%/50%/5% of the job. -> You did a small Android app or a personal command line tool for you, but you didn't publish it at all on github, and it's a private thing (a tool to help your grandma do X remotely), it's fine, but like the Amazon interviewee who started her game company: Mention this on your resume and to the recruiter!! I've also seen people downplay achievements because they thought it looked lame compared to what is produced by Google/Amazon/FB/Microsoft ... but those products have dozens if not hundreds of engineers behind them, PM, UX teams etc. Of course your project will be lame compared to it. Still put it on your resume. If you're going at a top CS school, having all of these doesn't matter as much, the recruiters usually know that the projects/classes you took are not trivial (via Alumni giving feedback on those), if you go to an average one, you need to show your passion in one way or another, working on a small side project you genuinely enjoy is a great way of showing this. Finally, if you have very little time for side projects because you're busy working multiple side jobs to be able to pay your tuition and rent, mention it somehow when talking with a recruiter. You certainly don't want the recruiter to perceive you as what the authors describe "mentally lazy" when in fact the reason you're not doing that much in the side-project side is because you're working your ass off to simply be able to graduate. You can also use some of those side jobs experiences to show the recruiter you have some applied leadership/teamwork skills.
- parmen10 9y agoThis github/side project thing is at the far end of diminishing marginal returns. It of course wouldn't hurt but most people I've met at these companies (where I also worked for a while) do not have side projects or public code. So if your goal is to get the interview, go through referrals. Don't expect anything from side projects.
- gaylemcd 9y agoOh, you don't have to have side projects. But if you are struggling to get noticed, it can help.
- throwawayosiu1 9y agoanother quick question: in general, would it be considered ok to find recruters (and maybe employees from the same team that's hiring) on LinkedIn and contact them?
- lazyasciiart 9y agoFind a team that works in the location you want to work at. Get a referral for that team.
- holydude 9y agoThe biggest problem I have with these companies is that they feel like a cult. And the people working there are doing a lot to keep that cult spirit alive. All of these companies want you too feel and act like they are the single best entity in the entire universe and you should be honored that they even acknowledged you. This works great for young graduates that are full of dreams and hopes but it discourages experienced people from even attempting to go through the interview process. Oh and the always responsive HR or whoever is in charge. Getting back to you after 6 months. Thanks but no thanks. I would rather make more money in a stupid corporate job than working on more aggressive ways of making people to click on ads.
- ThePawnBreak 9y ago> I would rather make more money in a stupid corporate job than working on more aggressive ways of making people to click on ads. Could you name a few "stupid corporate jobs" that pay better than Google or Facebook (200k - 300k for a senior engineer) ?
- holydude 9y agoAre you sure the majority of senior engineers earns 200 - 300k ?
- keville 9y agoThat's probably a reasonable estimate (including stock compensation) for the companies mentioned.
- gniv 9y agoSee for example: https://www.glassdoor.com/Salary/Google-Senior-Software-Engineer-New-York-City-Salaries-EJI_IE9079.0,6_KO7,31_IL.32,45_IM615.htm https://www.glassdoor.com/Salary/Google-Senior-Software-Engi...
- TulliusCicero 9y agoI'd ballpark the average range for senior engineers at Google at being around 250-300k in the US. Staff engineers (one step above senior) will make significantly more than that, although not everyone reaches that level.
- acrefoot 9y agoI would love to know instead what companies and recruiters have learned from interviewing, hiring, and monitoring the performance of candidates at these companies. What productive trends have you seen in how these companies adjust their hiring process?
- gaylemcd 9y agoIt's very difficult to correlate interview performance and job performance. No one is willing to hire at random to really get the data. Companies only look at who got hired. I've seen some companies decide "well, whiteboard interviews are flawed" and just scrap the whole thing and replace it with something else... that's much more flawed. They're really not being honest with themselves about what the flaws exactly were in whiteboard interviews and if those are fixable, or what the flaws are in their new process. There's a lot that can be done to make whiteboard coding/algorithms interviews less flawed. - Be clear with candidates and interviewers about expectations. What knowledge is okay to assume? What knowledge is not? - Clear guidelines on what makes a good question. A lot of companies ask very simple or well-known questions but think they're emulating what Google does. They are not. - Good interview training. Most companies don't have interview training, beyond maybe basic legal stuff. Even the companies that do have training typically have crappy training. - Interviewers should candidates with certain things that might not be obvious. For example, writing examples of input and output on the whiteboard is helpful. Don't rush into coding. There is A LOT that can be done to make whiteboard interviews more effective. You can also replace them with some other things, but understand that those will come with their own flaws. Scrapping whiteboard interviews is not going to deliver you some perfect system.
- gm-conspiracy 9y agoI enjoyed your article. Does your book have more anecdotes of candidate "fails"? Would you be willing to share some more stories?
- meggar 9y agoCTCI is a great book. Is it acceptable to ask an interviewer for a different question? For example, if you're really bad at chess algorithms and you get the N-Queens question?
- gaylemcd 9y agoThis is actually a really interesting point. (Context: In chess, a queen can move along a row, column, or diagonal to attack. The N Queens problem is to place N queens on an NxN chessboard such that no two queens can attack each other.) No one does poorly here because they are "bad at chess algorithms." They might do poorly because they think they're bad at chess algorithms. But this is not a "chess algorithm." It's an algorithm, with a chess skin. But, sure, if you're bad at chess algorithms, I'll give you this problem: Given an N by N boolean matrix (all falses), set N cells to true such that no two rows, columns, or diagonals have two trues. Same question, but with a boolean skin. Now will you be able to tackle it? So, advice: Don't assume you're bad at __ type of algorithm question. For the most part, this isn't true. At most, there's a tiny bit of knowledge to tackle it (so you're not bad at it; you just don't know something). Nearly every time I hear someone say they're bad at some type of question, it's actually just an insecurity. They aren't even missing any knowledge. The only partial exception here is recursion/dynamic programming, which does have its own little approach. At a higher level: Can you ask for a new question if you're bad at that type? You could, but it's risky. If I ask you a question that really involves pointers and you don't understand them, then okay. But realize that this might be a deal breaker for me. I might need that knowledge, or I might be concerned about the tendency to give up. You're probably better off just voicing something like: "To be honest, I haven't worked much with pointers. I'm happy to give it a shot though, unless you want to move onto a different question."
- wayn3 9y agoDo you think it makes sense to ask interviewees to solve backtracking problems, given the fact that its mostly about already knowing the solution? Someone who's never come in contact with backtracking won't be able to solve n queens "in time", unless they pull a mathematics stunt, but those who do know backtracking won't struggle much. On a higher level - how much of an "already seen the algorithm" crapshot are tech interviews? And given the fact that a lot of the problems in your book are trivial in higher level languages (reversing a string is only hard if you somehow don't know how to do pointers) - what's your opinion on trying to use Java on a whiteboard in 2017? Has python officially become synonymous with pseudocode?
- namelezz 9y agoIf you do not get an offer even though you did well on technical questions(verified your answers online). Should you reapply? Why? Personally I think it's the sign of cultural fit issue so they unlikely will like you just because you reapply.
- gaylemcd 9y agoWhen people don't get an offer after a technical interview, it's typically about technical skills. Even if they think they did well because they verified their answers online. Often, although their answers were eventually correct, it took them too long to get there which the interviewer perceived as weak problem solving skills.
- FLUX-YOU 9y ago>Often, although their answers were eventually correct, it took them too long to get there which the interviewer perceived as weak problem solving skills. Does CtCI publish those times for its problems? How would I know I'm too slow to solve a kind of problem before interviewing?
- Shamiq 9y agotriplebyte mentions taking a particular problem from CtCI and solving it within 30min on a whiteboard (pen/paper, plaintext editor).
- gaylemcd 9y agoNo, I don't publish times. The times are misleading. Interviewers often give hints, which can dramatically change the amount of time. And there can be random factors that change the amount of time.
- deleted 9y ago[deleted]
- aero-002 9y agoyour videos on algorithms with hacker rank really helped me a lot. I just thought I'd take this chance to thank you for that.
- MarkMc 9y agoWould you say that candidates who have completed online courses (MOOCs) tend to perform better in interviews? Edit: The question is based on this article I read a few months ago: http://blog.interviewing.io/lessons-from-3000-technical-interviews/ http://blog.interviewing.io/lessons-from-3000-technical-inte... The bar chart in that page is very interesting. HN discussion here: https://news.ycombinator.com/item?id=13272840 https://news.ycombinator.com/item?id=13272840
- CurtMonash 9y agoGood advice. But I didn't see much there that should surprise anybody other than several versions of "Don't panic", including: "Don't panic -- everybody else looks imperfect too." and "Don't panic -- you're being judged on how well you perform under pressure."
- anjc 9y agoHas any link ever been determined between interview performance and on-the-job performance? I've made the clichéd mistake mentioned in the article of wearing a suit to an interview where it wasn't appropriate, and felt the air being sucked out of the room. It strikes me as silly, but what do I know. Do these hiring practices result in a good cohort of employees?
- oculusthrift 9y agothey aren't necessarily trying to get the best employees but instead trying to avoid bad or mediocre ones. This means they sacrifice rejecting some smart people in order to gaurantee they don't have terrible people.
- gaylemcd 9y agoGoogle kinda-sorta did a study there, but the "study" was fundamentally flawed. They didn't look at people who didn't get hired (duh). So the most they could say is that once people passed the (very high, risk averse) bar, how much better they did beyond that didn't have a strong enough correlation with job performance to come out in a small-ish number of data points. To me, it's pretty clear that it basically works. It's not perfect, but yeah it works. Virtually every top tech company has been formed with these practices. So unless you're going to argue that they could have hired random engineers, then it must be effective. (Note: this doesn't mean that it's perfect or that there's nothing better or that you can't improve it. It just means that it is reasonably effective.) I [author here] have done a lot of interviews with companies going through acquisitions, and that's offered me the ability to talk with their managers about their job performance. My assessment is generally accurate. There are certain things it can't evaluate, of course, like work ethic. Work ethic is really important, but there's really no way to interview for that.
- rhizome 9y agoVirtually every top tech company has been formed with these practices Just to be clear, does "top tech company" mean simply "large tech company?
- atirip 9y agoOh we all value diversity so so much. Just fucking all dress alike, it's our culture, no diversity here. Hypocrisy.
- gaylemcd 9y agoWhile you sort of have a point there, there's much more diversity in how people dress at top tech companies than in, say, finance or consulting. It seems you're upset that an interviewer might be biased against someone for wearing a suit. That's fair; an interviewer shouldn't be biased against a candidate for that. And most wouldn't be -- consciously. But subconscious bias can still exist. It's best to skip the suit, particularly for a very technical role.
- ewjordan 9y agoWhile maybe it shouldn't be a strong signal, showing up for a tech interview in a suit is kinda like showing up for a finance interview in jeans and a hoodie. It indicates that you're either unfamiliar with the norms in the industry, or deliberately violating them, and neither one is a great first impression. The typical interview rule, IMO, is a good one, at least for men (women unfortunately are under very different pressures): dress one (and only one) notch nicer than the people that will be interviewing you. There are some rare situations where dressing down compared to your interviewer makes sense, but a normal dev looking for a normal job is not one of them.
- gaylemcd 9y agoYes and no. Dressing abnormally does indeed show that you're either unfamiliar with the norms in the industry or you're deliberately violating them. Agreed. In finance, it's sort of reasonable to be concerned about someone showing up in jeans and a hoodie. A good part of that job is being able be "corporate" and adhere to norms. If you can't do that in an interview, how will you treat clients? In a coding interview for a tech company, adherence to social norms is not particularly valued. Weirdness is tolerated, if not celebrated. So it's fairly different. Tech companies would be far more accepting of a candidate in a suit than a finance firm would be of a candidate in jeans and hoodie. That said... it's still probably best to just avoid the risk of subconscious (or even unfair conscious) bias.
- siliconc0w 9y agoSure- you don't need a CS degree but you need to know everything taught in a CS degree regardless of it's applicability to real life software engineering. You should also buy a bunch of books and section off at least a month to study. Especially if you don't have that CS degree. Hope you don't have other obligations like a family or a demanding job. You should also spend a lot of time doing coding competitions even if you find them boring because you got into engineering to build cool stuff- not solve abstract academic CS puzzles. You should also practice coding in environments you would never use in real life - like a whiteboard. Every single software engineer on the planet codes in an IDE - but no, you will use a whiteboard. You haven't written by hand since like 2012 so your writing looks like a child's scrawl - better work on that too. Good luck!
- gaylemcd 9y ago1. No, you don't need to know everything. You should know what a binary search tree. You probably don't need to know the specifics of how to balance one. (If a company is requiring this knowledge, then they're doing whiteboard interviews poorly [or they have a very specific skillset needed]. That's not a problem with whiteboard interviews. That's a problem with that company or interviewer. It takes maybe a week for a smart developer without a CS degree to learn what they need to know for interviews. 2. Yes, I understand that interview prep might interfere with other obligations. You don't have to study. But it'll help you. I'm not sure what you expect here. Do you want companies to hire based on how smoothly you're able to bullshit about what you can claim to have done in the past? 3. Sure, you could do coding competitions if you want. That'll replace existing interview studying; you wrote your comment as though that's in addition to your previous studying. 4. Yes, true, you don't code on a whiteboard. But this, in and of itself, doesn't matter. What matters is whether whiteboards are more predictive and whether they create a better candidate experience. So, forget whether it's "real world" or not. Whiteboards have their pros and cons. The major benefit of a whiteboard is that it allows a candidate to not get caught up in details, like the exact syntax for some function (who cares?) or writing in all the details of some trivial thing just so it can compile. It allows us to focus on the big picture. It encourages more thought process and communication. On a computer, many candidates just shut down -- they try to get things out as fast as possible, and they stop thinking about what they're actually doing. 5. You do not need to work on your handwriting. I've done A LOT of interviews and this has almost never been an issue.
- jonnycoder 9y agoI do not go home and code after work. I have plenty of hobbies that all pertain to the outdoors (I call it balance). This quote stuck out: "I once worked with a candidate at Google for a product manager role. During the interview, he started talking about how he kept chickens at his house. He was extremely passionate about building a door for the coop that opened and closed automatically to control the chickens’ movements." I have 30 tomato plants in my backyard and was planning some automation around watering. It doesn't always have to include a raspberry pi even though I may go that route to monitor soil temp in the hot months. Filling up a 5 gallon bucket with water and compost and the right size holes can slowly drip feed the plants.
- seizethecheese 9y agoFor chickens specifically, you need to open and close the door to their coop every day. and make sure that they're all accounted for, or else they get eaten.
- mesozoic 9y agoWouldn't it be a little too late if they aren't accounted for?
- lm2s 9y agoMaybe not, a chicken might just walking around and not have returned to the coop. So you go and make sure it goes into the coop before night time. If you have a system that tells you if there are chickens missing from the coop, you can save some time by only going there if needed.
- ryandrake 9y agoThis is good general, high-level advice and following it might slightly increase your chances, but I'm more and more convinced every day (and every jumped-through hoop) that there is no formula--and that random chance plays the biggest role in how far you get through any given interview funnel. The solution, if that's true, is just to make it a probability problem. Get as many interviews as you can, and as long as your chance of getting the job is greater than zero, you'll eventually get one. In tech, especially at these big companies, it's an employer's market, and they have the luxury of being able to be as picky as they want: There's always a line out the door of qualified candidates.
- myrandomcomment 9y agoThe advice about not giving up on the question is a key point here. In a previous startup I would ask a single question that would take 30+ minutes to work through with no expectations that the candidate would ever get the answer. All I cared about was if you could break down the issues and move from one set to the next in trying to narrow down the issue. I cared deeply about how you thought, not what you knew. As people will ask the question had to do with networking and knowning the answer required you to have seen the issue before and have had delved deep enough into the Ethernet HW specs to get the answer. Narrowing down the question just required you to think and be able to problem sovle. At the end most people never figured it out but those that spent the time attacking the problem and asking question are the ones that got job offers.
- georgemcbay 9y ago"I would ask a single question that would take 30+ minutes to work through with no expectations that the candidate would ever get the answer" The major problem with this approach (unless you are very vocal about the process up front, but still even then I see it as problematic) is it flies in the face of most education at all levels, at least as practiced in the USA. This is fundamentally more an issue with the way we scale teaching up to so many students than the way interviews are handled, but it still ends up being a huge problem. People are expected to spend 20-ish-plus-something years learning and being tested in a pass/fail know-it-or-you-don't manner, and then are thrown into an interview environment that is entirely different. It isn't surprising that a lot of people who would be perfectly capable of doing the work get completely hung up on the fact that they are wading through the muck of topics they don't fully understand in this environment that otherwise feels so very much like a school test of knowledge... especially when you throw in the types of social awkwardness and fear of public failure that are relatively common among engineers.
- myrandomcomment 9y agoSo I was always very upfront. I told the candidate you will not get the answer. This is so I can see how you attack a problem. All the candiates had a background in the subject matter. The question was not on subject matter not tied to the job. Overall we found that the way we did this interview was very successful. At one point we lowered the bar and hired a bunch of people and they were all gone in six months. On the other hand those that were successful with the question and problem solving did very well and are still there. Some of those people I hired even work with me at my new startup. Also I do not understand your comment about schools. Yes in K-12 there is a lot of pass / fail but when you go to collage for an STEM major there is a huge amount of critical thinking and problem solving involved. The interview was designed to test that, not if you memorized how to do a binary tree search.
- southphillyman 9y agoI wonder how much diversity initiatives impact evaluations, if at all? I know Google is establishing pipelines with HBCUs like Howard and FB is looking into something similar I’ve heard. I also noticed a lot of Google engineers teaching MOOCs happen to be women, which is a great way to be inclusive to people looking to learn. Just how far does that go in the actual interview evaluation (ie: Do feedback reports have any identifying information, are behavioral or design questions examined for cultural bias etc)
- gerbilly 9y ago>Nine-to-5 isn’t enough. At top tech companies, extracurricular work isn’t a differentiating factor— it’s the expectation. I stopped reading at this point. How arrogant to expect you to gift your unpaid free time for the privilege of working there.
- WalterSear 9y agoGaylemcd is just bringing the news. It's not her fault that it's bad.
- NTDF9 9y agoShe's profiting from it
- deleted 9y ago[deleted]
- gaylemcd 9y agoAnd? By your logic, if a lawyer tells you how to handle some unfair legal situation, that lawyer is doing something wrong. Because they're profiting from something that's unfair. When I talk to a company about how to create a hiring process, I tell them that it's unfair to expect side projects from candidates.
- NTDF9 9y ago>> And? By your logic, if a lawyer tells you how to handle some unfair legal situation, that lawyer is doing something wrong. Because they're profiting from something that's unfair. Just putting things into perspective for OP. It's like Trump campaign has ties to Russia. Doesn't incriminate him automatically but I would be wary of vested interests. Just an additional data point
- eli_gottlieb 9y agoThere's a reason people dislike lawyers.
- geebee 9y agoFor starters, thank you for hanging out on this thread and answering questions. Where it comes to taking a realistic look at what it takes to be hired at google and other top tech companies, I think you give great practical advice. I've recommended your book and blog to a lot of people. Here's a summary of something I've posted elsewhere on HN, and I'd be interested in your angle. It goes, essentially, like this. Technical interviews are, for all practical purposes, difficult oral whiteboard exams. Lots of professions and academic programs involve some kind of exam Here's my objection to it - software tech interviews are essentially exams taken with little to none of the courtesies often extended to exam takers in other areas. I'm hand waiving a little here, but I do think that there is a kind of bill of rights that evolved between people who give important entrance or exit exams, and the people who take them. For example, in the world of law, you (generally) must take the LSAT, and a lot is riding on this test. However, you get to see and review old tests. You have assurances that the test will be consistent across other candidates. You get a copy of the test you have taken, which will eventually become available to the public. You eventually get to know what your score is, and why. On your way out, you take the bar exam. People study a very long time for this, and many consider it to be one of the more stressful events of their life. But again, there is information about who is grading it, what it contains, what your score is, and why. And lastly, it leads to a permanent, lasting credential respected in the industry. This is just one example, but they often come up in other areas. My opinion is that one of the reasons we have technical exam/interviews is that our industry lacks a common and respected credential and exam. I'm not necessarily arguing that there should be one, but keep in mind how stressful and how much prep these exams do take. An interview at google can take place over several days, and may involve relatively grueling technical tests, all at a whiteboard, where people worry about freezing up. You don't get to know who is testing you, what their credentials are, and whether they are doing this consistently and fairly. You aren't even allowed to discuss the questions - you're typically under a nondisclosure agreement! You don't get to know how you did - my understanding is that google has numerical scores and screen captures of what I wrote on the whiteboard, but I'm not allowed to see them or know what they are. I understand much of this is motivated by fear or lawsuits, but all we really get, after waiting, is a "we've decided not to pursue your application further at this point". And if you do pass, it's known only to that company - if you interview elsewhere, you can't take these results with you. You have to start over again. I really do think it's just too opaque, and the secrecy is just too conducive to abuse and bias. And keep in mind, this is in an industry/job category that both complains about a shortage of candidates and is not impressive where it comes to diversity in many job categories. Could the opacity and capriciousness of exams be playing a role in this? Again, I'm not against exams like the ones google does at the whiteboard, I see the value. But I think that the conditions under which we take these exams are a problem. If you're willing to offer your thoughts and take on this, I'd be interested in hearing them. Thanks!
- 6stringmerc 9y agoHow similar are the Odds for a BS of CS graduate in 2017 in the United States to work in Silicon Valley versus the NCAA Division I Basketball Player to make it in the NBA? Point being, this is extremely helpful batch of advice for a surprisingly narrow field. Take out the SV / Top 1% Tech Culture nuances and there's really not a lot to work with other than "Put your best foot forward, be flexible to learn new things if asked, and and to keep trying. But, something like this just stings to me: >Either way, it’s very common for a candidate to get rejected and then get an offer a year or two later. It's extremely uncommon for the common person to get anywhere near that kind of follow up. Well, maybe for half the expected salary, but no, this doesn't happen to anybody I know outside of SV or Top 1% C-Suite management. The advice within should be constrained to its applicable universe, with cautions that viewing the process in other fields through this lens could actually be detrimental.
- NTDF9 9y ago>> >Either way, it’s very common for a candidate to get rejected and then get an offer a year or two later. What OP implies is that the interview process is out of candidate's control and there are many variables in play. What the OP doesn't realize is that this is the definition of a shitty process. What would you call a piece of software that cannot reliably produce the same output most of the time? vs What would you call an interview process that cannot hire the same people most of the time?
- theoh 9y agoI don't know about SV interviews, but there are ways of quantifying this kind of unreliability: https://en.wikipedia.org/wiki/Inter-rater_reliability https://en.wikipedia.org/wiki/Inter-rater_reliability
- NTDF9 9y agoQuantifying assumes that the "raters" remain the same forever. That's not true though. Raters change. Counter intuitively, as the rater gets more and more familiar with the problem, the less tolerance they have for mistakes.
- bit_logic 9y agoI think the tide is turning against this type of interview. The industry is starting to notice how ineffective and stupid it is. The big tech companies don't care and will continue doing it because success hides all failures. When there's an endless flood of new college graduate applicants and near-monopoly positions bringing in billions of revenue, nobody cares if the hiring process is bad. They will care someday if those conditions change, but that's in the distant future. Most companies, especially small companies, are not in this position and should have a different process. It's becoming a competitive advantage, especially if a company is looking for senior engineers, to not have this interview process. For example, this list of companies was in a HN story a while ago: https://github.com/poteto/hiring-without-whiteboards https://github.com/poteto/hiring-without-whiteboards The trend is growing and it's a good change for the industry.
- dv_dt 9y ago> The big tech companies don't care and will continue doing it because success hides all failures. Cynically, big companies might be selecting for a modicum of technical expertise along with demonstrating capacity to put up with some amount of abusive processes.
- aanm1988 9y agoI think Hanlon's Razor applies. They have no impetus to change and think they have found an approach that works reasonable well when given absurd amounts of candidates. The problem is the ridiculous false negative rate. I struggle to think of a better system. Using experience is unfair and misleading (I worked on awesome stuff... that I can tell you nothing about, I was totally the lead on this software, etc...). Take home stuff is fine with me but a lot of people have problems with it. Come in for a week type things are incredibly applicant hostile. Sit down with me and lets try and fix this bug seems like a more reasonable solution to me. Dev environment has the most popular ide with their devs, the source for whatever, internet access, and a bug report. Person is there to assist.
- gaylemcd 9y ago
- yanilkr 9y agoMost of it is good advice for fresh graduates who want to get into big companies. Shouldn't we be telling these young people to aim higher?. If you derive your sense of worth from a bigger brand and not your own efforts and caliber, you might be complacent for a while then life happens and you will regret not accomplishing anything meaningful in life. Before preparing for your interview and seeking validation for your self worth from big companies, try out internships at startups and get exposed to disruptive ideas. Do not play by somebody's rules. That leads to stagnation. A small plant does not get enough sunlight when it is shadowed by a giant tree. The sunlight you need is exposure to problems you can solve. Google and Amazon are the new IBM and AOL. They were once the disruptors, now ready to be disrupted by newer generations. Every other day we read about how internet is broken and finance is broken, try starting there. If you decide to get a job at big company, its not all that bad, just do not take it so seriously.
- mahyarm 9y agoStartups aren't that special, and I lost a lot of income by doing small startups first as an employee for 4/5 years. Startups even in successful cases are just break even working at AFGAM. Usually you'll quickly be throwing away $100k/yr in income instead. And that $60k/yr your not putting in your stock brokerage account you could of used for whatever bootstrapped digital business or financial independence base you could of done instead. Over 8 years the difference can mean a literal million dollars in the bank. Working at AFGAM won't make you lose your soul, and you'll learn a lot of stuff that you wouldn't learn in a startup. If you work at both types, you'll quickly realize that working at a SV startup and working at Twitter or FB is not that much different. A lot of startups have fun, but writing bad disposable code is the standard operating procedure. Mentorship is usually non-existent. Wanting to write something quality is usually difficult to get approved because you might die tomorrow. Long hours are very typical. I would also suggesting looking at this article: https://deardesignstudent.com/8-reasons-to-turn-down-that-startup-job-1f82a00ade34 https://deardesignstudent.com/8-reasons-to-turn-down-that-st... , #4 is especially relevant.
- yanilkr 9y agoShips are safe at harbor but thats not what they are made for. I guess the world needs people who want to work for big companies and people who want to startup. The grass is always greener on the other side, so its not the worst advice to get exposed to wide range of problems and people who are solving them in the industry.
- famil 9y agoWhat do you think about take home projects/homework interviews? I've noticed that they have become much more prevalent among smaller companies as a replacement for phone screens. As a candidate, interviewing is already a time consuming hoop jumping process, so if the project will take more than 3-4 hours, I probably won't be interested but most companies I have applied to are keeping these projects short enough.
- gaylemcd 9y agoI think it's well intentioned but highly flawed. 1. The time commitment issue. 2. It allows a company to give a bunch of "interviews" (assignments) even for candidates they aren't serious about. It can waste a lot of candidate time. 3. There is so much cheating on these that you really can't use it for evaluation. It can really only be a screening tool (which makes 4+ hour assignments really unfair). 4. It primarily evaluates current skillset, not how good they'll be with a bit of training. It's the latter that you care about. 5. They're generally given with little thought about what the company really values. It's typically "uh, gee, we do iOS, give them an iOS app." These projects generally aren't very good at narrowing in on very specific things, like problem solving skills. 6. You don't get a lot of context about why the candidate did things a certain way, and how they would have done things different with some guidance. 7. The results vary dramatically based on how much time a candidate spent on something. ... among other issues.
- famil 9y ago#2 and #5 are issues with the company/hiring manager. #1, #4 and #7 are issues with traditional interview as well. #4 It's incredibly difficult to accurately assess potential during an interview. #1 and #7: This holds true for white-board interviewing. Most successful candidates (including myself) invested time to practice coding interview questions. I did over 150 questions on LeetCode and it dramatically increased my interview skills. But I guess the upside is that these skills are transferable across companies who do algo/ds interviews so my prep time isn't "wasted". I think #3 is the only thing thats inherently an issue with the project/assignment interview.
- strictnein 9y ago> "One Google candidate asked his lunch interviewers where all the “hot chicks” were" It's shocking that people are this dumb, but sometimes brains just misfire in stressful interviews. Happens with the interviewer sometimes too. I was once asked, when an interviewer noticed my wedding ring, if I planned to have any kids soon and what my wife's career was, which is a definite no-no. I assumed he was joking, but he was honestly asking the question. The other interviewer stopped the interview and basically kicked him out of the room.
- metaphorm 9y agodo you think he was asking in terms of a casual "get to know you" kind of question? or do you think it was more like he was trying to no-hire people with families?
- rajathagasthya 9y agoI don't think asking someone who you just met about their wife and if they plan to have kids is a "get to know you" question.
- metaphorm 9y agoit might not be, and it's an inappropriate question for a job interview, but it's not that weird to ask about in casual circumstances. have you spent time around any new parents, recently? they're basically mono-maniacally focused on kids and it's nearly the only thing they ever talk about. I can easily imagine that the guy asking the question might be a new parent himself and it was just where his mind went to automatically while trying to do smalltalk. or maybe not. maybe it is exactly what it seems to be. could go either way.
- gaylemcd 9y agoI actually agree. This is probably all it was. But the other interviewer still handled it appropriately.
- 9y ago
- 11thEarlOfMar 9y agoWe've adopted a new process for interviewing software engineers. It has three interview sessions held on subsequent dates: 1. Candidate learns about the company and the tech during a set of 2-4 interviews with our engineers. We don't tell them to learn as much as they can because we want to see how inquisitive they are. Interviewers are coached to be fairly open and talk about our products and tech. If there are no red flags, the candidate receives a take home coding assignment. We give them 6 to choose from. There is no time limit, but we are interested in how long they take and which of the assignments they choose. The assignments are all relative to the type of code we develop. 2. Candidate returns with their code. We're looking for only 50-100 lines, as we don't want to ask for a lot of their time. They start the interview by hosting a code review of their code in front of 3-4 engineers. We expect them to be able to explain their coding choices and answer questions that show that the code is more or less their own authorship and that they know what they are talking about. After the code review, they will have 1-1 interviews. 3. If it goes well to this point, we have them back for more introductions to other company management to see if anyone notices anything concerning. We might take them to lunch. With luck, we get 2 or 3 candidates through this process and then meet to discuss which gets the offer. It's a new process and seems to be going Ok so far, but I'm curious if anyone else has tried this type if approach and if so, what was the outcome? EDIT: Interviews are 2 hours each step. 1-1 interviews typically 1/2 hour. The code review is usually 1/2 - 1 hour, we don't put a time on it.
- strictnein 9y ago> We give them 6 to choose from This is a good idea that I've never seen anywhere.
- claudiulodro 9y agoNot to be super harsh, but this sounds awful. - First day is 4 interviews and a take-home project. - Second day is an interview in front of a panel followed by an indeterminate amount of further interviews. - Third day is a "culture fit" interview. 3 separate days of interviews and a take-home assignment? What professional has time for that?! EDIT: I guess it depends on the length of the interviews. Is the total interview time for a candidate more like one all-day interview split into multiple days, or is it substantially more than that? If it's the former, why not just do it all in one day so that candidates don't have to use up a half week of vacation?
- twfarland 9y agoCandidates who know their worth should also have the confidence to grill interviewers. Including technical questions.
- jerrylives 9y agoYep. Here are a few things I always make sure to ask about asap: * Version control - what kind do you use? Do you use it? * Deploy process - how do you deploy? How often? Who can and can't deploy? * Security - who has access to mission critical systems? how do you secure your apps and network assets? What do you use for secrets management? * Problems - what is the burning technical problem you're having right now? If you needed something fixed immediately, what would it be?
- cr0sh 9y agoYeah - those are good; I've asked variants of those and others when I've interviewed. It's interesting; you sometimes get these incredulous looks (may be a red flag), other times they look surprised but launch into describing their process, failures, places to improve, etc. Sometimes this discussion can also be a means for me as a candidate to decide if I want to work there (ie - is it a broken environment where I might become the fall guy or it will cause me heartache in the long term). Sometimes it leads to more interesting tech discussion and such.
- ldite 9y agoBuild something on your own. Nine-to-5 isn’t enough. Practice, Practice, Practice. Single parents or carers need not apply, eh? Diversity?
- eeZah7Ux 9y agoThis is not related to diversity. Some companies want to attract people who spend 40 hours a week on their job and nothing more and that's OK. Other might be out of reach unless you spend many more hours learning every week and that's OK too. Whereas people are spending their free time with their kids or learning or watching television it's up to them.
- gaylemcd 9y agoNo, it is related to diversity. I agree that it's unfair to expect all candidates to work on a side project. Some companies expect this out of all candidates (which is bad). Others see it as a plus (probably okay).
- sage76 9y agoMaybe his/her point is that we should not encourage the idea of having side projects as normal and expected. For many MANY of us (probably the vast majority), this is only our profession. We should treat it as such. Even top lawyers who love their work bill their clients ruthlessly.
- ldite 9y agoI'm fairly confident that the distribution of single parents and people providing unpaid care is not uniform across gender, race or social background. > Whereas people are spending their free time with their kids or learning or watching television it's up to them. If you're a single parent then you don't necessarily get a choice about what to do with your "free" time.
- metaphorm 9y agoright? these are the same companies that are now implementing absurd Orwellian policies like "implicit bias training" and "external diversity auditing" because they're not even willing to confront the true cause of their lack of diversity: the working conditions imposed by management make the job almost impossible for anyone but young men.
- sage76 9y agoI asked someone in the medical profession how he got his recent job. He said he called up someone at the hospital and asked if there was a position available. Got an interview the next day, and started the next monday. On the other hand, I asked a friend in the bay area about an engineering position he had applied for. 13 rounds, and he was finally told no.
- Balgair 9y agoJesus! 13 rounds?! What was this for CTO? Nah, I know better, it was for a coffee fetcher.
- sage76 9y agoI would be very surprised if senior leadership candidates tolerate this kind of nonsense. Someone who could be senior management at the big 5 will not put up with 6-10 (sometimes more) rounds of relentless grilling. This kind of process is only reserved for us lowly engineers. Right from the get go, the power dynamics are clearly established. And this in a field where it is supposedly "hard" to hire people.
- xxSparkleSxx 9y agoMy little sister is a travel nurse and whenever she needs a new assignment it goes like this: 1) Talks to recruiter about positions heybhave open, she selects the ones she wants. 2) They send her resume to these hospitals and if they are interested they let the recruiter know. 3) She has a phone interview that lasts 30min-1 hour. 4) If they like her she has an offer within a week, though sometimes within a day. 5) She moves to her new assignment. She literally deals with life and death and it's a whole hell of a lot easier than any programming/tech interview. She also gets paid very well (her stints around the Bay Area were ~100k, which is awesome for mid-20s). Tech is steadily losing all of their "alternative ways of doing things." They are just as entrenched in their processes as any other industry.
- mcv 9y agoIn Amsterdam, applying for a programming position usually means a phone call from a recruiter, a single talk, and then starting as soon as possible. A second round is rare.
- peternicky 9y agoWish I could read this article but there is a paywall.
- gaylemcd 9y agoI don't think that's the case... are you sure you just didn't hit the "read more" button?
- kafkaesq 9y agoA mixture of some good observations... with some regretabble bits of fanboy-ism thrown in. For example: Don’t. Give. Up. Ever. What they’re testing is your ability—and your willingness—to tackle problems that seem completely baffling. They are looking for you to keep working toward a better and better answer. If you’re ever about to give up remember this: The interview process is designed to challenge you, and even the best candidates feel “stumped.” The question is this: What do you do next? Just when we thought the fad had finally crested on this patently useless, and more to the point, gratuitously toxic style of interviewing... here's another puff piece to keep the cargo cult going for another 12 months or so. As if the interviewers (themselves most likely just a couple of year out of college) could even hope to simulate the pressures of genuine, real-life, high-pressure technical or operational dilemmas through the device of a made-up puzzle problem or two. Especially since, about 97 percent of the time, the quality and caliber of grit that brings the most value in business environments isn't of the "solve this made up problem, which I know the answer to (but am hiding from you so I can, you know, watch you think on your feet) -- or hit the road, Jack" variety. But rather of the "no one has any idea where this problem came from yet, let alone whether it's even really solvable" sort. And for which the most effective response, in the vast majority of cases, is decidedly not to go down the next immediately visible rabbit hole and fight the problem to the death... but rather to find a way to avoid going down said rabbit holes in the first place. (Typically by revisiting the stated requirements, and finding what the true customer need is, for example). And if people think they can simulate these kinds of dilemmas -- let alone "test for" a candidate's ability to tackle them, in an interview context... frankly, they're kidding themselves. Which, being as the true "purpose" of these questions seems to be to buttress the egos of those asking... is apparently perfectly fine, in some quarters.
- gaylemcd 9y agoDo you truly believe that all those top tech companies have decided on this process to boost the egos of the interviewers? Are you saying this because you have actual evidence? Have you talked to interviewers who admitted this was their personal motivation? I assure you that the purpose of these questions is to identify good engineers. You might think it fails to do so, but that is the purpose.
- OJFord 9y agoSomeone attending an interview in a suit? Heaven forfend! Seriously though, what's the "jeans and a nice top or shirt" "culture" about? It's obviously not "we're so chill" if someone's ostracised for wearing what they want and it happens to be 'too smart'.
- rdiddly 9y agoThey should pay me as a consultant if they want an answer to that.
- dang 9y agoWe detached this comment from https://news.ycombinator.com/item?id=14414064 https://news.ycombinator.com/item?id=14414064 and marked it off-topic.
- dlwdlw 9y agoOne thing i've come to believe is that interviews are broken not because of some cultural relic or clueless managers or unintentionally evil bureaucracies and processes but because of the engineers themselves. I've been a part of interview panels where during the voting I think "well shit, I wouldn't pass this either". I also came to believe that the questions I historically asked were also mostly pointless. They were either cookie cutter things from googling "how do ininterview" or things i thought up myself to go on an ego trip of seeing how well a person matched my specific thought process. The process was heavily biased towards the type of person who would memorize "cracking the coding interview" who would often be people who would overcomplicate things and rapidly create terrible abstractions because the only thing they knew was making things DRY. Then there's the positive feedback loop that comes with this and the resulting codebase of increasing complexity from everyone trying to prove that they're smart. It's ridiculous. Though i suspect it's intended. The other trait this process filters for is heads down order taking and the specific type of discipline necessary to memorize a dictionary. Also, the long hours of someone trying to prove their worth. A benefit in large companies.
- potbelly83 9y ago'I've been a part of interview panels where during the voting I think "well shit, I wouldn't pass this either".' Been in the exact same position. Couldn't agree more with this sentiment.
- tentakull 9y agoPeople saying that she's just delivering news/trying to help. Nah, she is propagating toxicity that comes when there's lots of money to be had in a certain profession. Blend in, rank and file, do well on your homework and standardized tests and maybe you too can go to an Ivy League company. It's absolutely mind numbing that the homebrew creator Max Howell was turned down by google. But, it's because of this toxicity. I'm a piece of shit and studied for interviews like 90% of the dev workforce and got a job at a Big 4 company. I feel dirty.