9 ms·
Here are two thoughts on tech interviews. One controversial and one (hopefully) not. 1. It's good that companies like Google are able to reassess their hiring
by jeffreyrogers 8y ago
Here are two thoughts on tech interviews. One controversial and one (hopefully) not.
1. It's good that companies like Google are able to reassess their hiring policies and learn what works and what doesn't. It's easy to criticize companies for doing things that don't make sense or that we know to be bad, but often these things looked like good ideas at the outset and you need some amount of trying new things (many of which won't work out and may have negative consequences) in order to improve things.
2. The way hiring works in tech isn't really that bad. It doesn't really measure what matters for job performance but tech pays well and so many people want to do it that you need barriers to entry. The real losers of the hiring process are the companies that waste lots of money on inefficient hiring practices. If you compare the effort required to get a high paying tech job (really just doing practice problems for a few weeks/months) to any other high paying, professional field we have it much better.
- ksk 8y ago> The real losers of the hiring process are the companies that waste lots of money on inefficient hiring practices. In this case though, how is 'lots of money' wasted? It seems that Google hired good candidates despite some of the questions being bad. I think the point here is that Google is looking to increase the efficiency in interviewing, but they're already at a high efficiency level anyway so they continue to be successful in attracting and keeping talent.
- bluGill 8y agoWell sure, there are a lot of good candidates. Most bad candidates don't even apply. What if instead of reading resumes/interviews/whatever else they did they just put all the names into a hat and made offers to everyone selected? This is your baseline, does your process beat this? If not, you could save a lot of time/effort using the hat selection method. (note that it is possible to be worse than the hat method)
- ddorian43 8y agoWTF type of interviews do lawyers, doctors, engineers have ?
- deleted 8y ago[deleted]
- jeffreyrogers 8y agoIt's not the interviews. It's what it takes to even get an interview. Doctors have 4 years of med school, then 3-7 years of residency, then probably a fellowship if you're in a competitive specialty. Lawyers get 3 years of law school and then probably only get a job at a good firm if they went to a top law school. Then they work terrible hours. Finance jobs are very hard to get unless you have the right background. Other engineers might have an easier interviewing process but they don't get paid as well (plus they need a real engineering degree).
- deaddodo 8y agoPetroleum Engineers (US median - 129,990USD) and Computer Engineers (111,730 USD) are some of the highest paid engineers there are. And quite a few are in the same realm as Software Engineers (100,690 USD): * Electrical Engineer - 95,230 USD * Chemical Engineer - 97,360 USD * Mechanical Engineer - 83,590 USD * Biomedical Engineer - 86,220 USD And when you consider the skewing of those salaries due to the majority of software engineers working in LA (and surrounding SoCal areas), SF, Austin, Denver and New York vs petroleum engineers working throughout the interior US, the gap is much larger. Software engineers are paid well, but there are definitely other engineering fields beating them.
- sanderjd 8y agoI mostly agree with both of your points, but I also think "we have it much better" depends on which "we" you're talking about. Our practices are better for people trying to break in and worse for seasoned professionals. It's more time consuming (and less well-paid) to become a nurse, but once you have done so, you don't have to do it again every time you switch jobs.
- kingbirdy 8y agoI am very happy to take a month of brushing up on algorithms and so on every few years as I want a new job as opposed to an additional several years of school.
- draw_down 8y agoHow is that a response to GP’s point?
- e40 8y agoIn the example given, a nurse wouldn't need additional schooling to switch jobs.
- szermer 8y agoEveryone in the medical profession needs continuing education (CE) credits. Not much different from certs that support folks need to obtain if they work government/ DoD positions. https://www.nurse.com/state-nurse-ce-requirements https://www.nurse.com/state-nurse-ce-requirements
- vonmoltke 8y agoCE classes for nearly all professions are a joke compared to the shit software engineers are expected to go through to rehearse for interviews. As for government work, I'm not sure where you got that idea from. I did government work for 14 years and never needed any certifications. If I had, the company would have paid for it and it would have been on company time.
- majormajor 8y ago> If you compare the effort required to get a high paying tech job (really just doing practice problems for a few weeks/months) to any other high paying, professional field we have it much better. So here's the selfish-as-a-hiring-manager side of not liking the current style of interview questions: I don't want my bar to be so low that studying for a few weeks or months is all it takes. One or two medium-level problems to make sure they're not full of shit about being able to write code at all, sure, but the rest is gonna be a lot more targeted to the role.
- bluGill 8y agoIf you are a great programmer, then within two weeks of working with me you will be great at my company - in fact when asked how you are doing I will be shocked when I realize that you have only been here 2 weeks instead of 5 years.
- majormajor 8y agoSo what are you saying here? You only hire great programmers? And they all shock you in the same way? Or you hire some mediocre ones too who don't shock you that way? And how do you interview them?
- TooBrokeToBeg 8y ago> So what are you saying here? You only hire great programmers? I'm not sure how you could have confused what was posted, to be interpreted that way.
- majormajor 8y agoI asked because the relevance was not evident to me, in a discussion of hiring processes, unless it was directly related to his own hiring process in some way.
- GavinMcG 8y agoGiven that he did it might be more helpful to offer a better interpretation, rather than just being dismissive.
- xamuel 8y agoI come from academia and can confirm your #2. If you want to get a professor job, it's all about letters of recommendation, publication in prestigious journals, talks at prestigious conferences, etc. Programming interviews are extremely fair and meritocratic by comparison.
- robotresearcher 8y agoYou imply that strong reference letters, strong publications and talks at top conferences are obtained unfairly. Why do you think so? If you look at the batch of assistant professors that start every year at good schools, did they pick the wrong people?
- foldr 8y ago>You imply that strong reference letters, strong publications and talks at top conferences are obtained unfairly. Why do you think so? There's no implication that the letters are obtained unfairly, but that doesn't necessarily mean that the resulting outcomes are fair. The point is that if you find yourself in a situation where you can't get hold of these things and yet you are, in fact, really good, there's nothing much you can do about it short of waiting a few more years and hoping to build up a better professional reputation. In contrast, you can just show up at a coding interview, demonstrate that you can in fact code (at whatever level is required), and land a job. Case in point: I moved from academia to coding by doing this (without any relevant qualifications or having worked professionally as a software engineer). There is no equivalent progression for someone who wants to move to academia from coding.
- robotresearcher 8y agoThe equivalent to acing a code interview for an academic is submitting a terrific paper. Papers are typically submitted to open calls without any referrals. If the paper has an impact, the rest of it follows. Prestigious invited talks don't come out of the blue, but usually as a result of consistent work that people care about. If a researcher can't get their papers published, in an activity where that is a key metric of success and the key communication medium, what's the basis of the 'really good' assessment? Look at the list of keynote speakers at any major conference you understand. Are those the wrong speakers? Did they get this privilege unfairly?
- k1ns 8y agoI recently interviewed at a well-known software company, was turned down, and have very mixed feelings about the entire situation. I was tasked with a total of 7 coding problems, 5 of which took place in an onsite interview that lasted around 5 hours. The problems were fun, the interviewers were great, and I'd ultimately rate the experience as the best hiring process I've been a part of. I personally think that these problems were exactly the type that tech companies need to be using as they were focused on creativity and your thought process as opposed to some "genius detector" brain teaser. I passed each problem with flying colors, except for the final one. The point of this final exercise was for me to talk through my thought process. It was a debugging problem, and I eventually succeeded, but not without fumbling around for 15 minutes or so. The solution was a stereotypical example of being "right in front of you", but the nature of this exercise threw me off. When I look back, the analogy that makes the most sense to me is the boxing glove wall from the TV show, Wipeout [1]. It's a simple problem of getting from point A to point B with the twist of getting punched in the face, or the stomach, or the leg, at seemingly arbitrary intervals. I can see this as a good simulation for the reality of an engineering job (being faced with unplanned interruptions and having to bounce back from them) but, at the same time, I've never had to verbally talk someone through every keystroke and mouse movement that I make while debugging. I was frustrated with the exercise and with my inability to immediately diagnose the issue. The interviewer was amazing at getting me back into the right mindset after noticing I had fallen off the wagon each time, which showed me just how good of a manager they were. However, the more I realized how terrible I was doing, the worse I performed. I left with the unmistakable feeling of dread having set-up camp in my stomach. Despite arriving at the solution, I knew I had blown that exercise. In the end, I was turned down. The official reason was that another candidate had accepted an offer for the position, but the hiring manager also told me that my programming skills were perceived as sub-par due to the final exercise. They said I'd be a great fit culturally, and that their team enjoyed the conversations we had, but my Python skills just weren't good enough. Being someone that really identifies with their abilities as a programmer, with Python being my language of choice, this verdict has kept me awake at night. I'll never know if the actual reason was due to the other candidate accepting or due to me being my own worst enemy during the final exercise. The tech hiring process is one of the only times I've gotten 100% of the problems correct yet still failed. Half of me says that's bad, but another part of me understands in situations that require context like mine above. It's not the manager's job to babysit me when I psych myself out, or when I'm having a bad day. Engineers need to be reliable and stable enough to work efficiently on their own. Had I been alone, I would have found the solution much quicker. But you're almost never alone in a real work environment. Some of these exercises are measuring much more than just algorithmic competency. [1] https://www.youtube.com/watch?v=0XGmcQPCSG4 https://www.youtube.com/watch?v=0XGmcQPCSG4
- watwut 8y ago"It doesn't really measure what matters for job performance but tech pays well and so many people want to do it that you need barriers to entry. The real losers of the hiring process are the companies that waste lots of money on inefficient hiring practices." The other losers are people who have skills and aptitude that is actually needed, but don't have the thing that interview measures. Yet other losers are people forced who have to work with those who ace interviews and get rewarded, but are not actually good in actual work. The side note is not just that hiring don't really measure what matters for job performance. It is also that companies themselves don't really seriously care about it nor spend time thinking about it. That affects not just hiring, but also promotions and other rewards. Which in turn causes additional problems and unhealthy workplaces (excessive crunch being one of those, huge amount of socialization that is expected in some companies another, ridiculous technological decisions too and so on and so forth).
- taurath 8y agoThe focus on hiring is not about assessing job performance. This is absolutely clear to me after spending a bit of time as a contract worker with an exemplary record and a page full of recommendations from full time employees of many levels, who still has to pass through the same hiring gatekeeping process. Its now HR required that everyone be interviewed in the same manner. Performance means nothing in the interview - and the interview absolutely has nothing to do with the job, its just a bunch of alg questions. Its incredibly frustrating and disheartening to know how much they are skewing towards people who can pass the test rather than people that can excel at the job.
- watwut 8y agoI think that "everyone is interviewed in the same manner" thing can eventually evolve into better hiring process - because it will overtime produce data that can be learned from. But, I also think that it will end up split into different kinds of interviews for different positions. The older I am the more I believe that there is no single "good in tech" aptitude and that such notion is nonsense. Rather, different tech jobs require very different amounts of abstract thinking, logic, patience, memory, aesthetic feel, detailed knowledge of some sub-area, ability to communicate, self control, punctuality and so on and so forth. You can be quite crappy at assembler and heavily talented for enterprise java for example. You can be good at smaller projects and completely fundamentally fail in large codebase many people situation.