Live data from Hacker News

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

theoutline.com

121–130 of 238 posts

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

#121

Earlier quoted context omitted.

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…

Rushing into coding something using abstract mathematical computer science techniques is a poor way to solve real world business problems. The person who has spent time in the real world raising kids realizes that you do not build business value by being a smartass know-it-all and that when time and money are of the essence, something quick and dirty, maybe even brute force, will save the business, please the custome…

That presumes a specific type of engineering role.

Here's another: the founders already coded all the brute-force versions of everything. Now they want their software to scale. You will use your knowledge of algorithms and data structures (and distributed systems) to turn their one node that handles 10 events per second into a cluster that handles 10 million per second with low latency across several geographic regions.

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

#122
post #36
post #18

This is a tough subject. I don't believe deep understanding of algorithms and data structures is necessary for the vast majority of engineering tasks. Most (almost all) engineers can get by understanding complexity notation and a matrix comparing time/space complexity for various algorithms and data stuctures, no memorization required. And even that is overkill, as most of time the "natural" one suggested by a proble…

I throw real life problems I've run into (and fixed!) at people and ask them to give me things they would do to troubleshoot, and compare it to what I did. Always nice when somebody suggests something new. I also ask 10,000 foot questions. "Say you're wanting to build a new app that behaves like Instagram. What's your hosting platform, your technology stack, and explain why?".

> I throw real life problems I've run into (and fixed!) at people and ask them to give me things they would do to troubleshoot

Yes. How does the person think and work? I've interviewed ops folks who are technical gurus whose walked through a problem with me and pulled up with "well, in that case the server is fine and it's not my problem". They can work somewhere else, I don't care how good they are at "making the server work".

I've also interviewed ops people who are all "well, if performance in production has degraded I want to sit down with the source control tools for your config management system and apps and work through the changesets with the devs and work out where we should start looking." I don't give a fuck if that gal needs to google some of the answers to the problems she finds, she's got what I want.

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

#123

> 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…

> 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.

Equally competent, but lacking in basic knowledge? It's a miracle!

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

#124
Github commits will hopefully change this in the future. During an interview, it's probably easier to go over algorithms and patterns for code which one previously wrote and is comfortable than some random whiteboard question. Plus it shows a little appreciation and respect for the developer. Coding is just as much an art as it is a technical craft. When an artist tries to get their work in a gallery, the manager doesn't ask them the techniques they are familiar with, she asks to see the artist's body of work and explain it. This is how I feel interviews should be structured.

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

#125
While I don't think whiteboard interviews are the best can we at least suggest other metrics? This is a problem I see with the argument. It says something sucks, and it does, but doesn't suggest an alternative.

Experience correlates with quality but doesn't necessitate it.

GitHubs aren't always available and a person's best work might not be there.

You could give someone a coding challenge and an alloted time with computer access. (Screw those interviews that don't let you google). This could be blind too, so you don't know the ethnicity or gender of the interviewee yet.

Any other suggestions?

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

#127

> 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, and another candidate who has been busy raising kids and has never seen this stuff before, who do you want to hire, all else being equal? The one who's raised kids† obviously. As that's approximately 3-4 orders of magnitude more difficult -- and indicative of not only of general character (by itself hugely important),…

I would say further, that If you are in a position to be implementing some non-trivial algorithm that's not currently in the toolbox, then your best approach is probably to go read a few papers first, and make sure that the algorithm you're looking at has not been surpassed. (Or, perhaps, you just need to dig something up from the '70s. A lot has been forgotten).

Then again, if you can implement Paxos on the first try...

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

#128

> 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, and another candidate who has been busy raising kids and has never seen this stuff before, who do you want to hire, all else being equal? The one who's raised kids† obviously. As that's approximately 3-4 orders of magnitude more difficult -- and indicative of not only of general character (by itself hugely important),…

> and indicative of not only of general character

Someone who chose to bear crotchfruit has no more "general character" than anyone else. All it requires is a functioning reproductive system. You have no idea of the quality of someone's parenting at the time of a job interview and it's borderline-illegal to even ask.

> the current default interview process assigns a ridiculous degree of importance to these skills, way out of proportion to their actual importance in the field.

That I agree with. I was tested on shared pointers and java reflection for this job 6 months ago. I've written less than 200 lines of actual code, total. I spend my days on HN, going to meetings, reading log files, and pushing buttons on test systems. And I make almost 3X my entry-grade salary 10 years ago.

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

#129

> 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…

> Do you want to see someone who did an EMT course at a local community college and hit the basic highlights of how to treat different symptoms I'd ask the 2 doctors to perform the exact treatment on their own kids, look at the outcome, and then decide. Basically, "build me X" instead of "show me your algorithm skills on whiteboard" is a far better proxy.

>build me X

Pay me

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

#130
post #56
post #48

Its counter intuitive but whiteboarding is actually more inclusive IMO. Anyone who has 35 bucks can lock themselves in a room for 3 months with a copy of CTCI and a pad of paper and come out with an 80+k salary. You cant do that in any other industry. If we judge candidates purely on work experience that just favors the incumbents who have already broken into the industry and presumably already quite comfortable in l…

That assumes the interview accurately measures something useful. The more I read about this area the more I think a 1-2h pre-interview practical coding assignment, then a 1 on 1 discussion during the interview is better. You then get to understand how they think, how they design solutions, and some sense of how they interact. In other words, how they'd do the job.

Many interviews are not pure whiteboard algos. And many interview processes are different, each company is unique.

When I interviewed a couple of years ago, I saw various kinds of interviews at companies:

* 1-2hr on site coding exercise, with the internet, alone.

* 'Here is a 100loc piece of code, fix all the problems with it'.

* Chat with product / manager / team lunch. ('Are you an asshole' test / 'culture' interview / scenario testing)

* Design / outline an app that does X, with boxes and lines on a whiteboard.

* Solve this algorithmic problem on a white board / on your computer.

The reason why everyone freaks out about the algo interview it's the only interview type that most engineers have to prepare for. The other 4 usually you don't have to do much prep work at all.

Post reply on HN