I think most people are well aware the risk a company take for a hire, and therefore is a weird min-max process of increasing the minimum qualification of the applicant and then select on maximum.
People are just frustrated how that is implemented, how asymmetric the time-effort is, and how some of these practices are unjustified(incompetent). And because it's futile to actually complain about this to the company (or often, even while in the company) most people can only vent about it.
Sure, if a FAANG level company start the process by asking applicant to do a >hour test I think people would understand. But a Startup, mid-sized company who offer below-medium compensation ask you to solve a business/toy problem that takes more than a half-day in the first/early stage of hiring process there's actually some self-reflection to be done by the company too.
> I think most people are well aware the risk a company take for a hire
There is no way the risk is as high as hiring managers estimates, so no, I don't think people are aware of them. They seem aware of some phantom risks communicated by the people hired to reduce them.
>There is no way the risk is as high as hiring managers estimates
For programmers? A programmer who is irresponsible and isn't tightly bound by process or peer review can absolutely wreck your small/medium sized business.
Have you seen the sheer amount of companies that don't have backups or aren't sure if their backups work? Additionally, consider how the community considers killing production a "tee hee we all make mistakes" thing
The problem here is that the company is using bad practices. That's just asking for trouble, no matter how good or bad your new hire is. Start using code review, 4 eyes to deploy to production, and you're fine.
A bad hiring manager is a far bigger risk to any company. And yet many companies seem completely unaware of it, considering the number of bad hiring managers.
How much time and effort do you put in before you buy a new home? Similar amounts of money involved, so similar amounts of considerations before choosing. Doesn't matter that it is a company spending the money, if the company spends a lot of money on the new hire then it is reasonable to spend a lot of money vetting the hire.
That's either a very cheap home or a very expensive hire.
Yes, they can reach similar levels. Large companies are a bit more relaxed about spending that amount of money than individuals, but yeah, on those cases where there is a large hiring bonus (or rather don't, increase the salary instead) or the person can make an exorbitant amount of damage on the first month, it's worth investing a lot more on the hiring process.
That analogy would be apt if there was some sort of "at-will" home return law. You can fire people who don't work out with very little friction up to 90 days I believe. You can contract them first for years really. I think companies spend way to much money on the interview process to not spend money on a bad hire. Take the example above, hours and hours of dev time over countless candidates. That's just asinine.
> How much time and effort do you put in before you buy a new home?
Plenty of people these days buy a home without even seeing it in person, because demand is so high. Even if you go see it, you can't dawdle for too long or you're going to miss out. Most houses around here are sold for way above asking price.
Exactly. So many people complain about how bad interviews are but if you have ever had to risk $10Ks of money on a hire, especially since you might stop looking after employing someone, you employ the best things you can like whiteboard interviews and tech tests.
Like most people, I am not looking for perfection, I am looking for a basic level of competence (I've had people who took 10 minutes to split a string in C# by a delimiter) and also to see how they think, how they work under pressure, whether they ask good questions instead of assuming things.
At the moment, these are mostly the best ways to tell if someone is a good fit.
Yes, asking simple questions like this takes about 15 minutes and will weed out 98% of bad hires. I wish more companies would do this. Years ago when I would interview people for Delphi positions, the first question would be:
"What's the difference between a procedure and a function?"
Instantly weeded out 98%. Really what you are looking for is work ethic. If I pay you will you work hard. That can't really be determined in an interview.
Everybody knows that the amount of time one should spend "splitting a string in C# by a delimiter" is 2 minutes 16 seconds. More than that and it's a "red flag".
I don't know c# at all, but it just took me 47 seconds.
I did know that a language like that must have a string function for it, the first result of my search was a docs.microsoft.com page with the syntax and examples.
Yea, we don't know the circumstances of the question. Were they asked to implement string splitting from scratch to demonstrate their ability to do so, or was it just something they needed to use as a part of something else? Did they have access to docs or were they supposed to do it without any help? Something tells me the problem wasn't phrased as "google how to split a string in c#" so I assume there must've been more to it.
I don't know C# very well either. Taking 10 minutes to research the possible solutions and their pitfalls doesn't sound like a bad thing. What's the idiomatic way, and is there more than one commonly used way? What are the performance characteristics of each way? Are there any pitfalls and caveats (as e.g. strtok in C has when it comes threads or to strings that may have empty fields)? Do these ways modify the original string or do they produce copies? Is the delimiter a single character, a string, a regex?
This should indeed be simple and quick if all you need is to speedrun to an answer through Google. If you need to be thorough and understand the ins and outs of what you're doing, 10 minutes doesn't look like much at all for someone who doesn't have extensive & recent experience with the given language.
Looking at String documentation takes a few seconds. If the developer can't look at the documentation in the interview, the developer is not the problem.
This comment applies to more of my real-life interviews than any other.
So many ask, "How do you do X?" and the correct answer in a real job situation is always either "Look up the documentation for X, and do it that way.", or "There is a 20-year-old open-source library for doing X, so I'd use that."
I am not a walking catalog of esoteric programming knowledge. When working, I have 24-hour access to all official documentation, as well as all blogs, projects, and message boards on the Internet. The first step in solving any problem is checking to see if someone else already solved it.
The same goes for the brain teasers. If you can look up the problem on the Internet, I probably saw it first. Your original, non-plagiarized riddles, please, or don't bring it in to the interview.
People are just frustrated how that is implemented, how asymmetric the time-effort is, and how some of these practices are unjustified(incompetent). And because it's futile to actually complain about this to the company (or often, even while in the company) most people can only vent about it.
Sure, if a FAANG level company start the process by asking applicant to do a >hour test I think people would understand. But a Startup, mid-sized company who offer below-medium compensation ask you to solve a business/toy problem that takes more than a half-day in the first/early stage of hiring process there's actually some self-reflection to be done by the company too.