11 ms·
The real truth is: hiring is a crapshoot. For any position and any field. Software engineering is no different. There is no meaningful data that any hiring pro
by stakkur 6y ago
The real truth is: hiring is a crapshoot. For any position and any field. Software engineering is no different.
There is no meaningful data that any hiring process--good or bad--improves the outcome of a hire. If there were, everyone would be using it.
Instead, third-party HR monoliths have moved in and snatched up (and more or less created) the 'market' for screening and filtering applicants. Larger companies sigh, throw up their hands, and say 'well how else can we deal with hundreds of applicants?'.
As if that 'funnel' of applicants contains what you think you want. As if it's just an exercise in reductionism, each applicant a data point to evaluate.
Given this, why not hire lightly and fire lightly?
- UncleOxidant 6y agoI think a lot of us suspect that just choosing applicants randomly would probably have a very similar outcome to what we do now, but nobody wants to be the first to try it.
- stmw 6y agoThe above statement is really just validation that the current process sucks so much for everyone that it's conceivable to replace it with random choice. However, it's not actually true (for reasons explained in the blog) - as a hiring manager, I am confident you couldn't ship "Hello world" by hiring randomly.
- sk2020 6y agoConstruction and trades takes that approach. It’s a mixed bag. I would say implicit job insecurity removes a lot of potentially good employees from the applicant pool. People who value stability and support families tend to be reliable, and some of them won’t work for someone who has a reputation for firing everyone as soon as things get slow or if they have an off day. I think my industry (civil engineers) is a bit easier to hire for because credentialing weeds out people who are completely out of their depth, and lying about qualifications can get you in real trouble. Managers can assume you’re basically competent and can focus on hiring people with decent personality and a good reputation. Some of my software friends use brain-teasers to screen candidates, and it comes off as a bit silly to me.
- RichardCA 6y agoFunny you should mention that. At my college (Cal Poly) I had fraternity brothers who were Civil Engineering majors. They would look up to me because I had a natural ease with computers. But in the end, I watched them sweat their way through classes that would have wasted me.
- srtjstjsj 6y agoMany engineering fields are ones were being studious and knowledgeable can give you a solid career. Software development has a lot more upside potential for the flexibly creative and the lucky.
- nafey 6y agoI feel this is less and less true for Frontend Development which is constantly evolving and you need to put in some serious effort to stay up to date.
- phlipski 6y agoThis the engineering corollary of "The grass is always greener". For engineers it's "The other engineering disciplines are always harder"!
- RichardCA 6y agoWhich is another way of saying that the "advanced" subjects (vector calculus, multivariable calculus, fourier transforms) really aren't that bad if you're prepared to put the work in.
- astura 6y agoProbably because most people choose to study what comes easy to them.
- RichardCA 6y agoI think the key is finding an intuitive way to grasp the subject matter, and then it doesn't feel like such a grind. If material like this had been available 20 years ago it would have made a huge difference. https://youtu.be/spUNpyF58BY https://youtu.be/spUNpyF58BY
- ipnon 6y agoIf there was no meaningful data then a random hiring process would be optimal. This is obviously not the case.
- learnstats2 6y agoIt's not totally obvious to me that random hiring would be worse. Most people can do most jobs, given the right experience and opportunity.
- joaomacp 6y agoRight. It logically follows that random applying would be a good strategy: selecting randomly from top-paying jobs, you would reply to job offers for e.g. software engineer, brain surgeon, architect or hedge fund manager, to increase the chances of being randomly hired.
- musingsole 6y agoThat is effectively how I got my last 2 jobs in software engineering. Picking a few keywords and spamming out your resume seems the only way to match the equivalent efforts from recruiters.
- ImprobableTruth 6y ago>That is effectively how I got my last 2 jobs in software engineering Are you saying that you had no qualifications at all before? Because that's what they're saying, just applying for any high-paying job, even if you don't have the requirements.
- musingsole 6y agoI mean my anecdata to serve as a realistic example of the hyperbolic concept of just wildly applying anywhere at random. In both cases, I was switching industries (from ASIC design to IoT cloud software to data analytics). So, I arguably had some qualifications and arguably none at all.
- carabiner 6y ago> There is no meaningful data that any hiring process--good or bad--improves the outcome of a hire. If there were, everyone would be using it. No, it's just the companies using it keep that data to themselves. Their hiring process is then a competitive advantage.
- waynesonfire 6y agoVery insightful. Indeed, I would.
- _qulr 6y agoAh yes, a claim that can never be disproven, because any evidence produced would just show the company is not an example covered by the claim. But I do know some companies who have a competitive advantage in the tech market, and their hiring is not great.
- carabiner 6y agoIt has the same amount of evidence as all these "hiring is broken [for the most profitable and transformative industry in all of human history]" posts. If hiring in tech is broken, then all of hiring is broken, whether it's fast food cashiers or aerospace engineers. Can you seriously claim that any of those have better hiring practices? From personal experience, I can say they are far worse.
- _qulr 6y agoThat's not the ideal response if you actually wanted to defend your claim about the internal data and special competitive advantage rather than just abandoning the claim. Seriously, I would say that the competitive advantage of a company comes primarily from its product and the vision and competence of the company leadership. You can't just hire your way to success without that foundation. Bad leadership can destroy the greatest employees. The company founders almost always come together in a very informal manner, and often the early employees do too. And that's the basis of the company. It has nothing whatsoever to do with some special snowflake data-driven formal hiring process. Indeed, I would argue that once a company becomes very large and successful, they become bloated and bad at pretty much everything, including hiring. At that point they have to get better by acquiring other companies, not by hiring through their standard bureaucratic processes. The competitive advantage of giant corporations is the ability to swallow other companies whole.
- acjohnson55 6y ago^ I completely agree. This article [1] fully convinced me. And it prompted me to write my own post [2]. [1] Some Thoughts on Interviewing and Why We Do It https://jwongworks.com/blog/2018/07/24/some-thoughts-on-interviewing-and-why-we-do-it https://jwongworks.com/blog/2018/07/24/some-thoughts-on-inte... [2] Screening developers should be easy https://acjay.com/2019/05/16/hiring-developers-is-easy/ https://acjay.com/2019/05/16/hiring-developers-is-easy/
- fennecfoxen 6y agoBecause hiring has costs, this requires substantial risk tolerance, and is more suitable to a bigger corporation that can bear them. It will also give you a reputation — though some companies seem to manage quite well even with an iffy reputation in this area (e.g. Netflix). You need a certain amount of prestige to pull that off, I think.
- MauranKilom 6y ago> There is no meaningful data that any hiring process--good or bad--improves the outcome of a hire. If there were, everyone would be using it. I can say with confidence that certain resume features are incredibly strong predictors of interview performance (at least in the related measures, in the field and/or team I'm working in). I'm not HR, but your statement seems to also deny the possibility of this empirical observation. > Given this, why not hire lightly and fire lightly? Because it would be a complete dick move to have someone relocate (possibly involving change of country) and then fire them 2 weeks later? That's not even looking at the formal, bureaucratic or training overhead, or any of the other factors in this industry that make hiring and firing a bit more complicated than handing someone (and later taking away) a hardhat and a shovel.
- deleted 6y ago[deleted]
- cam0 6y agoCan you share what those resume features tend to look like?
- MauranKilom 6y agoDisclaimer: This is for a quite particular set of positions, and it's not in the US (so I have no reference on US GPAs). The EU supply/demand situation is also different from the US, so your FAANG mileage may vary. Here are a few (at a level of detail that I'm comfortable sharing): - Outstanding (in either direction) performance in certain subjects in school is a very strong predictor. - Cover letters are mostly noise, but incoherent, overbearing or careless ones don't go very far. Lack of curiosity and interest is also a negative predictor (but these are of course easily feigned). - Relevant extracurricular engagement and/or industrial experience begets more well-rounded engineers. Let me be clear though that we consider applications on more than these factors. These are just predictors, and sometimes they are wrong. I have interviewed actuaries that couldn't calculate dice roll probabilities, C++ programmers that were confused by the class keyword and C# programmers that hadn't heard of virtual.
- wanderer2323 6y ago> There is no meaningful data that any hiring process--good or bad--improves the outcome of a hire. If there were, everyone would be using it. But every company in FAANGMO does use the same (or at least pretty similar) hiring process.
- carabiner 6y agoYep. And there are zero large, successful tech companies hiring SWE's with anything other than Leetcode-style interviews. Hiring is doing just fine.
- mcqueenjordan 6y agoThis isn't true, depending on your definition of large. For example, Stripe is known to have an engineering interviewing process that diverges from the typical leetcode-style questions. I think hiring is "doing just fine" and there's room for order-of-mag improvements on precision/recall.
- goostavos 6y agoJust because it's widely used doesn't mean it's good. Source: they let me interview people at one of those fancy FAANGMO places (and I don't actually know what I'm doing). Interview success comes down to how lucky you get in the loop imo.
- centimeter 6y ago> There is no meaningful data that any hiring process--good or bad--improves the outcome of a hire This is a manifestly absurd claim. It is possible to improve the outcome of a hire, and almost everyone is using those kinds of processes. The firm I work for does an excellent job filtering people for skill and compatibility. The trick is that if you want to capture the top e.g. 10% of applicants, you're going to have to pay them several times more than the median applicant. Most companies are too cheap to attract distinguished talent.
- taneq 6y ago> There is no meaningful data that any hiring process--good or bad--improves the outcome of a hire. I don't have stats but anecdotally, hiring by personal reference seems by far the most effective way to hire. > Given this, why not hire lightly and fire lightly? Because it's a huge financial and organisational burden on the hirer and an even huger (sometimes existential if you live in the U.S. due to health insurance but that's a whole nother rant) burden on the hiree.
- learc83 6y ago>Because it's a huge financial It shouldn't be. From my experience, the financial cost that comes from increasing the number of people you fire after a few weeks is less than what companies spend furiously guarding against making a bad hire. >and organisational burden on the hirer There's no reason this needs to be the case.
- InfiniteRand 6y agoTo add to this, as a senior employee, bringing someone junior up to speed to the point where they can make actual contributions is a big consumer of time typically. Less so for employees who come in at medium rank but even then there is a hand holding period as the new person gets used to the company culture. In a sufficiently large company you could have a specialized onboarding team, but you’d need to be careful that the specialized team doesn’t get isolated from the technical culture and needs of the rest of the company
- gfody 6y ago> There is no meaningful data that any hiring process--good or bad--improves the outcome of a hire. Daniel Kahneman analyzed a bunch of data that lead him to concluded that the typical interview process did nothing to help select the best candidate. There's a chapter about it in Thinking Fast And Slow [1] and the advice he gives is summarized in this article [2]. I remember thinking after reading this book that it was just a matter of time until everyone everywhere would be denouncing interviews but here we are - old habits die hard. [1] https://www.amazon.com/Thinking-Fast-Slow-Daniel-Kahneman/dp/0374275637 https://www.amazon.com/Thinking-Fast-Slow-Daniel-Kahneman/dp... [2] https://www.businessinsider.com/daniel-kahneman-on-hiring-decisions-2013-1 https://www.businessinsider.com/daniel-kahneman-on-hiring-de...
- srtjstjsj 6y agoWhat are you talking about? The article is nearly the exact opposite of what you claim. It says: > A vast amount of research offers a promise: you are much more likely to find the best candidate if you use this procedure than if you do what people normally do in such situations, which is to go into the interview unprepared and to make choices by an overall intuitive judgment such as "I looked into his eyes and liked what I saw."
- gfody 6y agothe typical interview is a series of unstructured intuitive judgement calls - Kahneman suggests something more like a survey with a strong emphasis on its calibration and isolating/controlling biases. Thinking Fast And Slow goes more in depth on how terrible typical interviews are - the article merely summarizes the advice he provided for what to do instead.
- wolco2 6y agoBeing hired from my experience hasn't been a crabshoot. Everywhere I've been hired it's been a success. Hire people with multiple pages on a resume with a variety of experences is a good strategy increasing your odds.
- zobzu 6y agoid also say it works out okay. its just long and tedious and it feels more painful than it should - but really its not all that bad in general. I see very toxic people being rejected that think its because of their gender/color/whatever <= lots of complains but the process work I get rejected sometimes because of misalignement from me, or from them <= feels bad man.. but the process works I've never been hired to a place where I found that this was all a terrible idea, in 25 years. Theres been places better than others, theres been adjustments after hiring. I've seen places hire people using simplified processes and the candidates were unsuccessful and unhappy after being hired <= process fail
- jameshart 6y ago> Given this, why not hire lightly and fire lightly? Because any company that adopts such an approach will never be able to recruit anybody who wants to work in a stable environment with a consistent set of smart people who aren't in constant fear that they will be fired the next day.
- owyn 6y agoYeah, exactly... depends a lot on who is doing the firing and why too. I suppose if ALL companies did that then there might be some sort of fluid equilibrium state where most companies had some mix of mostly competent engineers who chose to work there for positive individual choice/reasons. But in a more winner-take-all world where the "best" need to hire the "best", because that means second tier companies get the rejects and therefore will fail to compete and the chosen few get success and riches? Set the bar incredibly high and forget fairness. (also an extreme for purpose of conversation, just on the other end of the spectrum)
- deleted 6y ago[deleted]
- atoav 6y agoWhen you know you have a job for the next n years at least, you also tend to put more effort into efficient processes. When you have to wonder every other month if you will still be there a lot will be just quick and dirty ad hoc solutions. It is still not easy to find good people, but the truth is: HR are not the best people to decide who is. If you have good people already and they don't try to build an empire, they will select good people. The danger there is only that they will select people that are too much like themselves or they will select the worse candidate because they fear about their own standing etc.
- bryanrasmussen 6y agoYou should fire lightly early, and fire hard if late. Where I live you have a month when starting were you can be fired with 2 weeks let-go period, after which it takes 3 months or more. I think you should have an intensive monitoring/evaluation in the first month, and fire lightly if you think there is a mismatch. After you have determined an employee fits you, if they stop fitting you try to figure out why, help them to fit again (are they the kind who gets bored, needs new challenges?, do they have problems at home? If you found someone who fits I think it is more efficient to make them fit again then try to find someone else who fits). I believe this is the way to go even in areas where you do not have the rules about the dismissal period that you have here.
- 6nf 6y ago> There is no meaningful data that any hiring process--good or bad--improves the outcome of a hire. If there were, everyone would be using it. Word of mouth recommendations, and yes everyone uses it.
- deleted 6y ago[deleted]
- byko3y 6y ago>The real truth is: hiring is a crapshoot. For any position and any field. Software engineering is no different I tried building spaceship and failed. Fiend of mine tried building a spaceship and failed too. However, I know of people who built a spaceship. So is building a spaceship a crapshot? Reality is: 95% of HRs are incompetent. That's where randomness comes from. Take a random man from street and assign him for HR role after a brief training -- you'll achieve a similar performance to those 95% HRs. Everybody's talking about hiring the engineer, but so fewer people talk about finding a good HR that would help you to solve a "simple" problem: how to find a good engineer with small experience and small salary that would not leave your company for the next few years and would become after several months just as good as 70-100$/hour engineer hired from top software company, while later most likely still gonna need some time to adapt to your product to become efficient.