This is why blind CV screening and remote tests in hiring are crucial. We all have these biases and sometimes the candidates that pass those phases are surprising.
Remote tests put off actually good talent, they are insulted by that kind of waste of time.
As for biases, bias isn't inherently bad. Bias is critical to how neural networks operate in ML. Removing bias is to intentionally discard valuable observational data and harm your rate of success.
I've had and seen this discussion many times, but haven't actually seen that much real world evidence. We don't have people dropping out of our interview process because of our tests, and we use them from all roles from customer support to C-suite roles.
Most developers with some seniority who I speak to believe they are an important part of an effective hiring process for developers, and are humble enough to take one. That said, we don't "insult" them with fizz buzz, we have a test that takes some thinking, and allows the best candidates to show off their skills.
> I've seen Indian IT workers with CVs 3 times the size of mine and glowing recommendations from past employers, and most of them failed fucking fizzbuzz. After you deal with a dozen people like that, you just start to subconsciously dismiss Indian candidates because chances are, they're gonna be another one of those.
A model based on a training set of 12, surely encompasses all biases accurately of a population of 10s of millions.
This is how good talent views any kind of tests. I can't blame them.
There is no other professional industry in the world, where candidates with 6+ years of professional success are asked to sit a god damned test every time they apply for a job. Insulting doesn't even begin to describe the problem with this concept. Don't get me wrong, I understand where the need for testing came from, but that doesn't change the fact that actually good candidates are put off by it and tend to dismiss employers who do it.
I’ve worked as a software developer for 20+ years and have hired others many times. People lie on their resumes to an extent that is difficult to believe until you see it. Sometimes they can talk intelligently about coding in a way that can get them through a “talk about your history” interview (a good interviewer can usually pierce the lies, but a mediocre or inexperienced interviewer might come out thinking they can code).
It’s very hard to guarantee that every first-round interview includes a seasoned lie-detector. A coding exercise is an imperfect, flawed, sometimes insulting approach that’s better than the alternatives.
When done right, it can be a nice conversation about coding, algorithms, and how to collaborate. And prove that the candidate can code.
Personally, I don’t mind being interviewed with a coding exercise even though I could be many of my interviewers’ parent. I love programming and talking about programming with programmers! And it gives me a chance to interview my potential future collaborators in a setting that’s less structured than a sit-across-the-table Q&A.
In my experience, someone who refuses or takes offense at a well-framed coding exercise is probably not going to be someone you want on your team. By well-framed, I mean introduced in a way that’s not insulting on the face of it, like a multi-hour takehome exercise before even meeting the candidate and talking about the job and why you are interested in them as a candidate. That’s just lazy interviewing and I wouldn’t want to do that either.
> In my experience, someone who refuses or takes offense at a well-framed coding exercise is probably not going to be someone you want on your team.
In my experience those who refuse are the top of the top. We adapted our interview and intake process to accommodate these people (usually with a more stringent and goal oriented probation period), and it was the best thing we did in terms of resourcing. The people we took on through this stream ended up being by far the best performing bang for buck employees. They are opinionated and snobby, but that's a good thing, because they actually care about their respective fields enough to have strong opinions. They don't waste time with tests and coding challenges.
That really depends then on what one is hiring for. An entry level position? Mid level? Senior? or Rock Star?
Those who are opinionated and snobby, even if they are the best preforming, may not be the best fit in many environments. A not insignificant portion of a senior developer's time can be spent mentoring people - and the snobby person may not be the best choice for that.
If the goal is to hire a team of one - great. If the goal is to hire into a team of half a dozen in what would be termed an enterprise development - the refusal to take a programming test may and work with the process rather than rebel against it may act as a strong indication that the person isn't going to be a good fit.
If you're hiring for 'enterprise development' you're already outside the interest zone of actually talented developers, so that works out I guess. If you're doing 'enterprise' just pick up a bunch of guys with Agile and Cisco certificates, indian outsourcing will also do just fine.
This might be the single most arrogant comment I've ever read on HN. At least those enterprise developers perform actual engineering instead of copy pasting the newest JS framework tutorials and pushing pixels around like all the boot camp hipsters without proper CS education nowadays.
> There is no other professional industry in the world, where candidates with 6+ years of professional success are asked to sit a god damned test every time they apply for a job.
But is it because it is hard to fake knowledge in other industries or is it because it is easy to find out programmer is faking?
If there's so many programmers who can't do fizbuz, are there as many managers, doctors, lawyers, etc who can't do basic stuff despite perfect CV?
> there's so many programmers who can't do fizbuz, are there as many managers, doctors, lawyers, etc who can't do basic stuff despite perfect CV?
Yeah, there are. Plenty of garbage doctors and lawyers out there who are allowed to continue practicing.
Here's why testing for developers exists:
1: They are incredibly important to business revenue. In a modern business, if a manager underperforms, nothing much happens. If your development team underperforms, you lose millions. So you try to get the best development team you can.
2: There's no meaningful standardized testing. A Lawyer passes the bar exam, a doctor has to pass board certification, while any idiot from backwater India can call themselves a software engineer. But its important to note that neither the bar exam nor board certification tell you anything about how good that person is in their field, they just say they meet the bare minimum requirements. In the case of IT, the bare minimum requirements happen to be much lower than what most employers hope to attract, so they resort to doing testing themselves. It's not a terrible approach, but it does discourage top talent from applying.
3: Skill disparity. There aren't many '10x' lawyers or doctors or managers out there, but there are plenty of such developers. This is partially related to my 2nd point but mostly just a consequence of software engineering being a creative task rather than a learned flowchart like law and medicine. As an employer, you want to come up with some signal to find the high performers.
If insulted doesn't begin to explain it, entitled might.
I think the tests are annoying too. Still is ultimately called work for a reason, we show up to get things done that are challenging, sometimes unpleasant and often necessary.
As a developer who hires other developers, I don't place the value in testing on what a developer can code, but how quickly they can learn and how well they can solve problems and communicate - testing can help shed a light on non technical strengths or shortcomings.
A good test focuses as much on higher level analysis as coding. The majority of new developers with a few years of skills may not have developed quickly enough in this regards yet.
Do you mean the employer is entitled or the employee? I have seen low skilled employers (supermarkets) complaining about university grads. When someone should point out that they are a "jumped up grocer" and they don't get to employ firsts from Oxbridge
And turn it the other way around what if a potential employee insisted on employers doing a test.
Imaginin interviewing at uber and asking
"So MR Manger" what's the difference between a worker and an employee :-)
Or asking a series of q on the companies anti discrimination bullying discipline or grievance procedures.
The thread is about a developer's issues with being tested during interviews, so I would say the potential employee is entitled if balking about being asked about their abilities to the extent that the employer is the one signing the cheque, and a basis for the employer being able to add value in exchange for salary is still being established.
Knowing a little more than non-technical employers doesn't place an inexperienced developer in a position of expertise, only knowing a little more than the guy testing them.
If you are referring to non technical folks not being skilled at hiring for technical positions, I agree to the point that this is a common challenge where non tech people are put in charge of digital transformation, among other things.
Even highly competent and technical teams can struggle with testing incoming hires we.
An interesting idea is contemplating if tech people will be able to learn and transform business skills easier than non techs business folks might be able to learn tech. If this was attractive to tech folks, the hiring tests would include more business problem oriented questions than fizzing and buzzing. It's still a little surprising how few developers can do this in any country, so it might remain an inconvenient test and filter for a while yet.
> If this was attractive to tech folks, the hiring tests would include more business problem oriented questions than fizzing and buzzing
And yet business people don't get any tests. No one else on the entire planet gets tests for almost every role opportunity they want to explore. So why do developers have to?
Actually, I can answer that. The answer is because the overwhelming majority of a modern company's productivity is up to the performance of the developers. The business guys get away with under-performing because their underprformance is not a significant factor on the bottom line.
The commonplace testing of developers has nothing to do with ratios of good to bad developers, or the relative ease of assessing developer skill compared to other professions. It has everything to do with the fact that developers drive the lions share of modern business value so they've been singled out for shitty treatment with testing and kaggle competitions and similar garbage. I really hope to see a software engineering union rise in the next few years which cracks down on this and empowers developers to negotiate relative to their actual value in modern business.
People like you aren't needed in the world of high tech. Your role is redundant.
I'm a developer. Possibly a little more experienced from the level of ad hominem negativity you're comfortable directing at others to feel better about one's self.
A software developers union would be interesting. Accreditation from testing to be in a professional body will still have people who can hide among the work of others, but much less so. Also a challenge for a tech union would be the rapid changing nature of software development compared to other unionized industries to maintain a baseline. Not the first time it's been thought about.
Non tech positions are even harder to test for at hiring. Especially since so many hr, accounting jobs themselves are requiring increased digital transformation skills of knowing how to select and implement business systems.
Tech hiring interviews were designed largely by tech people.
The real hilarious part is seeing a non tech hr person try to buy a hr software system and implement it. Being the subject matter expert no longer means an ability implement and roll out programs as it used to - its a growing issue that requires people who can understand and work with detail.
Working with details requires an ability to care about the plight of others, organizations and their processes to prove to lower the suffering of people at the hands of their employment environments.
> I'm a developer. Possibly a little more experienced from the level of ad hominem negativity
Perhaps if you were actually more experienced, you wouldn't stoop to the ultimate irony of dismissing every point I made by attacking my tone. I stand by what I said, people like you are redundant in modern tech. I think when you tell yourself you're more experienced than me, you're conflating that with you being older and 'wiser' and less confrontational because your testosterone levels have dropped. The tech industry assigns a negative value to age and wisdom, sorry.
The funny thing is that for all your grandstanding about developer importance and productivity and what not, the only point you successfully manage to get across is that you are an obnoxious child that no one would wish to work with.
I could say the same for HR at BT we had one HR person come to present to our team meting and they did not know that the developers in BT are M&P Grades and not CWU blue collar grades.
Though I would agree that asking we have a business problem how would you solve or improve on what we do now is a much better q to ask.
Interestingly I know a few carpenters and they all have personal projects.
The analogy isn’t right because you’d need a similar carpentry task that takes 30 minutes like fizzbuzz (that should really take 5 minutes). It would be like asking a carpenter to put together their workstation from a disorganized shop. A pretty reasonable request.
Lots of people complain about this approach, but it is confusing as not a single good programmer has ever been bothered by coding screens. Who are these people who get upset? And where are their GitHub portfolios? Are there that many bullshitters who aren’t confortable enough in their skills to spend less than an hour on coding problems as part of an interview?
Is it really a 1-2 hour project? 1-2 hours is enough to set up a repository, project files, boilerplate code, and solve perhaps very simplified version of a problem. Each time I really spent 2 hours on take home assignment, the recruitment process terminates shortly after I submit the solution. It’s asking for free labor. Never ever a fully functional web application solving some problem will take 2 hours to create and those recruiting know it very well, oftentimes they’re just arrogant cunts testing for obedience.