Live data from Hacker News

Interviews Can Be a Terrible Way to Identify Good Programmers

thecodist.com

11–20 of 108 posts

Re: Interviews Can Be a Terrible Way to Identify Good Programmers

#11
It depends

I've hired great people without having them write code. (Or at least, not in a whiteboard)

Trust me, you can know a lot about a candidate without him or her writing a line of code (ok, maybe a line)

My favorite question: "Tell me about a bug you once solved". That will tell you loads about the candidate

Or ask him/her about the difference bewteen foldl and foldr

But, really, I won't use FizzBuzz again

"blah blah candidate has to write code" I won't use FizzBuzz

Be creative people, FizzBuzz is easy, but it's boring. And it's a bad filter (from experience).

Re: Interviews Can Be a Terrible Way to Identify Good Programmers

#12
post #5

One of my favorite questions is: "What's the best bug you've ever found?" Usually I get a "Huh?" The really stellar folks will tell you about the bug that took two weeks to find and boiled down to a single missing comma in a vendor's library routine. Or /something/. But "Huh" is a bad sign. "Huh?" is not a fail, but it usually correlates with people who can't write a function to find the length of a string, and I see…

Best bug I helped find was a flaw in some FPGA code for a special DAQ board for a muon detector I was building. When the board was in a temperature above about 74F, the FPGA would often (but not always) fail to initiate some ADCs correctly because some delays would cause part of the circuit to go out of sync, and when it was below, it always worked fine. So, testing in the office worked fine, but running the board outside wit a slightly different setup in the summer would mean a failure, but not always.

The horrible part was after all this, I had to wire up a bunch of NIM modules instead with all the special logic (coincidence/anti-coincidence triggers + a bunch of other stuff so I could have separate binned energy counters) and then calibration manually because the engineer for that board was busy with other things to fix the bug.

I would have loved to tell this story at an interview for a job, except I could almost never get past HR drones, probably because my degree said physics and not CS or EE.

Re: Interviews Can Be a Terrible Way to Identify Good Programmers

#13

It depends I've hired great people without having them write code. (Or at least, not in a whiteboard) Trust me, you can know a lot about a candidate without him or her writing a line of code (ok, maybe a line) My favorite question: "Tell me about a bug you once solved". That will tell you loads about the candidate Or ask him/her about the difference bewteen foldl and foldr But, really, I won't use FizzBuzz again "bla…

Do people actually use FizzBuzz itself? I always thought it was just one example illustrative of the type of simple and quick-to-answer question that makes a good initial negative filter.

Re: Interviews Can Be a Terrible Way to Identify Good Programmers

#14

It depends I've hired great people without having them write code. (Or at least, not in a whiteboard) Trust me, you can know a lot about a candidate without him or her writing a line of code (ok, maybe a line) My favorite question: "Tell me about a bug you once solved". That will tell you loads about the candidate Or ask him/her about the difference bewteen foldl and foldr But, really, I won't use FizzBuzz again "bla…

Do people actually use FizzBuzz itself ? I always thought it was just one example illustrative of the type of simple and quick-to-answer question that makes a good initial negative filter.

Yes. Several people use it.

Re: Interviews Can Be a Terrible Way to Identify Good Programmers

#15
post #6

To fix coding interviews in this country, you need to insist on having a great coder do the interviewing. In 90% of the interviews I go on, I get evaluated by an HR type who could not write any program more significant than Hello World. What's funny is that the Non programmer interviewers are starting to administer coding tests, and they don't know what a good response is! So here I am doing a coding tests on a white…

"That's not how the best coders code, we offload most things to google searches"

If that's really what you think, you may want to reconsider who the "we" you're talking about are.

Re: Interviews Can Be a Terrible Way to Identify Good Programmers

#16
post #5

One of my favorite questions is: "What's the best bug you've ever found?" Usually I get a "Huh?" The really stellar folks will tell you about the bug that took two weeks to find and boiled down to a single missing comma in a vendor's library routine. Or /something/. But "Huh" is a bad sign. "Huh?" is not a fail, but it usually correlates with people who can't write a function to find the length of a string, and I see…

I don't remember specific bugs in general. I think I try to block out the memories...

Re: Interviews Can Be a Terrible Way to Identify Good Programmers

#17
post #5

One of my favorite questions is: "What's the best bug you've ever found?" Usually I get a "Huh?" The really stellar folks will tell you about the bug that took two weeks to find and boiled down to a single missing comma in a vendor's library routine. Or /something/. But "Huh" is a bad sign. "Huh?" is not a fail, but it usually correlates with people who can't write a function to find the length of a string, and I see…

Hey, nice question. I'm writing it down in my worflowy, thanks.

Re: Interviews Can Be a Terrible Way to Identify Good Programmers

#18
Good to see that we're making good efforts at meeting our "articles about hiring" quota on HN.

I have this theory that hiring people is nowhere near as hard as this particular echo-chamber likes to think it is. Everyone thinks they need "rockstars" or "A Players" and is looking for the magical recipe for finding them, but I think for most positions, someone who is smart and technically competent and fits with your company's culture is entirely sufficient.

Most of the startups we talk about depend on good execution of a simple idea, not advanced technical skills[1]. I believe that a good leader with the right vision and the ability to articulate that to his or her employees can take smart people who fit well with the company and form them into people who will execute consistently well. Not only that, but this creates a belief system around engineering and product that is compounding and self-reinforcing.

Identifying technically competent people is not that difficult. If you were to read a few of the last 200 articles where we've talked about this, there are some common threads.

First this, always this: a) Have them write at least a little bit of code to see that they actually know how.

Then pick a few of these. If at all possible spread the interviews out amongst a group of people so you can get different viewpoints. a) Ask them some relevant programming questions and observe their answers. Focus on things related to the kinds of work they'll be doing in their job. Maybe work on a whiteboard, or even in a text editor. Maybe even a little bit of both. b) Ask them a broader set of questions relevant to things like algorithms and data structures. Even for simple web apps, it helps to be at least conversant in the basics of these topics. c) Ask them to see open source work, or if they have a profile, or maybe some code they wrote that they're comfortable sharing with you.

I really think that if you put someone in a room with a competent engineer for an hour, that engineer will be able to tell if the person they've been speaking to is a good engineer or not.

Re: Interviews Can Be a Terrible Way to Identify Good Programmers

#19

It depends I've hired great people without having them write code. (Or at least, not in a whiteboard) Trust me, you can know a lot about a candidate without him or her writing a line of code (ok, maybe a line) My favorite question: "Tell me about a bug you once solved". That will tell you loads about the candidate Or ask him/her about the difference bewteen foldl and foldr But, really, I won't use FizzBuzz again "bla…

Do people actually use FizzBuzz itself ? I always thought it was just one example illustrative of the type of simple and quick-to-answer question that makes a good initial negative filter.

Yes, I've used it before. I've also been asked to solve it in interviews.

Re: Interviews Can Be a Terrible Way to Identify Good Programmers

#20
post #4

The author places a lot of stress on memory. I think he's overgeneralizing from his personal experience. Personally, I have a very bad memory, especially when confronted with query-like questions like "explain how you solved some hard problem when working at company X". I remember based on associations, not time: If you sit me down in front of the code I wrote, or pose the problem to me directly, I'll remember in a j…

Agreed. Memory tends to be trigger-based for most of us mortals.

Even short-term, here's what I've noticed: I could verbally list seven terms and their definitions. If I then proceeded to ask you the definition of any one of those terms, you could probably tell me. But if I asked you to recite back to me all seven terms, you'd probably forget at least one or two.

Post reply on HN