Not a new opinion, but well articulated and reasoned. Sadly, I don't think it will resonate because of the knee-jerk responses people seem to have these days regarding this topic.
> So, what about diversity of thought? If you’re really going after candidates who can bring fresh perspectives to the table, their lived experience should trump their gender and ethnicity (though of course, those can correlate heavily)
It seems like the stronger a proponent of progressive ideals you are, the more likely you are to be pilloried for some minor transgression.
(As an aside, this article linked from yours https://www.forbes.com/sites/ruchikatulshyan/2015/01/30/raci... states a correlation between racial, ethnic and gender diversity and company performance. I wonder to what degree this is infuenced by the fact that many high-performing companies are tech companies which now fervently pursue diversity as a goal in itself?)
Relating to your aside, correlation does not imply causation. Is it the diversity making those companies perform better, or better performance leading to the economic resources to pursue diversity programs?
Jonathon Haidt's research shows there are trade-offs between mono-cultures and diverse cultures. Neither is "better" than the other. Each have different traits. As a quick example, diverse groups (on average) are more creative at problem solving than mono-cultures, while mono-cultures (on average) have higher "Moral Cultural Capital" and are thus better at group allegiance and out competing other groups when the tasks are known.
An example from the real world might be that the United States has a more diverse culture and has a lot of creative output in its economy, while China or Japan are mono-cultures and have less creativity but are out competing others when the task undertaken is well known (ie not requiring creative problem solving).
I understand what it means to at least estimate representation based on gender, race, religion, nationality, veteran status, etc., and from that infer possible discrimination.
I can also understand the reasons for having civil rights laws to protect members of those groups, and I fully acknowledge the long history of discrimination in the US (I'm from the US) against Native Americans, blacks, women, non-heterosexuals, non-Protestants, and more.
But I can't wrap my head around what "diversity of thought" means, in any meaningful way.
Look at all the places with 'No-Assholes' hiring policy. Aren't "assholes" part of the diversity of thought?
I think it's pretty obvious that there may be good reasons to not hire people based on which thoughts they decide to express and how they express them. (I assume 'diversity of thought' refers to expressed thoughts - our mind reading devices aren't that good.)
The author doesn't address this topic, and instead proposes an evaluation based "entirely on performance in anonymous technical interviews."
How does that evaluation have anything to do with "diversity of thought"? If people from school X are 80% likely to pass the interview and people from elsewhere are 20% likely to pass the interview, then woudn't that process result in a monoculture of thought?
freedomben? Can you tell me how one might meaningfully characterize "diversity of thought"? For lack of a better definition, by "meaningful" I mean "incorporate it into hiring decisions such that the result is to the overall benefit of the company and the society which allows the company to exist".
> But I can't wrap my head around what "diversity of thought" means, in any meaningful way.
For that to be true, you'd have to be unaware of the fact that people can process data and reason through complex problems differently.
> I assume 'diversity of thought' refers to expressed thoughts - our mind reading devices aren't that good.
That is a poor assumption that requires the redefinition of the word "thought". Our mind reading devices are pretty good: "Here is a complex problem that can be solved in more than one way - show your work."
> How does that evaluation have anything to do with "diversity of thought"?
By clearly demonstrating an applicant's competing priorities by way of solution selection? It sounds like you've never worked on a team that had that one guy who would regularly shoot down seemingly sensible textbook solutions, and instead offer a solution that either sounded like more work or just plain insanity. Have you never heard the story of Mel [0]? I can tell you from my own experience, as a former full stack developer who had to do a lot of interdepartmental work at a non-software company, diversity of thought is very useful.
> "people can process data and reason through complex problems differently"
This was in the context of hiring, and I gave my operational definition - how does one apply 'diversity of thought' to the hiring process?
> "Here is a complex problem that can be solved in more than one way - show your work."
Presenting a solution, or an attempt at a solution, is an expression of one's thoughts.
> "diversity of thought is very useful"
How do you apply it to the hiring process? How does the proposed method (skills testing) result in improved diversity of thought?
I'll be more concrete with two examples. Example 1: Suppose there are only three schools which teach COBOL programming, and you are a bank which is looking to hire junior COBOL programmers. Do you design your test for COBOL competency, which will result in preferential selection from those small number of schools and hence reduce the diversity of thought? Or do you hire for more general diversity of thought and expect more overhead to train people in COBOL?
Example 2. Suppose you put the applicant on an Ubuntu box and ask them to write a sort program in C++ which takes two command-line arguments. The first is an input file name containing set of lines (ending with a '\n'), the second is the output file name containing the input lines but sorted by byte value.
Of those that pass the test, 50 do the 'standard' vector<string> with a sort from the standard library, but only 10 do I/O failure checking, and 1 of the 50 decides to make the parent directories if the filename's directory doesn't already exist.
But wait, another 40 treat C++ as C, and use stdio along with a resizing array of char * . Of those, 30 use qsort, 8 implement quicksort, and 2 use bubble sort.
(Oh, and one person who didn't finish was 90% of the way through implementing a Timsort.)
That's a diversity of thought. Do you give preference to them for thinking about the problem in a different way?
But wait, another 7 think about it a bit, realize that 'sort' is on the Ubuntu box, and construct system("sort filename1 -o filename2").
That's surely thinking outside the box, so should be encouraged in the name of diversity of thought, yes?
Except another 2 think about it further, realize that the filenames may contain spaces or shell metacharacters, so construct the exec call directly. Security thinking is hard to train, so they should have preference, yes?
And finally, the last one writes a C++ program which uses the Python C API to pass in a Python program as a string.
Surely that's even more diverse thinking - and completely within the test protocol as given.
Now to reverse the direction. I know all of these solutions. If I were given the task and I know that the employee wants to hire for "diversity of thought". Which implementation should I do to improve my chances of being hired?
That is, should I do something which I know is less maintainable simply because I know it's more obscure and thus shows my diversity of thought?
Here is an example that I've mentioned in a top-level comment here; ask the candidate to design a calculator. Budget doesn't matter and they can do it software or phyiscal.
All that matters is that at the end the calculator is the most ideal one for you as the candidate. All the features you wish for and none of the downsides.
So you get a bit of paper to draw on and maybe write some short text.
Compare the results to what your team has drawn when they were hired (or you asked them separately).
Of course the comparison is still subjectively but ideally you pick the candidate with the most different calculator from the others.
That's better than coding tests since you can look at the result and it's independent of coding skill.
Similar tests are possible where you don't test coding skill but instead test if and how much a person thinks outside the box and what it looks like. This would better help to assemble diverse teams than a simple coding tests.
Another one would be to look for people that are contra to the current team. If you develop COBOL look for a developer that can do COBOL but hates it and would love to switch elsewhere. These kinds of people will make your team diverse since they can find problems more efficiently.
I think the problem there is that your diversity tests still only test for coding skills, which aren't as important when you consider that someone with a fresh and contra perspective to your current team could be much more helpful.
The stated goal is to design the model which is most ideal for me.
The real goal - meaning, the one which decides if I will be hired - is to design the model which is most different from others.
Since I want the job, shouldn't I disregard the instructions and instead create crazy looking calculators which aren't ideal for me but which are different enough to stand out, and thus get me hired?
As a test designer, aren't you making a bias toward hiring people who are good at gaming the system? Is that really good for the company?
Going back to my examples, which you did not address, would your team hire the "C++ programmer" who implemented the sorting challenge by using the Python/C API to write a Python program? Because that's certainly thinking outside the box. But it doesn't tell you if the programmer would be a good C++ hire.
> If you develop COBOL look for a developer that can do COBOL but hates it and would love to switch elsewhere.
What? If you want to hire a COBOL developer with the expectation of working for 20+ years at a bank, why would you want that developer to hate that job? Do you have any evidence that they will be "more efficient" at it? Why wouldn't they do the bare minimum need to do a satisfactory job, while looking for a new job on the side. And when that happens you'll need to retrain your new employee.
> This was in the context of hiring, and I gave my operational definition...
That is actually a helpful reminder - the context of the conversation is a blog entry that struggles over the objectives of quotas and the utility of using race and sex as a proxy for diversity quality beyond... race and sex.
> Presenting a solution, or an attempt at a solution, is an expression of one's thoughts.
Yes... are you trying to defend your prior conflation of behavior and thought?
> Example 1 ... do you hire for more general diversity of thought and expect more overhead to train people in COBOL?
That depends entirely upon your organization's capabilities and priorities. Hypothetically lets say that the bank's long term objectives don't include a migration from COBOL, the IT department doesn't have a long history of successful inhouse training, and being a bank - is generally risk averse. First, filter for candidates that demonstrate an acceptable level of competency in COBOL. Second, filter for candidates that have skills and interests that are not organic to your team - but could feasibly be useful (in your mind, that is all we've got). Third, ask the candidates for examples of times that they've come up with novel solutions to difficult problems. Here is a personal example: I once accidentally landed a contract when I was having lunch with a friend and his boss, I was later told the clincher was my long exposition on fault tree analysis in ballistic missiles. The contract involved the integration of time management and security systems.
You seem to be struggling with the prioritization of diversity of thought over skills that are actually need to perform a job. Here is a hint: the first order of business is getting somebody who you imagine can do the job (skills, job history, etc). If you have more options that positions, of those people, select the one who demonstrates the ability to reason in a way unique to your team.
> Example 2.
You hire the guy who points out that you did a poor job of framing the problem. Not only did you describe it in a way that could be interpreted to demand an implementation that spits in the face of POSIX utility conventions (newlines as argument delimiters), but you also failed to establish a success metric (time, maintainability, performance, etc).
> Surely that's even more diverse thinking - and completely within the test protocol as given.
You described a bunch of potential implementations, not different ways of thinking. The protocol you gave wouldn't be useful to measuring diversity of thought, unless you modified it to include the possibility for interviewer-interviewee interaction, where you might get some clues about their thought process. "What is the success metric?", "Are the sorted values bounded?", "Is the source untrusted?", "How does this fit into the larger process flow?"
> That is, should I do something which I know is less maintainable simply because I know it's more obscure and thus shows my diversity of thought?
No, even in the cartoon funhouse of an example you provided - they might already have a Python weirdo running amuck, you'd add nothing. You don't know that ahead of time.
You wrote: "are you trying to defend your prior conflation of behavior and thought?"
Where do I do that?
You wrote: "You seem to be struggling with the prioritization of diversity of thought over skills that are actually need to perform a job."
First, I am struggling over how to identify 'diversity of thought' during the interview process. Is it something different than "can come up with innovative solutions" or "out of the box thinking" or "creative problem solver"?
Eg, freedomben writes that 'diversity of thought' can include "different socio-economic status ... different political views, different learning styles"
While your focus is only on "the ability to reason in a way unique to your team".
These seem like two different interpretations of that phrase, and I lean towards ubernostrum's down-voted comment that "diversity of thought" seems often used as a euphemism for "put up with assholes" (my interpretation).
You wrote: "You hire the guy who points out that you did a poor job of framing the problem."
Which means you end up biased towards rules lawyers. Which may be what you want, but bear in mind that you are presenting one performance goal while you have withheld a secret goal that you are actually looking for.
Here's a less secret goal: the test is meant to see if you know what modern C++ is like (and not simply the C-ish subset), and if you have a good idea of what the POSIX mindset is like (so you don't end up asking pointless rules-lawyer questions).
Which of these possible secret goals should the interviewee try to optimize?
You commented "unless you modified it to include the possibility for interviewer-interviewee interaction".
Well, yes. But no matter what scenario you come up with, the essential problem remains - does "diversity of thought" differ from "highly competent and creative problem solver"?
You wrote "newlines as argument delimiters". In my description, the first argument is a filename. The contents of the file are a set of lines, terminated by a \n. The goal is to sort those lines by byte value. Otherwise the desire to sort the contents makes no sense.
"I assume 'diversity of thought' refers to expressed thoughts..."
> First, I am struggling over how to identify 'diversity of thought' during the interview process.
I think we've covered this pretty well, so your struggle isn't over the "how" - but the "why".
> Is it something different than "can come up with innovative solutions" or "out of the box thinking" or "creative problem solver"?
It is no different, with one exception: it is measured in relation to your existing organization. If all your programmers are proponents of the functional programming paradigm, hiring another Haskell programmer, while relatively novel to the rest of the industry - likely does little to increase your organizations diversity in thinking (without additional screening parameters).
> These seem like two different interpretations of that phrase...
They are: one is selecting for proxies, presumably as a shortcut. The other is directly addressing what is desired. I'm always amazed at how proponents for such selection mechanisms are totally oblivious to how ridiculously prejudice it is.
> ...I lean towards ubernostrum's down-voted comment that "diversity of thought" seems often used as a euphemism for "put up with assholes" (my interpretation).
Clearly.
> Which means you end up biased towards rules lawyers. Which may be what you want, but bear in mind that you are presenting one performance goal while you have withheld a secret goal that you are actually looking for.
Boom, point proven. You have at that point learned something about that candidate's way of thinking, select on it or don't. If that was a hidden goal then it worked, if it wasn't then disregard.
> Here's a less secret goal: the test is meant to see if you know what modern C++ is like...
Not a diversity of thought test.
> ...and if you have a good idea of what the POSIX mindset is like (so you don't end up asking pointless rules-lawyer questions).
That is a diversity of thought test. Is the candidate willing to, in the face of ambiguity, insert his own opinion instead of speaking up?
> Which of these possible secret goals should the interviewee try to optimize?
As I said earlier: the one that, in your experience, indicates an ability to do the task that the candidate is hired for. Should there be a tie, the one that arrived at a solution that you did not anticipate. And no, that doesn't mean you should hire a guy who insists on sorting files using Node.js, just because he was the only one... you can't determine rationale based only on language selection. If he does it in shell script, ask why. You may learn that binary compatibility concerns are higher on his priority list due to some past experience that you wouldn't have considered.
> ...the essential problem remains - does "diversity of thought" differ from "highly competent and creative problem solver"?
Yes, but first I'll point out that "highly competent" is an unrelated concept. Because effectively nobody has unbounded useful creativity over an entire problem domain, you want to select individuals who's constraints overlap as little as possible - thereby covering more of the problem domain. Personal example: I took over a database from the engineering department because the guy maintaining it retired. I was horrified when I looked inside, the architect was obviously a PLC programmer - using triggers and views to form a hellish logic ladder. I was trying to figure out how I'd be able to untangle everything into a more tradition normalized database when I got a request from one of the engineers to insert a new trigger to account for some upcoming process change, I told him how much I didn't want to do that and asked if I could spend a day with him in order to get a better grasp on their problem domain - he was annoyed, but agreed. Well it turns out the old engineer wasn't totally insane, the problem domain was pretty much unbounded and constantly changing: new metrics, new datatypes, new requirements - totally normal for their department. Whereas I would have used a Domain-key normal form in that situation, he just created a new table and added a trigger. Both styles work, each has different weaknesses and strengths. Neither of us would have arrived at the other's solution. Diversity of thought.
> In my description, the first argument is a filename. The contents of the file are a set of lines, terminated by a \n.
Lol, even your attempt at clarification adds confusion. The ambiguity this time: is the set of lines terminated by \n, or is each line in the set terminated by \n, or is the file terminated by \n? Yes, I'm pretty confident that I know what you mean - but I have seen 0x1f used for stuff like this in production, bad things would have happened had I just made an assumption.
> Otherwise the desire to sort the contents makes no sense.
Sure it does: if instead of interpreting the explicit mention of '\n' to mean line termination within the file, one interpreted it as the termination of the first parameter. Again, one can guess the intent due to convention - but it is ambiguously phrased and immediately led to two competing possibilities of intent in my mind. Maybe that is because I think differently from you...
I still struggle to characterize "diversity of thought" in a way that is actionable by an institutional hiring process. I had a former colleague with whom I initially clashed. Only when realizing that he approached problems very differently than me (I could solve problems that he struggled with and he effortlessly solved problems that completely stomped me) did I realize that we needed to work together all the time.
The only time I screamed at my management was the day he was laid off. The organization never recovered.
When interviewing candidates, I am constantly afraid that I'm selecting for clones of myself.
> freedomben? Can you tell me how one might meaningfully characterize "diversity of thought"? For lack of a better definition, by "meaningful" I mean "incorporate it into hiring decisions such that the result is to the overall benefit of the company and the society which allows the company to exist".
You make some good philosophical points (that "assholes" are part of the diversity of thought), but practically I don't think "assholism" is what you want to look for.
When I say "diversity of thought" I think of things much like the author of the piece mentions: different socio-economic status (if you've never been dirt poor, you think differently than someone who has been well off. both viewpoints can be good), different political views, different learning styles, etc.
Political diversity is also good I think. I think progressives bring good stuff to the table, as do conservatives, libertarians, and socialists. When one view predominates, the organization tends to suffer (not a universal truth, just an observation I've made (so clearly not scientific)).
Your desire for a "meaningful" definition however that one could "incorporate it into hiring decisions such that the result is to the overall benefit of the company and the society which allows the company to exist" is really hard however (at least for me). I'm not currently part of hiring, but I have been in the past (tho my involvement is typically limited to technical questions, and I rarely delve into anything other than technical stuff). I like to look for areas where we are strong and weak. For example, if we have mostly people that love UI design and front end work, a candidate that feels strong on the backend may be more desirable. I think it's good to remember that diversity of thought is insanely broad, and encompasses tons of areas (which seem to me to be the point you are trying to make). As such, coming up with an example that generally demonstrates it is likely not possible.
I feel like I just rambled and didn't answer very well. Sorry about that. I think it's time for bed ;-)
Yes, diversity is "insanely broad" which is why I don't think it's meaningful. As the old saying goes, "you are unique, just like everyone else." This means that any criteria can be used in the selection process in order to weight what one things of as "diverse", and it cannot be opposed in court.
I can understand the issues regarding so-called 'diversity hiring' - it's due to the generations of systemic racism, sexism, homophobia, and other bigoted practices.
I think some turn it into a "diversity for the sake of diversity" argument, but I think that's because we (meaning Americans) often do that to avoid facing up to our history, and the problems of how to right those imbalances.
That's why it's so easy for me to reject a "diversity of thought" argument - it's not quantifiable or actionable.
I also think it's a misnomer. No one cares about "thoughts", only the expression of those thoughts.
"Diversity of thought" is a euphemism in the tradition of "teach the controversy". Reflect on that and you'll understand what it means and what is intended by people who advocate for it.
> So, what about diversity of thought? If you’re really going after candidates who can bring fresh perspectives to the table, their lived experience should trump their gender and ethnicity (though of course, those can correlate heavily)
Diversity of thought is a dangerous term in this current culture of witch hunts and personal destruction: https://techcrunch.com/2017/10/13/apple-diversity-head-denis...