News for hackers. Stuff that matters.
Re:Follow-up to “The dystopian world of software engineering... by inertiatic on Saturday February 22, 2020 @04:53PM (#22393585)
I don't know, hiring seems inherently broken.

Not just the algorithmic part, even the part leading up to it.

You have to impress a recruiter or an HR drone by listing all the buzzwords that are currently trendy.

Then, even after the algorithmic questions and interviews where you prove you can DO the job, you get rejected.

Every company I've worked for had trouble hiring.

I'm working for a company that also has trouble hiring right now. Last week, the person interviewing our latest candidate told me that despite the candidate doing perfectly fine, he couldn't come up with something that he felt excited about doing in his current job, which was a red flag for him.

I tried explaining that perhaps that's something you shouldn't expect from someone who's at that point switching jobs. We're still discussing how hard it is to find good people.

Most of the companies I've interviewed for also have trouble hiring, yet I've been rejected for the most asinine reasons. These companies have the same positions open years later and not due to growth.

All this rant is to say, we're mostly doing this to ourselves.

I don't have a better way of doing things, but I can't just blame a handful of big corps for this, as if their technical interviews weren't designed by technical folks themselves.

Re:Follow-up to “The dystopian world of software engineering... by biztos on Saturday February 22, 2020 @05:50PM (#22393872)
I worked at a company where the interview process was basically "ask them about their experience, successes, and failures, and do whatever technical screen you feel works." Other than asking about failures (not everyone does) it was just "eh, wing it, tell us what you think." The hiring manager had to then weigh the responses and convince his/her manager if it was a go (we once rejected someone on ethical grounds after they passed all the interviews).

And the funny thing is, that got us a pretty good set of people. Even funnier: both the very best of them, and the absolute worst of them, eventually ended up at Google.

I guess if you can spend what Google spends; have a ruthless hiring process; can afford to carry dead weight indefinitely; have a standardized engineering culture; and have an endless supply of projects covering every conceivable skill level and impact to the company -- then you can probably hire your way to whatever FAANG-like cohort you think will work.

But if you have those things you're probably already a FAANG-like company.

For everybody else, I am not convinced there is a better system than "everybody use your best judgement, and have people who give a shit do the hiring."

Re:Follow-up to “The dystopian world of software engineering... by PragmaticPulp on Saturday February 22, 2020 @06:03PM (#22393928)
> I worked at a company where the interview process was basically "ask them about their experience, successes, and failures, and do whatever technical screen you feel works."

I'm part of another online community that has a strong emphasize on social justice issues. These "just wing it" hiring practices are one of their biggest complaints about tech companies. There's a perception that the less well-defined and structured your interview process, the more likely it is to produce vaguely biased results.

Whether that's true or not, it would be a tough sell to implement a "just use your gut" style hiring process at a major company in 2020. There is a strong push for standardized and repeatable interviewing processes, complete with sufficient documentation to support hiring decisions.

Re:Follow-up to “The dystopian world of software engineering... by 52-6F-62 on Saturday February 22, 2020 @06:23PM (#22394034)
By standardizing the hiring process aren’t you then just optimizing for a very specific perception and/or perceptional ability? Isn’t that at the core of principles relating to diversity in the first place?

I personally find some of the current (if I can call them) standards of tech hiring to be very narrow in which skills and capabilities they test. It presumes a lot—particularly that one has time and resources to commit to spending time studying enough of the spectrum of CS subjects in order to pass a given question from the rather large field. (By this I’m referring to the classic “white board a <somekindof>sort algorithm purely from memory” process that has become the de-facto standard)

Re:Follow-up to “The dystopian world of software engineering... by PragmaticPulp on Saturday February 22, 2020 @06:30PM (#22394062)
> I personally find some of the current (if I can call them) standards of tech hiring to be very narrow in which skills and capabilities they test.

What would you propose as an alternative?

I’ve been involved in training new engineering managers how to hire and interview. Everyone starts with the best intentions, but reality quickly forces some compromises.

The bottom line is that you only have a number of hours in which to evaluate the candidate. The longer and more comprehensive you make your interview processes, the stronger signal you get. However, the longer your interview process, the more you’ll find people dropping out of the hiring pipeline due to lack of time or willingness.

I’ve worked with companies that tried to implement week-long paid interviews where candidates pair with employees to solve real problems. It’s great! But only when it works for the candidate. You can’t realistically expect busy professionals to take an entire week off of their current job to spend time with a company that may or may not hire them. Monetary compensation only goes so far when you’re forcing someone to choose between spending a week of their vacation interviewing with your company or spending a week taking their family on vacation.

Re:Follow-up to “The dystopian world of software engineering... by jjav on Sunday February 23, 2020 @03:03AM (#22395700)
> What would you propose as an alternative?

Easy. Just talk to people as would-be peers. They want to find a role they can succeed in. You want to find someone who can succeed in the role.

I interview by just talking about their past projects (based on resume). You can't fake your way through a friendly technical dialogue if you haven't done it. (Pre-requisite: the interviewer must be technically competent. This is where many companies miss. Algorithm puzzles won't make up for it.)

Also it is important to describe the role and expectations in detail. Nobody (really: nobody) wants to get hired in a role just to be let go in six months. There is no need for elaborate whiteboard algorithm dances which discriminate against everyone who doesn't have the time to memorize every possible question. Just be up front about the requirements and let the candidate decide if it's a match. They know themselves better than you ever will.

Re:Follow-up to “The dystopian world of software engineering... by inertiatic on Sunday February 23, 2020 @04:14AM (#22395906)
This would be my way of interviewing, at least for anyone who's not a junior.

What troubles me is that people will say this allows all your biases to run wild, but my feeling most of the time is that these biases will find a way to express themselves unless you remove humans from the hiring process entirely.

Re:Follow-up to “The dystopian world of software engineering... by SomewhatLikely on Sunday February 23, 2020 @05:45AM (#22396206)
Especially when the company says they aren't necessarily looking for the most bit perfect compilable code or even that you output the optimal algo on first try. Rather they want to see how you think through problems. Well now you're back at a subjective assessment again which inherently can have hidden biases.
Re:Follow-up to “The dystopian world of software engineering... by omar_a1 on Sunday February 23, 2020 @05:58AM (#22396250)
After failing several of these "let's see how you think" technical interviews, I've come to the conclusion that the way I think is deeply and fundamentally flawed.
Re:Follow-up to “The dystopian world of software engineering... by edanm on Sunday February 23, 2020 @01:04PM (#22398382)
> I interview by just talking about their past projects (based on resume). You can't fake your way through a friendly technical dialogue if you haven't done it. (Pre-requisite: the interviewer must be technically competent. This is where many companies miss. Algorithm puzzles won't make up for it.)

I absolutely disagree with this.

I've interviewed people who seemed incredibly impressive, both in terms of showing me actual past projects, and in their explanations of them. I've then gone on to give them simple programming exercies, the kind that people with far less experience take, and they've gotten nowhere on them.

I'm talking a two hour, "here's a computer, here's internet access, here's a setup environment, code this simple thing, which you could probably copy-paste from Stack Overflow / documentation". And they couldn't do it.

And what's worse - I'm pretty sure I could fake my way through most technical dialogues. I mean, not literally everything, but I could probably fake my way through interviews about most technical topics, and given a bit of preparation time, fake my way through most things. I mean, I could probably get caught out if someone was seriously trying to do it - but to the depth that most interviewers get, I can pass as experienced on most things.

Re:Follow-up to “The dystopian world of software engineering... by 52-6F-62 on Sunday February 23, 2020 @10:54AM (#22397419)
This is what we do where I am now and it’s worked well.

You can’t pre-correct for some things, but you can for others.

Having someone speak in detail about their experience isn’t easily faked.

Having someone speak about their experience in brief and then giving them a “skill-testing question” as if they won the lottery can be gamed.

Re:Follow-up to “The dystopian world of software engineering... by lubujackson on Saturday February 22, 2020 @07:26PM (#22394282)
Honestly, the "coding" is rarely the issue. For most software engineering roles you generally want someone who can: understand problems, figure out possible solutions, decide on which is best, communicate why it is best and (importantly) be flexible when the company wants you to do some other solution. Meet all those requirements and you are a useful member at most companies.

I think a general chat about a broad problem and the interviewee's thought process of how they would approach it can tell you much more than whiteboarding some memorized algorithm.

Re:Follow-up to “The dystopian world of software engineering... by kaetemi on Sunday February 23, 2020 @12:49AM (#22395363)
Reading code is the biggest problem.

Good tests, I find, are to give them a simple piece of code with minimal comments. For example, some non-standard special purpose container implementation. Then ask them to explain what the purpose of the code could be as simply and short as possible.

Either - They'll start literally explaining each line of code without understanding the whole. - They completely miss the point. - They at least figure out it's a container of some sorts. - They'll explain technically what it literally does. - They'll give you the academic term for the concept it implements. - They'll actually explain the purpose briefly in simple words.

Those last three are good, in different ways. The better ones will also spot the bugs or performance issues in the code.

Re:Follow-up to “The dystopian world of software engineering... by milchek on Saturday February 22, 2020 @08:30PM (#22394519)
I completely agree. We had this exact discussion at work the other day.

I mentioned to a colleague that what I value most is someone who is creative. There are many candidates out there who know all the buzzwords or can discuss features of a programming language purely from memory, etc.

This can make for some impressive interviewing, but it tells nothing of their ability to use that knowledge to solve real problems, or their creativity in how they use their skill and expertise when faced with new dilemmas.

Sure, you could contest that the creative side isn’t necessary for certain levels of engineering, or that only tech leads require this as a mandatory trait, but I would argue that it is far more important than what most interviews test - rote memorization.

Re:Follow-up to “The dystopian world of software engineering... by adt2bt on Sunday February 23, 2020 @01:46AM (#22395509)
I'm right there with you. I am always looking for people who attack problems with new perspectives and, most importantly, can describe to me coherently their thought process and pros/cons of their approach.
Re:Follow-up to “The dystopian world of software engineering... by leghifla on Sunday February 23, 2020 @04:37AM (#22395969)
"can describe ... pros/cons of their approach"

I've always tried to do that... until recently.

With a new recruit, this is the fastest way to nightmare discussions. He always emphasizes the cons of my proposals, and never admit that his proposals also have cons. To be honest, I really think he believes what he says, he seems to not see ahead of time where the blocking points will be.

I am now forced to only submit the pros, and prepare an argument for the cons, which is rarely needed. This is not a way to have good technical decisions.

Re:Follow-up to “The dystopian world of software engineering... by frankzinger on Tuesday February 25, 2020 @01:46AM (#22411372)
> than whiteboarding some memorized algorithm.

This is not how it works! There are over 1000 problems on leetcode. Sure, many of them are solved using the same techniques but there is usually a twist and you often need to combine multiple approaches or come up with something new (to you). And then there is usually a very problem-specific way in which the problem can be solved 10 or 50 times faster. Often these insights are very difficult to come up with. The people who created these questions are actually very smart and excepting some of the questions at the easiest level it's usually a far cry from simply implementing Dijkstra from memory!

Re:Follow-up to “The dystopian world of software engineering... by lubujackson on Wednesday March 04, 2020 @02:37PM (#22487165)
I don't intend to say that leetcode/competitive programming is easy, far from it. It is too focused on coding vs. the broader skillset that successful web devs have: working in teams, business objectives, scaling issues, etc. I think even the baseline expectations (lets say remembering how to implement a specific type of sort) are often at odds with how anyone does things in the real world - a few devs are implementing these things by hand for certain reasons but not MOST devs, not even at most FAANG jobs. So why is everyone using that knowledge as a filter?

The problem with leetcoding in interviews is that it is easily measurable but not an important metric. Focusing on someone's aptitude at skills they never use at their job means good developers get tossed aside or are forced to waste energy jumping through hoops needlessly.

Re:Follow-up to “The dystopian world of software engineering... by sjg007 on Sunday February 23, 2020 @08:44PM (#22400955)
True but the whiteboard algorithm problem is supposed to be the proxy for that. then maybe a systems question. I don’t do well at them. I agree that requirements are underrated.
Re:Follow-up to “The dystopian world of software engineering... by giovannibonetti on Saturday February 22, 2020 @09:11PM (#22394644)
> What would you propose as an alternative?

In my company (totally remote) we decided to automate hiring (also remote) as most as possible and we are happy with the results. We also value the candidate's time very much so we made the hiring process very straightforward. It works like this:

- First the candidates must do some online tests, which are mostly multiple choice questions. The subjects are logic, english and a specific test for the coding language. All of these tests were hand made to us and customized to our needs. The candidates spend about 2 hours in total doing theses tests, and they know immediately their score in the parts of the tests that can be accessed automatically (which are the most part)

- The candidates approved in the theoretical tests - about 10% of the candidates that applied for the job - do a practical coding challenge that was also made from scratch by us. We have looked at the available solutions in the market and thought they are too focused on textbook algorithms that are rarely used in the job market. So we made our own tests that contemplate practical problems a programmer has to solve daily in our company. The questions are NOT too complex. The objective of this step is to weed out the candidates that can't code in the language, not to get the best. We design this challenge to take about 2 hours. The implementation was a lot of fun: we use the Docker API to run the candidate's code against the automated tests we made and the score is calculated as the number of tests that passed. Using Docker means we can work with any language that runs on Linux. So far we have made tests in Javascript, Typescript, Ruby, Postgres and Elm.

- The candidates that are approved in the previous step - about 2-4% of the candidates that applied for the job - are called for an interview. Now is the time when we take a look at the candidate's resume and look at the human side of things. Given that we have very few candidates to look at and we know they all meet some minimum skills we are very confident when conducting the interviews. By now we usually have a very clear signal to tell who the best candidate is even before we conduct the interviews. So in practice the interviews are NOT used to select the best candidate. They are there just to see if a red flag doesn't show up.

We are very proud of our coding challenges app. If someone wants to collaborate on it just drop me a message. It's a Rails app on GitHub, but it probably not good enough for an open source project yet - one needs to know a lot about Docker and Rails to make it work.

Re:Follow-up to “The dystopian world of software engineering... by omar_a1 on Sunday February 23, 2020 @12:09AM (#22395267)
Sorry, but what you've outlined above doesn't show that you value the candidates' time. You require two rounds of technical interviews before any human contact. It's asymmetrical. By automating the first two steps, you've made it so that you can waste as much of the applicants' time as you want without expending any further time or resources on your part.

Also, from experience, I've never come across a two hour takehome that actually takes two hours. Everyone always says not to spend more than two hours on it, but I can't exactly turn in an incomplete assignment.

I'm glad it is working for you, but it's not something to be proud of. Essentially what you've done is replace the standard 30 minute intro phone interview with a 2 hour SAT.

Re:Follow-up to “The dystopian world of software engineering... by TeMPOraL on Sunday February 23, 2020 @03:08AM (#22395719)
This is unfair. A typical, half-competent candidate in tech sends much fewer applications before they find a job than a typical company has to process in the same time span. So there's indeed an asymmetry here, but in the other direction - few companies could even afford to fully process every single application that comes in (not even counting the human toil on the interviewers from dealing with spam).

4 hours over two steps to get to the human part? I wouldn't mind it. Last company I successfully interviewed, I spent about 2 hours on the phone with different people + a lot of e-mail exchange, before I got to 4 hours long on-site.

Re:Follow-up to “The dystopian world of software engineering... by omar_a1 on Sunday February 23, 2020 @04:30AM (#22395950)
It doesn't have to be equivalent, but it can't be entirely one-sided either. Two technicals are a major commitment. Even if we assume the nominal 4 hours, there's still lots of preparation that goes into taking those tests. And that's 4+ hours to get to speak to a human being assuming you pass. Otherwise, it's the "We appreciate your time," autoreply.

That's asking for too much upfront before the candidate can even decide if the job is a good fit. Job descriptions alone don't tell you much. That's where the phone interview comes in. It's a two-way street.

Re:Follow-up to “The dystopian world of software engineering... by ryandrake on Sunday February 23, 2020 @12:11PM (#22398005)
And, if all companies adopt this technique, that's 4+ hours per company. If a reasonably-competent person applies for, say 100 companies and expects a 10% callback rate[^], then they're dedicating 40+ hours just to do tests and "challenges" before even talking to a person. That's a lot of time to blow for a mere chance of talking to a person. I mean, I guess I'd do it--especially if I was desperate for a job, but if I was still employed I'd think twice and maybe find a way to grin and bear my current employer a little longer...

I think when your company comes up with a hiring scheme, they need to analyze it, understand and be cool with the kinds of applicants their system is screening out. In my view, most SV tech companies' practices tend to screen out the "skilled professional who's currently semi-comfortable at her existing job" and filters in the "desperately needs a job and will jump through hoops and put up with whiteboard hazing to get one." Which class of applicant does your company want to court?

[^]: I consider myself "reasonably-competent" and the 100:10 ratio was about what my last job search was like a few years ago.

Re:Follow-up to “The dystopian world of software engineering... by banner2018 on Sunday February 23, 2020 @02:44PM (#22399052)
If a candidate is preparing for an interview, they will not perform well at work for no test replicates actual work unless the test can recognize the general skills that a person would rely on day to day basis
Re:Follow-up to “The dystopian world of software engineering... by tasuki on Sunday February 23, 2020 @05:53AM (#22396237)
> Sorry, but what you've outlined above doesn't show that you value the candidates' time. You require two rounds of technical interviews before any human contact. It's asymmetrical. By automating the first two steps, you've made it so that you can waste as much of the applicants' time as you want without expending any further time or resources on your part.

I understand this was the goal. You can either waste your company's time or the candidates' time. I don't think there's a way to preserve both. Given that your goal is helping your employer, this seems like the sensible thing to do.

Re:Follow-up to “The dystopian world of software engineering... by inertiatic on Monday February 24, 2020 @01:52AM (#22402166)
That's playing the short game.

If as mentioned previously wasting candidates' time filters out the most competent people, then you're not helping your employer.

Also, I object to thinking that someone's time needs to be "wasted".

Re:Follow-up to “The dystopian world of software engineering... by tasuki on Wednesday February 26, 2020 @03:39AM (#22421420)
Good points, agreed.
Re:Follow-up to “The dystopian world of software engineering... by SPascareli13 on Saturday February 22, 2020 @10:59PM (#22395031)
Usually I like to take things in a practical way, if you are happy with the people you're hiring, than it's fine, and there is not much point thinking about "what if these are not the best possible people we could hire?", you just never know.

But probably a lot of people that don't make it into your company just can't be bothered to do 2 sets of technical tests with zero human contact. I can tell you that my most "successful" interview processes (there is, the ones with offers/acceptances or just the ones I can even remember the name of the company) were the ones that focus on me as a human and as a professional, the ones that looked less automated and that seemed to have taken more time trying to know ME rather than just my skills.

Not that there was no tests, there were and some went kind of overboard with the complexity, but in the end what I remmember about these companies was the conversations we had and how they were interested and knowing me.

So, like I said, if it's working for you than great, but I probably would forget your test in my inbox to be honest.

Re:Follow-up to “The dystopian world of software engineering... by fphhotchips on Sunday February 23, 2020 @03:34AM (#22395786)
I can't lie to you, I wouldn't go through that process. Or, if I did, you'd be at the bottom of the stack for me.

Half the interview process is about selling the company to the candidate. How can I know if I want to put up with your bullshit tests if I don't know whether I'm going to enjoy working with you?

The message you're sending with more automation is simple: you will be a cog in a machine here. We're not interested in what you have to say, we're only interested in whether you're smarter than the average bear.

Re:Follow-up to “The dystopian world of software engineering... by banner2018 on Sunday February 23, 2020 @02:40PM (#22399025)
The effort is very considerate in terms of legality that you are not favoring anyone.

Programming or the fancy name of Software Development has sort of become the new blue collar job.

Re:Follow-up to “The dystopian world of software engineering... by bambataa on Saturday February 22, 2020 @09:35PM (#22394715)
If you’re so confident about your challenge app why do you first make everyone do a 2hr online test?

How many hours do you spend assessing each candidate and how does that compare to how many hours you make them spend jumping through your hoops?

Re:Follow-up to “The dystopian world of software engineering... by jjav on Sunday February 23, 2020 @02:40AM (#22395643)
> Whether that's true or not, it would be a tough sell to implement a "just use your gut" style hiring process at a major company in 2020.

Depends what you mean by "use your gut" but that's not my experience. Currently at a well known public tech company in silicon valley and there isn't any standardized interview process. Every interviewer is free to approach it as they wish and the hiring manager gets to listen to all input and decide. This is a strength.

Perhaps (very likely) as a result, this company is also rated highly in diversity.

A standardized interview process will inevitably lead to a standardized employee pool, as only the candidates who fit the very narrow profile (willing to memorize endless algorithms they will never need or use in real life) can get in.

I should add that my current employer is not, in my experience, unusual. In my ~25 years in the valley, it's how it's always been. I have not worked (and never want to) for the companies which value conformity in hiring above all else (infamously, google).

Re:Follow-up to “The dystopian world of software engineering... by benburleson on Saturday February 22, 2020 @06:54PM (#22394148)
Where I work now doesn't have any real interview structure or way to measure candidates. It makes interviewing difficult, but honestly in the end the most important part is the answer to "would I like working with this person?" There are many aspects that can lead to your answer, but I really believe that is the most important question to answer. Someone can be extremely productive, but if they're an asshole, nope, I don't want to spend a minute working with them. On the other hand, if someone is slow and error-prone, but otherwise a pleasant coworker, I'm pretty forgiving, and hope they can learn along the way.

And for the social justice aspect, we do have a very diverse group of engineers, especially for our size and location.

Re:Follow-up to “The dystopian world of software engineering... by biztos on Sunday February 23, 2020 @04:51AM (#22395996)
Is the interview process similarly standardized for managers?

If so, how are they "objectively" evaluated?

Do chemists recite the periodic table backwards in interviews?

I don't pretend there's never any bias, but I'm still not convinced you get any less, or any better bias with the whole hoop-jumping algorithm day-long whiteboard thing.

As has been noted elsewhere in the comments here, ours seems to be the only industry that does this to itself.

Re:Follow-up to “The dystopian world of software engineering... by klipklop on Saturday February 22, 2020 @06:39PM (#22394097)
The "standardized" interview at companies like Google has lead to them hiring mostly White/Asian males though... I have had plenty of people tell me that interviewing at Google is essentially a roll of the dice these days. You can answer all the 5x interviews in a satisfactory manner and still get rejected.

I feel "just wing it" can lead to somebody talented from a non-traditional background getting a chance at a great career that they would be auto-rejected by google at the resume submit phase.

Re:Follow-up to “The dystopian world of software engineering... by apta on Saturday February 22, 2020 @07:03PM (#22394179)
> hiring mostly White/Asian males though

Which seems reflective of the underlying pool of applicants.

Re:Follow-up to “The dystopian world of software engineering... by perl4ever on Saturday February 22, 2020 @11:29PM (#22395156)
It works in the opposite direction too, though. If you live in a place where a given sort of people is scarce, it doesn't matter how hard you try to be unbiased, you internalize prejudices based on your lack of (or minimal) experience with them. Then someone does come along and they don't fit in, and they are set up for failure, and try as you might, you (subconsciously) associate whatever group they belong to.
Re:Follow-up to “The dystopian world of software engineering... by klipklop on Saturday February 22, 2020 @07:29PM (#22394294)
Has a company like Google ever released data proving this? Latino's make up a fairly large number of the people that live in the bay area (23.5% [1]) yet there are like what 3.6%[2] of those people working at google. Seems like a pretty big gap.

It would be interesting to see what their application/success ratio demographics are like.

1. http://www.bayareacensus.ca.gov/bayarea.htm 2. https://www.wired.com/story/googles-employee-diversity-numbe...

Re:Follow-up to “The dystopian world of software engineering... by apta on Saturday February 22, 2020 @08:28PM (#22394514)
> Latino's make up a fairly large number of the people that live in the bay area

How many of them hold relevant degrees for job openings at Google?

Re:Follow-up to “The dystopian world of software engineering... by xenihn on Sunday February 23, 2020 @12:30AM (#22395315)
I know multiple people who don't have a degree at all and have full-time SWE positions at FAANGs. One is even an engineering manager. This isn't the 2000s.

There's even a sourced 2018 article about current hiring practices trending away from degree requirements for you to peruse:

https://www.cnbc.com/2018/08/16/15-companies-that-no-longer-...

It's not about the degrees (relevant or otherwise).

Re:Follow-up to “The dystopian world of software engineering... by smegma2 on Saturday February 22, 2020 @08:11PM (#22394452)
Bay area residents probably make up a small portion of Google's applicants. It would be more interesting to hear what percentage of their applicants are Hispanic.

Of course the most important thing is: out of minority applicants who are qualified, what percent are hired? Because we may expect a smaller proportion to be qualified due to systematic barriers that they face. Google is not necessarily in a position to fix those.

Re:Follow-up to “The dystopian world of software engineering... by stickfigure on Saturday February 22, 2020 @10:35PM (#22394934)
You can effectively look this information up yourself by checking on the demographics of CS graduates.

I'm willing to bet that Google's demographics hew pretty closely to CS graduate demographics. You need to look farther upstream.

Re:Follow-up to “The dystopian world of software engineering... by fphhotchips on Sunday February 23, 2020 @03:38AM (#22395795)
I 100% agree with you. I got my shot at my job title (not SWE, but in SaaS) from a non-traditional background for that role because the hiring manager was given carte-blanche to find the person he wanted to work with. We had breakfast, we clicked, we spent two years killing it. No way my resume gets through a more traditional hiring process (I know this, because I know some of the traditional hiring team wanted to throw out my resume).
Re:Follow-up to “The dystopian world of software engineering... by Skunkleton on Saturday February 22, 2020 @09:44PM (#22394756)
> There is a strong push for standardized and repeatable interviewing processes, complete with sufficient documentation to support hiring decisions.

Standardized processes don't mean unbiased processes. The SAT for example is pretty racist.

Re:Follow-up to “The dystopian world of software engineering... by perl4ever on Saturday February 22, 2020 @11:31PM (#22395162)
"The SAT is..." seems like a questionable statement even before you complete the sentence, given that it has changed over time.

Is it equally racist now versus in the 90s?

Re:Follow-up to “The dystopian world of software engineering... by Skunkleton on Sunday February 23, 2020 @04:21PM (#22399612)
Probably not, but who cares? The point isn’t that the SAT has been equally racist for some amount of time. The point is that bias exists in standardized processes.
Re:Follow-up to “The dystopian world of software engineering... by perl4ever on Sunday February 23, 2020 @07:54PM (#22400697)
If the SAT has undergone changes, obviously someone intended to improve it. What they were trying to improve and what the consequences actually were, if it got better or worse, would be relevant to why it has problems now and what they are.
Re:Follow-up to “The dystopian world of software engineering... by MaxBarraclough on Saturday February 22, 2020 @10:44PM (#22394974)
> The SAT for example is pretty racist.

What do you mean by this?

Re:Follow-up to “The dystopian world of software engineering... by Skunkleton on Sunday February 23, 2020 @04:25PM (#22399637)
The SAT has historically been formulated in a way that is culturally biased towards white experiences, probably unintentionally.
Re:Follow-up to “The dystopian world of software engineering... by Wowfunhappy on Saturday February 22, 2020 @07:08PM (#22394205)
I have a very simple solution to this problem. It frequently evokes an instinctual negative reaction, for understandable reasons, but I truly believe it would be both equitable and effective. Ready?

You want your company to be 50% women? Tell your teams that at least 50% of their hires must be women. That's it.

To me, formalizing the quota but keeping the overall hiring process looser makes a lot more sense than the other way around. A quota is dead easy, and a formal process is hard for all of the reasons discussed.

A quota is not "hiring people just because they're female/black/gay/etc"—it's a way to make us more effective by preventing us from overlooking good people. If we're naturally inclined to skip people who are black, then we need a process to counterbalance our natural tendencies. And of course, recognizing and taking advantage of an undervalued resource is good for business.

If there are legal issues with a quota (I'm legitimately not sure whether there are), then the law ought to be changed.

---

50% women may be the wrong number because of the demographics of computer science majors or what have you. It was just an example. Choose a number in good faith that you believe represents the potential population of good hires.

One simple solution might be to have your quota match the demographics of your job applicants. But this decision bares more thought than I'm qualified to provide.

Re:Follow-up to “The dystopian world of software engineering... by missosoup on Saturday February 22, 2020 @09:08PM (#22394629)
> If there are legal issues with a quota (I'm legitimately not sure whether there are), then the law ought to be changed.

That would be quite literally destroying the anti-discrimination laws which safeguard the exact thing that you think you're arguing in favour of. Quotas implemented the way you describe are the antithesis of equal opportunity. That 'instinctual negative reaction' you come across is people seeing the complete logical reversal going on in your claim.

Re:Follow-up to “The dystopian world of software engineering... by Wowfunhappy on Saturday February 22, 2020 @09:37PM (#22394724)
I don't think we need to have the same rules for well-represented and underrepresented groups. A reasonable person is fully capable of determining which is which. "Reverse racism" is not a real phenomenon in 99% of cases.
Re:Follow-up to “The dystopian world of software engineering... by missosoup on Sunday February 23, 2020 @12:44AM (#22395347)
What is the definition of representation? Who is the arbiter of what groups are over and under represented? What does fair representation mean if not equal opportunity?

This is a subject of entire books and hours long debates, but we can skip to the reductio ad absurdum with your line of reasoning: 99% of underwater welders are male.

Trying to 'represent' females in that occupation and push the gender ratio to 50/50 would harm all parties involved and result in a measurable number of deaths. Protected attributes are not uniformly distributed in terms of fit for job, and trying to hit a uniform quota across those attributes is naively idealistic, at best.

A less generous interpretation is that you are actually totally cool with discrimination as long as it's in the 'right direction', whatever that personally means for you. In which case you are exactly the force that you claim to be fighting against.

Re:Follow-up to “The dystopian world of software engineering... by TeMPOraL on Sunday February 23, 2020 @03:21AM (#22395754)
"Reverse racism" is a term that was created to redefine "racism" so that people engaging in racism could say they're not engaging in it, because their kind of racism is not racism.
Re:Follow-up to “The dystopian world of software engineering... by missosoup on Sunday February 23, 2020 @03:35AM (#22395788)
It's worse. It's not just 'wrong kind of racism', it's 'if you were born with attributes XYZ you should never be called racist, even if without those attributes your actions would be labelled as racist'.

The notion of reverse racism is something that requires religion-like amounts of self delusion and selective consumption of facts. The flaws of the notion are just too glaring for any rational individual to overlook even at first examination.

Re:Follow-up to “The dystopian world of software engineering... by BubRoss on Saturday February 22, 2020 @10:27PM (#22394906)
You are making decisions based on arbitrary labels and demographics, not on the person. It is the definition of descrimination.

Not only that, but it's blatantly hypocritical since you don't spend your money based on the demographics of a company, you spend it based on performance.

Re:Follow-up to “The dystopian world of software engineering... by joshuamorton on Saturday February 22, 2020 @10:38PM (#22394944)
It's discrimination, yes, but in what sense is a quota bigotry?
Re:Follow-up to “The dystopian world of software engineering... by tomp on Sunday February 23, 2020 @03:39AM (#22395800)
It can result in hiring of person B instead of more capable person A, just because person B satisfies some arbitrary immutable characteristics (skin color, sex, etc.) and person A does not. Texbook discrimination.
Re:Follow-up to “The dystopian world of software engineering... by joshuamorton on Sunday February 23, 2020 @03:42AM (#22395808)
GP has since edited their post, it originally used the word "bigotry" where it now says "discrimination".

Edit: This leads to a much more interesting line of discussion that can be summed up as "discrimination (and similarly bias) isn't always bad".

They're useful tools and we should be careful about practicing them, but the idea that because discrimination is sometimes bad it is always bad doesn't follow. (or an alternative way of looking at this is that discrimination often includes the qualifier "unjust". Bias in favor of some group in the pursuit of greater justice therefore isn't discrimination).

Re:Follow-up to “The dystopian world of software engineering... by belorn on Sunday February 23, 2020 @09:14AM (#22396895)
Carl Sagan described it best in his book The Demon-Haunted World. Reducing people down to a few single bits of information is lazy thinking. It shields the stereotyper from contact with the enourmos variety of individuals, the multiplicity of ways of being human. Even if it discrimination were valid on the average, it is bound to fail in many individual cases.

Profound injustice in favor of averages is not an acceptable social trade off. This is why countries enact general discrimination laws, making it illegal to judge people based on single bits like gender and race.

Re:Follow-up to “The dystopian world of software engineering... by joshuamorton on Sunday February 23, 2020 @01:58PM (#22398753)
Relatively few countries ban discrimination in general, they ban discrimination based on certain characteristics.

For example, in most places in the US it's okay to discriminate based on political party, and I don't know of any jurisdiction where you aren't allowed to discriminate based on someone identifying as a racist.

Re:Follow-up to “The dystopian world of software engineering... by belorn on Sunday February 23, 2020 @05:16PM (#22399933)
If you want an example of general ban against discrimination you can look to the European Convention on Human Rights, in particular Article 10, 11 and 14.

Political affiliation, political views, political association, all those are protected.

The state can step in if it is in the interests of national security or to preventing of crime, but it is just as wrong to discriminate someone who identify as a feminist as someone who identifies themselves as a racist.

It should also be noted that where I live, Sweden, the right of political association is particularly cemented in our constitution. The same protection that is given union members are given to political members, including racist political groups. People talk about changing the constitution whenever neo-nazists goes around and demonstrate, but that kind of talk usually dies down when people realize that life goes on even if a handful of people believe in something which the rest of the nation consider crazy.

Re:Follow-up to “The dystopian world of software engineering... by joshuamorton on Sunday February 23, 2020 @05:29PM (#22399995)
The right of political association is different from nondiscrimination. Are you suggesting it would be illegal for me to kick a nazi out of my store because they are being a nazi? Because that's the right we're talking about, my right to discriminate against you.

It appears that you're conflating government nondiscrimination with government mandates on individual nondiscrimination. Those aren't equivalent.

Re:Follow-up to “The dystopian world of software engineering... by belorn on Monday February 24, 2020 @04:06AM (#22402643)
> it would be illegal for me to kick a nazi out of my store because they are being a nazi

Here in Sweden, yes. The law is very clear that you can not deny service because you disagree with someones political, religious, or world views.

Government nondiscrimination is a US technicality of the first amendment. European Convention on Human Rights is not limiting to government behavior. Everyone has to follow it.

Re:Follow-up to “The dystopian world of software engineering... by joshuamorton on Monday February 24, 2020 @12:39PM (#22406229)
Then Sweden has a unique interpretation of the ECHR. In most EU nations, that isn't the case (nor does it seem to actually be the case in Sweden, given that Sweden's anti discrimination law doesn't protect arbitrary views).

I think you should speak with a lawyer, because you're not correct.

Re:Follow-up to “The dystopian world of software engineering... by belorn on Friday February 28, 2020 @03:53PM (#22446265)
In 2016 the Swedish national cabinet issued a report on the status of the anti-discrimination law (SOU 2016:87). It cites the EU courts cases C-399/11, Melloni and C‑617/10, Åklagaren mot Åkerberg Fransson, and the conclusion that political discrimination is against the human rights convention.

The report also note that current law does not protect children that get discriminated based on their parents political activity, which the FN convention of children rights says they should be protected against.

The report goes on to basically say that the EU convention of human rights extends the Swedish anti-discrimination law to include, among other things, political and other world views, class, and social status. The report then goes on that courts must already follow those extensions.

There were also a specific case a couple years ago where a politician was kicked out of a restaurants based on his political affiliation. A Judge commented on that case noted that while the Swedish anti-discrimination does not make it illegal, there is a case to be made under the EU human rights declaration.

So there. The government report, and a judge, both saying the same conclusion.

Re:Follow-up to “The dystopian world of software engineering... by tomp on Sunday February 23, 2020 @06:20AM (#22396322)
What kind of moral / logical principle do you base the conclusion “discrimination is not always bad”, on?

Genuinely asking. My morality follows from basically “discrimination based on immutable personal characteristics is always bad” (with the possible exception for family, bwcause that’s just cruel), from which I cannot conclude for example that discrimination is bad if it’s agains blacks but good if it’s against whites.

I fear that by dropping this principle, while allowing for “positive discrimination” (e.g. preferential hiring / admissions of blacks/women), you also allow e.g. White Nationalists to argue that it’s OK to discriminate for whites. How would you convince a White Nationalist that such discrimination is bad while leading by example that other kinds of discrimination are just fine?

Re:Follow-up to “The dystopian world of software engineering... by joshuamorton on Sunday February 23, 2020 @05:57PM (#22400142)
I'll get to the meat of your question, but two sidebars first:

> My morality follows from basically “discrimination based on immutable personal characteristics is always bad”

As a bit of an aside, are you saying that this is your base moral precept from which all other decisions about what is or is not ethical follow? This would be a very strange ethical framework (for example, it follows that murder is ethical). Usually moral and ethical frameworks follow from very high level principles "optimize happiness/utility" (utilitarianism), "do good things" (deontology), etc. It seems like you might be coming from a rights based ethical framework, but it's not clear.

> How would you convince a White Nationalist that such discrimination is bad while leading by example that other kinds of discrimination are just fine?

I don't generally waste my time arguing with people who are engaging in bad faith[1]. In this day and age, I don't generally believe that a white nationalist is going to be convinced by facts and logic, or really anything else. I'm more concerned about appealing to the majority of people who aren't white nationalists, because ultimately I believe that discriminating against white nationalists is okay[2].

Ok, now back to your actual question: in what cases is it okay to discriminate? I'm approximately utilitarian, so the simple answer is "when the expected value across society is positive." For me, I don't think optimizing for strict utility is the right goal, instead I personally think that we should maximize agency (possibly median, possibly total, unclear exactly), which is something like each individual's ability to make meaningful decisions.

This sidesteps issues of de jure rights. It leads to conclusions that we should do things like lift up the least fortunate and provide social safety nets, since a destitute person has less agency than a person capable of getting by. Similarly, it addresses questions of when regulations on personal liberty are ok. If allowing some action has a reasonable possibility of reducing agency of some other group, we should give it less protection than another action which does not.

So for example, when you have two groups, racists and some racial minority, it makes sense to provide the racial minority more protection than the racists, since the racists want to reduce the racial minority's rights more than the racial minority wants to reduce the racists rights. That is, the minority would prefer it if the racists weren't allowed to be racist. The racists would prefer it if the racial minority weren't allowed to live in the same area, or use the same water fountains, or what ever.

That's an extreme, but illustrative example. So back to the less extreme position: Discrimination is okay when it's done explicitly to counteract a gap between what the law (or more broadly society) intends and where society actually sits.

Society intends for hiring to not discriminate based on race. But it did for a really long time. The put (and continues to put) the subjects of discrimination at a disadvantage. If you're deontological, then "nondiscrimination" is the rule and that's that, but if your goal is justice or utility, then discrimination to bridge the gap between intent and reality is ethical. It should be done carefully of course, but it's alright.

If you want to see a fun set of examples of this, voting district and gerrymandering law in the US is full of weird examples of trade offs between the need (under the Voting Rights Act) to allow racial minorities to elect representatives of their interests, with the current opinion of the USSC that any districts can't be drawn based on racial lines (except in very specific circumstances)[3]. In other words, States must draw districts to preserve the interests and representation of minority groups, but can't draw districts based on where those minorities live. It's weird.

[1]: https://en.wikiquote.org/wiki/Jean-Paul_Sartre#Anti-Semite_a...

[2]: https://en.wikipedia.org/wiki/Paradox_of_tolerance

[3]: https://www.ncsl.org/research/redistricting/redistricting-an...

Re:Follow-up to “The dystopian world of software engineering... by tomp on Sunday February 23, 2020 @07:03PM (#22400496)
Interesting, thanks for an extensive answer.

> If you're deontological, then "nondiscrimination" is the rule and that's that, but if your goal is justice or utility, then discrimination to bridge the gap between intent and reality is ethical.

I'm definitely pro-justice, it's just that I see it principles based (e.g. free speech even for (especially for) speech I don't like), not "utility" based. The flaw of your philosophy, in my view, is that you're just sweeping the tricky parts under the carpet by introducing concepts of "utility" and "right goal" and "society intends". You're even conflicted about that yourself, introducing another concept of "maximizing agency" (sounds like pro-freedom); a good moral system would somehow maximize (or balance) both in some way.

I don't think that's a good view, because those are fundamentally non-reconcilable goals. Should a billionaire be able to spend $1m for the health of his/her child (maximize agency / freedom), or should the society put that money to "maximum utility" and spending it to help several (poorer) children (with illnesses that are less expensive to treat but still life threatening).

Re:Follow-up to “The dystopian world of software engineering... by joshuamorton on Sunday February 23, 2020 @07:22PM (#22400571)
> The flaw of your philosophy, in my view, is that you're just sweeping the tricky parts under the carpet by introducing concepts of "utility" and "right goal" and "society intends".

Sure, picking the "right" utility function is one of the hardest parts of utilitarianism. FWIW, I don't think maximizing agency is a different concept so much as a specific utility function that avoids some of the common pitfalls of strict utilitarianism (utility sinks: the person who gets enormous happiness from cannibalism). In other words you could imagine Agency as the "reasonable person" standard applied to the value of a choice. This still has flaws, but, IMO fewer than many other framings.

Some people might also find this to be similar to optimizing for the most "positive rights" across society, but I dislike that framing because the idea of positive vs. negative rights is silly, any right can be framed as positive or negative.

> Should a billionaire be able to spend $1m for the health of his/her child (maximize agency / freedom), or should the society put that money to "maximum utility" and spending it to help several (poorer) children (with illnesses that are less expensive to treat but still life threatening).

Note that giving a poor person money such that they can choose to treat their child's disease also increases agency! If you want to dive deep into this, I think that the marginal value of a dollar is probably logarithmic, or at least inverse quadratic or something, so a tax scheme modeled to tax top brackets in such a way that then improves the situation of those less off (pick your method: national healthcare, UBI, etc.) increases overall agency.

Re:Follow-up to “The dystopian world of software engineering... by missosoup on Sunday February 23, 2020 @05:11AM (#22396075)
Discrimination is discrimination. Whether it's 'good' or 'bad' depends entirely on who you ask.

I think most people making a case for 'good' discrimination don't realize that the existing 'bad' discrimination originated exactly the same way.

We need to strive to eliminate discrimination, not perpetuate the swing of the pendulum that's been going back and forth for hundreds of years. Pushing down on some demographics to uplift others is not going to solve anything, it's just a no-op perpetuation of what's already going on.

Re:Follow-up to “The dystopian world of software engineering... by joshuamorton on Sunday February 23, 2020 @05:29AM (#22396155)
That's not at all true.

The historical discrimination did not originate from people saying "yes discriminate against me in the interests of general equality". In fact, to return to the start of this thread: historically much discrimination was the result of bigotry. It's very unlikely that hiring quotas (or similar) are the result of bigotry.

Your conclusion also doesn't follow at all, at least not without some argumentative work that you haven't presented. Suffice to say that I believe that the best way to, in the long term, eliminate discrimination is to allow some specific forms now, with the intent of undoing past discrimination.

You haven't presented even a shadow of an argument as to why that isn't reasonable.

Re:Follow-up to “The dystopian world of software engineering... by missosoup on Sunday February 23, 2020 @06:12AM (#22396297)
You're conflating hiring discrimination with a broad and nebulous notion of inequality. Everyone agrees that equality is a good idea, but it doesn't map to your notion of how to address hiring discrimination, if such a thing exists. You're proposing deliberate and harmful inequality in the name of fixing some perceived other inequality. It doesn't work.

The way to create equality is to manipulate on levers that individuals can control, e.g. taxation brackets, education incentives, government investment into particular industries. Passing up the best candidate for a job because they didn't have some inherent unchangeable attributes that you're arbitrarily favouring is the opposite of creating equality.

Re:Follow-up to “The dystopian world of software engineering... by joshuamorton on Sunday February 23, 2020 @06:36AM (#22396377)
This assumes that there is always a clearly best candidate. Fwiw actual quotas are illegal for this reason, but are you saying that all else equal, hire the less well represented person is discriminatory in a negative fashion?
Re:Follow-up to “The dystopian world of software engineering... by belorn on Saturday February 22, 2020 @10:19PM (#22394876)
As a social experiment, I would like to see a town/province/state attempt to ban gender segregation in the work place by imposing quotas on all professions, especially those where the government itself is the employer. If you want a government contract in that town, the company must have a minimum of 40% men and 40% women for every role of employee.

I do not know what the costs, efficiency and employee happiness would be, but it would make for an amazing social experiment. Having 40% of the garbage men, sewer workers and construction workers being women, and 40% of the teachers, nurses, and social workers being men would make for a very different society than what we have today. There would be a lot of people trying to cheat the system in order to keep the work place gender segregated, but I wonder if that is a local maximum of happiness rather than a global one. Such study could shine some light and give us some final answers if quotas is a good idea or not.

Re:Follow-up to “The dystopian world of software engineering... by Wowfunhappy on Saturday February 22, 2020 @10:42PM (#22394968)
Just to be clear, this is why I suggested normal companies not trying to reform society should base their quota on what they "believe represents the potential population of good hires", possibly based for example on their applicant pool. If only 10% of all engineers are women as of 2020, you need not mandate they they comprise at least 40% of your engineering team.

(While there's a separate discussion to be had about why so few women choose to be engineers, that's not the company's problem to solve.)

Re:Follow-up to “The dystopian world of software engineering... by perl4ever on Sunday February 23, 2020 @09:40AM (#22397007)
"If only 10% of all engineers are women as of 2020, you need not mandate they they comprise at least 40% of your engineering team"

There's no logical reason why "10% of engineers are women" implies "10% of every engineering team should be women" instead of, for example, "10% of engineering teams should be all women".

A number of teams could be 40% women even if the average were 10%, and there's also no reason why excess men have to be engineers just because they were educated as such. That's a thing that happens anyway, just like people without CS degrees go into programming.

Re:Follow-up to “The dystopian world of software engineering... by SomewhatLikely on Sunday February 23, 2020 @06:38AM (#22396379)
I don't remember the source but I've heard anecdotes of women at companies with strong diversity pushes feeling that they get taken even less seriously because others assume they're "just a diversity hire". A lot more needs to be changed culturally than that single hire/no hire decision. An employee's peers and superiors are constantly making decisions that will impact that employee's career trajectory and each decision may only have a small even unconscious bias but cumulatively become extremely impactful. Between employee A and B, maybe A gets slightly more impactful project assignments, gets taken slightly more seriously, gets told more details about the goals of senior management, is given a bit more of a break when they miss deadlines, is mentored a little better by peers etc. If B is losing these little coin tosses even 10% more of the time, the effects add up. For some minorities the same process has been occurring their whole life and plays a big role in why the diversity is so low already at the career entry stage to begin with.
Re:Follow-up to “The dystopian world of software engineering... by mgsouth on Saturday February 22, 2020 @08:37PM (#22394530)
I see some people are reacting negatively to what you're saying. DVs are terrible as a dialog. And I, too, agree the comment leaves kind of a bad taste, but I think because it baldly points out some unpleasant things. I only see these categories of downvotes:

1. I hit the wrong button :)

2. I'm a bigoted member of a majority, and am downvoting because I think minorities should be oppressed.

3. I don't think any questions of race/gender/etc. should ever be considered in a workplace, and and downvoting because I dislike the whole idea.

4. What I suspect is actually happening: Like (3) I think everyone should be considered on their own merits, and you can look at company-wide stats to see if bias is occurring. Its good for the company to act against it in sum, but acting on the basis of race/gender/etc. on an individual basis is shocking and unfair.

The problem with (4) is that you're trying to have some kind of emergent effect that magically appears. It's a goal without being a goal. Worse, its a global goal you want to be actively worked against locally.

Developers love to complain about clueless management that doesn't know what it wants. Guess what folks, it's a common trait. Our other favorite trope is to figure out a technical fix for a people problem. And the problem with that is of course a tech fix only takes care of specific situations and not the underlying problem.

For example, as a tech fix we might decide that all interviews are done in a pitch-black room with vocoder voice synthesizers. Great, no question of race/gender/etc. Except, of course, for selection bias in our candidates. And even after they are hired there's biased reactions (unequal success for equal quality). People just naturally favor familiar attributes, even if those attributes don't contribute to a correct outcome.

So to be consistent, there are really only three choices: a) don't care, let the chips fall where they may; b) have an actual goal to equally represent everyone; c) encourage playing nice, and hope the results aren't too far off.

What actually happens, of course, is d) encourage playing nice, hope the results aren't too far off, then someone actually looks at the results and complains, so flail around trying to avoid doing anything too unpleasant to fix it.

Re:Follow-up to “The dystopian world of software engineering... by drunkpotato on Saturday February 22, 2020 @07:58PM (#22394402)
I’ve proposed this as well and it went over like a lead balloon. As did the very idea that more diversity would be good for the team. Ah well.
Re:Follow-up to “The dystopian world of software engineering... by Wowfunhappy on Saturday February 22, 2020 @08:38PM (#22394532)
> As did the very idea that more diversity would be good for the team.

So, while I wholeheartedly agree that diversity inherently benefits teams and businesses (different experiences will lead to new and different approaches), it's just not a very convincing argument, because it feels "mushy". Here's one that I think is better:

If it's true that e.g. women have a harder time getting engineering jobs due to unconscious bias (and I'd posit that this is clearly the case), then that means female engineers are, as a group, undervalued. You should be able to hire a better female engineer for the same amount of money.

Harsh? Sure. But that's beside the point.

Re:Follow-up to “The dystopian world of software engineering... by missosoup on Sunday February 23, 2020 @12:56AM (#22395388)
> If it's true that e.g. women have a harder time getting engineering jobs due to unconscious bias

Cite this.

For the tech sector, in developed nations, this is nonsense.

Re:Follow-up to “The dystopian world of software engineering... by BubRoss on Saturday February 22, 2020 @10:36PM (#22394937)
It should go over like a lead balloon since it is literally illegal discrimination.
Re:Follow-up to “The dystopian world of software engineering... by drunkpotato on Sunday February 23, 2020 @06:23AM (#22396333)
Please explain? I am not aware of such a law and have never encountered this response before.
Re:Follow-up to “The dystopian world of software engineering... by polishdude20 on Saturday February 22, 2020 @08:06PM (#22394436)
"If we're naturally inclined to skip people who are black.."

The evidence for that is dubious

Re:Follow-up to “The dystopian world of software engineering... by ScottFree on Saturday February 22, 2020 @07:38PM (#22394326)
> we once rejected someone on ethical grounds after they passed all the interviews

What did they do? Suggest sacrificing a puppy to moloch to make a feature release go smoothly?

Re:Follow-up to “The dystopian world of software engineering... by lifeisstillgood on Saturday February 22, 2020 @07:49PM (#22394367)
Does that work? It might be worth a try?
Re:Follow-up to “The dystopian world of software engineering... by TeMPOraL on Sunday February 23, 2020 @03:29AM (#22395777)
Of course it does. Most companies do this (albeit not with literal puppies), so do governments and people in general.

https://slatestarcodex.com/2014/07/30/meditations-on-moloch/

Re:Follow-up to “The dystopian world of software engineering... by PragmaticPulp on Saturday February 22, 2020 @05:29PM (#22393781)
> I don't have a better way of doing things

This is my least favorite part about discussing interview techniques.

It's taboo to say anything other than "interviews are broken", as if there is some alternative perfect practice that companies are voluntarily choosing not to use.

If no one, including the author of the linked article, can think of anything better, doesn't that mean that companies are already using optimal practices? At least from our current knowledge of interviewing practices. I always have my eyes open for new research, new suggestions, and new trends, but it's getting old to hear the constant chorus of "interviewing is broken" with zero attempt to suggest improvements.

That doesn't mean current practices are perfect or that we should stop trying to improve them, of course. It does feel a bit like politicians going on record saying that they're "deeply troubled" by something without proposing alternatives, though. It's the safe thing to say.

Re:Follow-up to “The dystopian world of software engineering... by m4x on Saturday February 22, 2020 @06:54PM (#22394147)
> If no one, including the author of the linked article, can think of anything better, doesn't that mean that companies are already using optimal practices?

Not necessarily, it might just mean that the more optimal approaches are not obvious. It seems extremely unlikely that the current approach is optimal.

Re:Follow-up to “The dystopian world of software engineering... by dahfizz on Saturday February 22, 2020 @09:16PM (#22394656)
You seemed to miss GP's very next sentence:

>At least from our current knowledge of interviewing practices

Re:Follow-up to “The dystopian world of software engineering... by wbl on Saturday February 22, 2020 @06:35PM (#22394081)
You can test skills relevant to the job. If you're mostly doing js /css do that, not algorithms questions.
Re:Follow-up to “The dystopian world of software engineering... by dahfizz on Saturday February 22, 2020 @09:19PM (#22394665)
The idea that JS developers don't do anything that needs algorithm knowledge is funny to me.
Re:Follow-up to “The dystopian world of software engineering... by wbl on Saturday February 22, 2020 @09:40PM (#22394738)
Frontend isn't going to require you to use union find and when it does you can look it up.
Re:Follow-up to “The dystopian world of software engineering... by TeMPOraL on Sunday February 23, 2020 @03:31AM (#22395780)
That would be true if frontend people were just doing webpage styling, and not web applications that often don't even have a backend.
Re:Follow-up to “The dystopian world of software engineering... by hakfoo on Saturday February 22, 2020 @07:27PM (#22394285)
I wonder if a sensible option might be short term contract-to-hire scenarios.

You have three promising candidates? Instead of trying to extract signal from gimmick interview tactics, hire them all and put them on a 3-month contract with the opportunity to renew to full time. Then you're giving them real weork instead of easily crammed questions, and remove some of the anxiety affecting interview performance.

Re:Follow-up to “The dystopian world of software engineering... by frosted-flakes on Saturday February 22, 2020 @07:38PM (#22394328)
That would make switching jobs really hard, effectively making the interview process three months long. Only now, candidates have to quit their current job before they can interview, and if the first "contract" doesn't end in a job offer, the candidate no longer has a job.
Re:Follow-up to “The dystopian world of software engineering... by numpad0 on Saturday February 22, 2020 @08:20PM (#22394489)
Then you just set up your business so 90% of your company is filled with said 3-month workers at minimum wages.

There’ll be no shortages of applicants for quite some time but really destroys the society. So no.

No unless I’m guaranteed that upper echelon slot to judge them — no I wouldn’t want to live in a society like that.

Re:Follow-up to “The dystopian world of software engineering... by SlavikCA on Saturday February 22, 2020 @09:00PM (#22394597)
If I employed fulltime now, then I'm unlikely to consider switching to 3 months contract.

On the other hand, I think it may be a good idea for the company to consider:

- either hire fulltime somebody, who has solid track record and "prooved" themself during on interview

OR

- offer 3 months contract to someone, who is not that good at passing interviews, so they can prove themself doing real work.

Re:Follow-up to “The dystopian world of software engineering... by bigtunacan on Saturday February 22, 2020 @08:29PM (#22394516)
That would be fine for new college graduates and other unemployed developers, not so well at attracting talent that already has steady employment.
Re:Follow-up to “The dystopian world of software engineering... by perl4ever on Sunday February 23, 2020 @09:42AM (#22397013)
If you have a steady job, then there may not be as much social utility in optimizing things for your situation.
Re:Follow-up to “The dystopian world of software engineering... by callinyouin on Saturday February 22, 2020 @06:36PM (#22394088)
My experience mirrors yours, with some exception. The company I recently accepted a role at was great throughout the interview process. A friendly, knowledgeable person from HR conducted my phone interview. The on-site interview was conducted by a manager and the development team I'll be working with in pretty equal parts. They asked thought-provoking questions to see how I approach problems and skipped the code golf/write a linked list from memory on a whiteboard type of questions.

On the other hand, another company I applied to that seems really desperate for developers (no fewer than 9 open dev positions when I applied) completely dropped the ball. During the screening process they asked me to do an online test that took me about 2 hours. I got 100% on the test but it took the HR rep an entire week to respond. The response? The same canned email I received when instructed to take the test. From the same person. After a back-and-forth it was confirmed that they did receive my initial test score and I didn't need to retake it. About a month later and they never did get back to me. Sometimes I wonder if companies even want to attract good talent.

Re:Follow-up to “The dystopian world of software engineering... by Swizec on Saturday February 22, 2020 @06:42PM (#22394106)
I see a lot of this at my day job. We've had positions open for over a year and somehow nobody makes it past the phone screen stage. The few that do make it to on-site interviews, we reject for one reason or another. Usually because they're okay but not great. We of course want great.

Sometimes we find a unicorn and want to make an offer. They get hired by FAANG after our interview and before we send the offer. Wonderful.

Contrast that to my side hustle where I sometimes hire folks to help out with coding so I can focus on other stuff.

Go into 1 or 2 Slack/Telegram groups "Hey anyone need work?"

Exchange 5 texts with 3 people.

"Okay here's a project, how much?"

Pick person. Get job done. If I like the way it goes, they get more jobs later.

Whole process from search to hire takes 1 week.

But at the dayjob we're a funded startup so we gotta be choosy and picky and make life all sorts of hard in the name of I'm not even sure what. We wouldn't even consider a part-time contractor because commitment is worth more than getting the job done.

¯\_(ツ)_/¯

Re:Follow-up to “The dystopian world of software engineering... by valleyjo on Saturday February 22, 2020 @04:57PM (#22393602)
Total catch 22. I’ve told recruiters something I’m excited about with my current role before and they’ve said “seems like you really like your team are you even serious about switching jobs”.....
Re:Follow-up to “The dystopian world of software engineering... by castratikron on Saturday February 22, 2020 @05:10PM (#22393670)
I once worked for a company that build industrial machinery. Because we were an "engineering" company, the director of our department would only hire software engineers if they had an "engineering" degree. Literally. Many dozens of applications thrown out that only had "computer science" degrees and not electrical engineering, computer engineering, etc.

Needless to say that company had a lot of problems with technology. But they seemed to be good at making money strangely enough.

Re:Follow-up to “The dystopian world of software engineering... by alfiedotwtf on Saturday February 22, 2020 @05:29PM (#22393777)
Another reason for companies that can’t find people, is to show proof that they’ve been looking for a while so they can apply for overseas worker visas.
Re:Follow-up to “The dystopian world of software engineering... by SomewhatLikely on Sunday February 23, 2020 @06:49AM (#22396423)
But the same situation exists at numerous companies that don't sponsor visas.
Re:Follow-up to “The dystopian world of software engineering... by itronitron on Sunday February 23, 2020 @08:23AM (#22396718)
It's also due to internal politics, if they have an established hiring team they want to keep them busy and it helps maintaining the front to upper management ... 'it's really hard to find candidates as awesome as we are!'
Re:Follow-up to “The dystopian world of software engineering... by UncleOxidant on Saturday February 22, 2020 @09:52PM (#22394773)
I suspect companies have trouble hiring because they really don't want or actually need to hire. I mean, yeah, hiring managers can complain that they really, really need to hire someone for some open position, but I don't believe them if they've had a req open for years as you suggest (or even six months). If they really had a pressing business need to hire someone then they'd try to make it work. They wouldn't reject someone because they didn't happen to have 1 out of a dozen technologies/buzzwords that were asked for in the job description. They'd realize that an experienced engineer who knows several programming languages can pick up a language in a few weeks and the surrounding libraries and ecosystem in a couple of months. But no, they seek perfection. And in seeking the perfect they end up passing on a lot of perfectly good candidates who could have been getting up to speed and working on their problem in the time it's taken to try to find that perfect candidate.

Companies that really want to hire are flexible. Maybe they need someone to do Python but they've found a good candidate who has all of the other requirements except for Python - but they happen to be really experienced with Ruby. Well, OK, if they're really experienced with Ruby they'll be able to pick up Python in a month or so. Sure, they may not produce the most pythonic code for the first six months, but that's what code reviews are for.

I've been in this game since the 80s. Back then companies weren't nearly so picky it seems (at least not in my memory). The second job interview I had out of college in 1986 at a startup in the valley went like this (it was an embedded/hardware job):

Interviewer: We just got this new CAD system. I'm going to have you sit down and play with it for several minutes. When I come back I'd be really interested in hearing your opinion of it. What are the good and bad parts?

And so I play with the CAD system for a while and when he comes back I give him my opinion. And he agrees with my assessment.

Interviewer: I've got this schematic here and a breadboard, some parts, power supply and test equipment. Do you think you could hook the circuit up while I attend to some other business? I'll come back occasionally to see how you're doing.

I wire up the circuit, get it going, look at the output on a logic analyzer. Interviewer comes back and seems happy. After this he asks when I can start.

This took all of maybe 2.5 hours. In the 34 years since then I've only had a couple of other interviews that seemed that... I dunno how to put it, maybe "natural"? And both of those were in startups. They wanted to hire someone. They needed to hire someone.

Re:Follow-up to “The dystopian world of software engineering... by wyclif on Sunday February 23, 2020 @07:34PM (#22400615)
I'm old enough to remember the way technical interviews used to be, and they were just like this.

Back in 2001, I dropped out of tech and became a land surveyor for almost 10 years. Now, land surveying or civil engineering is not the same business at all as software development, but they are both technical and there is some overlap in terms of engineering and outcomes.

My technical test and interviews were all completed on the same office visit, and I got a decision in 24 hours! Just think about how incredible this would seem today. First, I was welcomed by an engineer who gave me an overview of the company. Then, I was taken to a conference room and given a trigonometry & statistics test that took about 45 minutes for me to complete. Then I waited in the engineering library and browsed books while they graded my test. When my results came back, I then proceeded to the interview proper. After that I was introduced to the CEO of the company and escorted to the lobby.

The very next morning, I got a FedEx envelope with a proper offer letter. They really needed a good instrument man and they got one in 24 hours. Throughout the entire process, everyone I interacted with was completely professional and prompt.

Re:Follow-up to “The dystopian world of software engineering... by ryandrake on Sunday February 23, 2020 @12:25PM (#22398101)
Yup, my first interview straight out of university back in the 90's was just like that. From then on, it was brain teasers, whiteboard hazing and "you got everything right but aren't a good cultural fit!" pickiness.
Re:Follow-up to “The dystopian world of software engineering... by lainga on Saturday February 22, 2020 @05:08PM (#22393660)
Sounds like the problem is low trust. It's a marketplace (for labour) where no transactions are taking place, because the buyers and sellers are afraid to come out to the town square.

What do your counterparts at the company think the source of their hiring difficulties is? If not flawed process?

Re:Follow-up to “The dystopian world of software engineering... by inertiatic on Saturday February 22, 2020 @05:32PM (#22393795)
It's almost always attributed to the lack of quality candidates.

But when you reach the final stage with 3 people who you know can pretty much do the job, who you know have successful careers working in successful companies, and you drop them because they didn't exactly behave the way you would prefer them to in a high stress scenario, and keep looking, I think you effectively forfeit the right to claim that's your problem with hiring.

Re:Follow-up to “The dystopian world of software engineering... by omar_a1 on Saturday February 22, 2020 @05:41PM (#22393835)
So much this. Every place I've interviewed at wants cookie-cutter candidates.

I didn't think of the solution you had in mind, because I've identified another problem that you didn't consider. And somehow that takes me out of the running. Good luck with that.

Not to mention the nebulous and vaguely discriminatory "cultural fit" problem. So, even if I manage to ace the technical, I still fail.

Re:Follow-up to “The dystopian world of software engineering... by Aeolun on Sunday February 23, 2020 @05:39AM (#22396195)
In the interviews I’ve taken so far, I’ve generally asked candidates a very simple recursion question.

Then I recently had an interview myself (thank god for no pressure) where I was asked to do more or less the same thing myself, and I totally blanked. It took that to make me realize it probably wasn’t a good problem.

At the same time, pretty much all the candidates we’ve hired have worked out.

I’m starting to think it might be easiest to just hire anyone that applies and doesn’t seem crazy.

Re:Follow-up to “The dystopian world of software engineering... by raverbashing on Sunday February 23, 2020 @05:00AM (#22396023)
> Last week, the person interviewing our latest candidate told me that despite the candidate doing perfectly fine, he couldn't come up with something that he felt excited about doing in his current job, which was a red flag for him.

> I tried explaining that perhaps that's something you shouldn't expect from someone who's at that point switching jobs.

Ugh. You are, of course, correct.

They want "the best candidates" but when they get one that's evaluating new positions they go on about "why do you want to move", "candidates don't seem to enthusiastic about our company" well maybe because you're not enticing then to move, quite the contrary.

Good candidates get hired (from an unemployment/"underployment" pool), excellent candidates get poached. Sports teams gets that but apparently if it was a software company they would ask Michael Jordan if he would be able to hit a 3 pointer

Re:Follow-up to “The dystopian world of software engineering... by SomewhatLikely on Sunday February 23, 2020 @07:03AM (#22396466)
I like the three pointer analogy. I checked and his percentage was 33%. This is quite similar to how the hiring process works, you only get offers on the attempts where you hit the three pointer. You weren't any worse of a candidate on the other attempts, and there are 5% candidates out there taking 20 interviews and getting hired on the twentieth because they had a good day and hit a three pointer that day. Also, they spent the last three months practicing 3 pointers exclusively, and when they get hired their teamwork skills, strategic thinking, defense, and everything else you didn't test for are lacking.
Re:Follow-up to “The dystopian world of software engineering... by Balgair on Sunday February 23, 2020 @01:03PM (#22398381)
And even when things are going great and both you and the company agree that you'll be a great fit, things still come in to screw everything up.

I had a great job lined up, perfect fit for me and them. But my SO has a condition. The pill my SO takes everyday costs ~$1-5 per pill with most insurance companies. The substance is used in horse feed, just like how humans put vitamin D in milk, or iodine in salt, this substance is put in horse feed gratis. It does not appreciably change the cost the feed.

When I looked into the health insurance for the new job, the pill would have cost us ~$100, so ~$3k/mo or ~$36k/year. I, obviously, had to turn the job down.

That US healthcare is completely broken is not just contained to families, but it leaks out over our whole society. A perfect hire, ruined because of shitty healthcare.

Re:Follow-up to “The dystopian world of software engineering... by BurningFrog on Saturday February 22, 2020 @06:49PM (#22394129)
The good way to hire is to recruit people someone has worked with before and can vouch for.

If you do good enough work at a job that your coworkers will want to work with you again, you've got it made and can choose between jobs for the rest of your career.

If you don't impress coworkers that way, you need to go through this crazy stranger interviews talked about here. Do try hard to avoid that!

Re:Follow-up to “The dystopian world of software engineering... by inertiatic on Sunday February 23, 2020 @12:51AM (#22395366)
In what universe is this true?

In all the companies I've worked for, referrals for ICs meant that these people were prioritized for interviewing, not that they skipped the process. And no one, not even the manager of the hiring manager, had enough say in hiring someone that they could simply decide to skip the process

Re:Follow-up to “The dystopian world of software engineering... by BurningFrog on Sunday February 23, 2020 @05:03PM (#22399847)
One thing I've learned in this industry is that it contains many, quite separate universes!
Re:Follow-up to “The dystopian world of software engineering... by rustybolt on Sunday February 23, 2020 @05:18AM (#22396097)
The thing I hate more than getting rejected is getting a very enthusiastic response accompanied by an offer that is slightly above minimum wage, when you have a year of work experience and masters in mathematics and computer science.
Re:Follow-up to “The dystopian world of software engineering... by mnm1 on Sunday February 23, 2020 @04:12AM (#22395902)
You may not have a better way, but one has existed for decades, maybe longer. Combine a personal interview with a company that's worth working for and you'll have no problem finding qualified candidates.

This means one phone screen of about 30-60 minutes to both introduce the candidate and decide if they are worth a follow-up with the team followed by a one hour interview with the whole engineering team more focused on technical capabilities directly related to the job. Finally, just to be sure, a one hour take-home assignment that is simple just to make sure they are not bullshitting. This last one only goes to the top few candidates of which one will be chosen (assuming they can code the simple assignment). People have been hiring this way (ok minus the coding assignment) for decades, maybe even a century or more. And you know what? It works.

Now on to the second requirement: having a company that's worth working for. That means a company that at least partially values its employees. The best way to do this if you don't have FAANG money? Remote work. Ideally for everyone. That guarantees your pool of hiring (even if limited to certain locations for artificial reasons) is much higher and the demand for the job will be huge. Other things that make a company worth working for: good salary, yearly raises, performance bonuses, 40 or less working hours a week, flexible schedule, decent managers who understand engineering, interesting tech, etc. Note that none of those is out of reach of any company, even the smallest small-business.

So yeah, let's stop with this bullshit that we don't know or can't think of a better way to hire. That's idiotic and frankly, closed-minded. Let's stop pretending like there aren't a ton of qualified candidates just waiting to be hired when there are so many. Let's give people a chance for once to prove that they can do the job. Not everyone will work out, but you know what, in the US with at-will employment, that is not a big deal. Doesn't work out, fire them. Easy fucking peasy. If you can't do that, you shouldn't be leading a team/company.

My company currently works this way and we have had NO problem hiring. Whenever we want a great candidate, we go from resumes to hired in less than a month. There is nothing special about us. We don't pay top dollar. We don't even have a lot of the perks I listed above, but we have enough of them that candidates love us and we have no problem attracting great talent (the top one being remote work, of course). If a company isn't willing to make itself desirable, I have no pity for them. It's like never showering or grooming and expecting to find a hot girlfriend. Highly unlikely.

Re:Follow-up to “The dystopian world of software engineering... by jlokier on Sunday February 23, 2020 @12:17PM (#22398047)
> Whenever we want a great candidate, we go from resumes to hired in less than a month.

A month is considered fast?!

I guess as long as the great candidate you're hiring is not looking at other options.

A recently saw a recruiter lamenting that their clients needed to be told that if they don't make a hiring decision within 2-3 days of introduction, they tend to miss out on the best engineers, who get offers from elsewhere within the week and take them.

Re:Follow-up to “The dystopian world of software engineering... by mnm1 on Monday February 24, 2020 @01:58AM (#22402184)
It's not? Because I see people here complaining about open positions that stay open for months to years, or that they can't find candidates at all. The breakdown is roughly 1 week for phone screens, 1 week for main interviews, 1 week for the follow-up coding test / code review with a candidate, then the offer. So 3-4 weeks from start to finish. I simply don't see how it could possibly go any faster. We are still doing other work in the meantime. We also need to consider multiple candidates. More than a couple of interviews a day is simply too tiring to evaluate candidates fairly. I've never seen a company move any faster than two to three weeks in dozens and dozens of interviews with all types of candidates and all types of companies from startups to FAANG. Anecdotal reports from recruiters notwithstanding, I think it's incredibly fast. If candidates can't wait (we've had one that we liked that took another offer), it's not a big deal at all. There are tons of qualified candidates out there. Each time we've hired the last three times, we've had three equally capable candidates. If one of them drops out, it makes the decision that much easier. After all, at that stage, it's impossible to say one is better than another. That can only be said after working with someone for some time. We've even gone back and hired candidates that initially were our runner up when the first choice didn't work out due to non work-related issues.
Re:Follow-up to “The dystopian world of software engineering... by jlokier on Monday February 24, 2020 @01:56PM (#22407129)
Fair enough.

If you have a steady stream of equally capable, qualified candidates, it's a buyer's market and you don't need to do anything. Carry on :-)

There are other companies who complain that they can't find qualified candidates though. Some of those have those positions that stay open for months.

Those are the ones the recruiters urge to change practices so they have a chance at getting "the best" engineers, on the rare occasions "the best" interview with them. The seller's market situation, where buyers need to compete.

It sounds like you don't have that problem though.

Re:Follow-up to “The dystopian world of software engineering... by amiga_500 on Saturday February 22, 2020 @06:18PM (#22394010)
How old was the interviewer? This seems like a very immature question. I work for money, first and foremost.

Is the amount of youth in tech part of the problem?