Live data from Hacker News

Programmers are confessing their sins to protest a broken job interview process

theoutline.com

101–110 of 238 posts

Re: Programmers are confessing their sins to protest a broken job interview process

#101
post #6

> Hello, my name is David. I would fail to write bubble sort on a whiteboard. I look code up on the internet all the time. I don't do riddles. Does the interviewer explain what bubble sort is, or do they expect the candidate to know it? The first is a reasonable interview, the second one isn't.

I guess I would expect just about anyone to know what a bubble sort is, but I wonder if that's bias from the classes I took. Every class on algorithms I ever took would start off with a bubble sort as an example of a sorting algorithm, then use it as exhibit A for figuring out the big O performance of an algorithm (the outcome of which was always, "...and that's why you should never use a bubble sort").

I assume that most people were taught most of the same material as I was, but in reality that may not be the case.

It's very hard to pin down what sorts of things "everyone" should be expected to know. I agree with the consensus that whiteboard coding and CS trivia is not a good way to run interviews, but I bet many/most of the people who complain the loudest about interviews have their own misconceptions about what constitutes common knowledge for programmers.

Any hiring process based on asking several current employees to take turns talking to someone for 30-60 minutes and make a hiring decision based on that is going to be deeply flawed. However, the only alternatives I've heard are so much more costly, lengthy, and elaborate that I just can't imagine many companies moving to a different process anytime soon.

This debate is also complicated because different people want very different things out of the process. Job seekers want processes that minimize false negatives (i.e., they don't want to fail the interview even though they'd make good employees), but employers want processes that minimize false positives (they don't want people who get through the hiring process that end up being bad employees that the company is now stuck with).

The current process probably doesn't do either of these things. But every more elaborate process I've heard people say they want seems to go to one extreme or the other- it either greatly favors the job seeker who hates false negatives, or greatly favors the employer who hates false positives. It's a hard problem with no good answers yet unfortunately. :(

Re: Programmers are confessing their sins to protest a broken job interview process

#102

Earlier quoted context omitted.

> who do you want to hire, all else being equal? That's the point. It's freezing out people who are equally competent, but can't perform as well at this arbitrary step.

They're equally competent except that they can't design an algorithm on demand based on remembered strategies for solving problems, or talk intelligently about the trivia of the field that can come up in a technical interview, or tell you the asymptotic running time of a given algorithm, or comfortably rattle off a bunch of code from experience without needing to look things up online, etc. That's not the same as bei…

those algorithms were discovered by PHD students spending years to come up with them. doubt someone will invent them in a 20 minute window without any reference material.

the question is asking if you seen that before, period.

Re: Programmers are confessing their sins to protest a broken job interview process

#103

I am a real Software Engineer. I don't remember all the details that are seconds away via Google or other reference documentation. I focus my brain power on thinking about the problem, trying to see it in the wider context, and understanding the needs of the users in my problem domain. I weigh the different solutions, choose a reasonable one, and implement a prototype that I can refactor into shape, step by step. And…

I concur.

Re: Programmers are confessing their sins to protest a broken job interview process

#104
post #8

> “Whiteboard” interviews are widely hated. They also discriminate against people who are already underrepresented in the field. I don't particularly like whiteboard interviews. How can they be discrimination if the expectations are laid out and are such that anyone can reasonably practice to reach them. I understand you can create a test that is deliberately discriminatory (e.g. voting tests). You can create a test…

underrepresented candidates have been acing our whiteboard interviews, and getting hired. The whole meme is so stupid I want to cry. "Asking field-relevant questions with objective answers is discriminatory, instead just have a chat. " Mother of god. Yes I understand the limitations and downsides of whiteboard questions, and in fact in future I'm thinking I won't do them on white boards anymore. But I'll still be ask…

The alternative is not no technical interviews, but it is important to recognize that different interview styles have different biases. Like a take home problem is biased against programmers with young kids. Whiteboarding is often a skill in itself, and as a result, you end up selecting for people that have the resources to study and practice whiteboarding.

I learned how to whiteboard through peers and career programs in college. There's a lot of people that don't have that guidance, or all those people to practice with. And there's a lot of people that will believe that flailing in their first whiteboard interview means they're unqualified to be a programmer, not realizing that it's a skill in itself.

Whiteboard questions also tend to be the nonsensical algorithms that you memorize for interviews and never use in practice, which again is influenced by one's peer group - you learn, study, and practice together. This also is why race and gender matter, even when you control for income and education.

The point isn't that these are insurmountable for someone from untraditional circumstances, but it is harder. And that means you let in weaker candidates with more advantaged upbringings in favor of stronger ones with less traditional ones. This is why google offers a seminar for all its interviewees to give them interview practice - so that people can start from a more equal playing field.

Obviously, a lot of the alternatives suffer from the same issues. But like all good programmers, I believe 1. this analysis and process is more important than the specific implementations, and 2. by understanding the issues and looking at the data, we can iterate to better solutions.

Re: Programmers are confessing their sins to protest a broken job interview process

#106
post #83

Whiteboards are useful for conversations about software architecture, but that seems to be the less common application in interviews. Writing pseudocode you've memorized from a book is fundamentally meaningless. You have to realize it isn't really a programming test: it's a filter for whether you're willing to do what's required to fit in. The principle is the same as in classic British private schools where boys wer…

What an apt comparison!

It appears that you have completely failed to realize that your example from British private schools regarding memorization is used to weed out the "riff raff" as it were. Don't want to hire "brown people", women, or other non-white privately-educated individuals? Institute a British-styled rote memorization test and make claims that it is fair because, "anyone can learn the requisite knowledge."

Whiteboard interviews are actually quite similar in both their implementation and impact!

Re: Programmers are confessing their sins to protest a broken job interview process

#107

> The process “freezes out many of the people who are underrepresented in the software development field,” Larson wrote. “If you’re busy working and raising kids, you want to spend as much of your scarce time as possible learning to code — not performing rote memorization that won’t matter once you start your job.” I'm not sure I buy this argument. If you have one candidate who has seen all of this stuff before and c…

> If you have one candidate who has seen all of this stuff before and can use it directly from memory...

Then this candidate has likely done many tech interviews before, what does that tell you?

Re: Programmers are confessing their sins to protest a broken job interview process

#108
A few points regarding CS 101/201 data structures and algorithm coding interviews.

The coding interview is a new phenomenon. In the 1990’s and early 00’s, these type of interviews were rare. Typical interviews were more well rounded with questions about interests (what do you want to do), past experience (what have you done), personality and culture (how do you like to work), as well as some technical and coding questions, often relevant to the actual job to be performed. Also some brain teasers like “why are manhole covers round” which Google has since condemned.

As someone who works largely on complex algorithms and mathematically oriented software such as video compression, speech recognition, and gesture recognition, I can say from experience that these tests frequently have nothing to do with what algorithm developers actually do. These are solved problems in CS such as how to sort data, how to implement a hash table, etc. In practice, developers rarely reinvent the wheel but rather use existing implementations in libraries or source code. The coding interview questions tend therefore to discriminate against older, more experienced developers who are many years past CS 101 or never took these classes.

About half of practicing developers are “self-taught” which typically means they come from some other STEM (Science, Technology, Engineering, or Mathematics) field where they learned to develop software by doing, not by taking CS classes. The tests tend to discriminate against them as well.

As for women and underrepresented minorities, which typically seems to mean people with visible African ancestry and Hispanics with visible American Indian ancestry, this is difficult for me to judge. But in general the CS101/201 data structures and algorithm coding interviews are not a test of the skills used in most (not all) professional software development.

What we can say is that these tests are also not blind tests of technical skill. They are analogous to the bad old days when orchestras auditioned prospective musicians by viewing the musician playing and few women ever made it through. The introduction of blind auditions where the candidates performed behind a sheet and with other measures to hide their gender, race, and other presumably unimportant factors — only the actual music was evaluated — seems to have resulted in an increase in women passing the auditions.

Re: Programmers are confessing their sins to protest a broken job interview process

#109
post #71

Earlier quoted context omitted.

No, it's just moving those 1-2 hours to home instead of at the interview. If you can take time off for an hours-long interview, you have the time to complete that kind of task.

It's asymmetrical though. A reviewer can yea-or-nay my 1-hour assignment in a minute or two. If I'm desperate for work, sure I'll do it. But my position is in high enough demand that I can choose another position that doesn't require me to do homework. If they made some attempt to get to know me, talk to me, and then give me homework, I might bite. But I'm not going to do hours worth of work just for the chance to ge…

Why would you apply for a job that you don't want? And if you want it, why wouldn't you put at least some effort into getting it?

Effort does not only include writing a cover letter that will be appealing for the company you apply to instead of just forwarding HR your resume. It also includes small activities like these.

You sound more like a spoiled brat, pardon my French, than an artist looking for new opportunities to make a difference.

Re: Programmers are confessing their sins to protest a broken job interview process

#110

Earlier quoted context omitted.

> who do you want to hire, all else being equal? That's the point. It's freezing out people who are equally competent, but can't perform as well at this arbitrary step.

They're equally competent except that they can't design an algorithm on demand based on remembered strategies for solving problems, or talk intelligently about the trivia of the field that can come up in a technical interview, or tell you the asymptotic running time of a given algorithm, or comfortably rattle off a bunch of code from experience without needing to look things up online, etc. That's not the same as bei…

I neither agree or disagree with you, but what concerns me is that your same logic can be applied to the "top tier university" farce:

"They're equally competent except that they didn't go to a school like MIT or Carnegie Mellon known for the highest quality CS departments. They obviously would've been accepted if they were top-tier grad material, so they are qualitatively not the same as being equally competent to someone who graduated from one of those programs".

I do agree with you inasmuch as they need to be able to speak intelligently about CS. Whether or not they can recite some textbook taxonomy of algorithms, they need to know how to describe and critique an algorithm or describe how a program works.

Post reply on HN