Live data from Hacker News

The Terrible Technical Interview

techcrunch.com

161–170 of 236 posts

Re: The Terrible Technical Interview

#161
I completely get that technical interviews aren't great at accurately predicting success on the job.

What I don't get is all the whining that seems to happen from interview candidates who seem to think they are hot stuff and deserve to get hired but blame it on a bad interview process. It's not like the interviewers aren't aware of the shortcomings of the technical interview.

I have yet to learn of another industry where people routinely blame interviewers for their being rejected. I mean it seems like in other industries people are just hired almost solely based off resumes, and while everyone also realizes it sucks, they don't seem to think the interviewer is an idiot for not hiring them.

Re: The Terrible Technical Interview

#162

Why not require programmers to submit samples of work (most likely personal, side projects due to legal issues) done over a period of time, like graphic artists do when they apply for positions? I would think that would be a much more correct assessment of the programmer. Interviews should really be limited to check personality, and not much more imo.

This seems like what the article suggested. The issue then just becomes that not everyone has the time to do side projects and some of us are lucky enough that we really enjoy what we do for our job, so even when we have spare time we still work on the company project.

Re: The Terrible Technical Interview

#163
post #111

Look, if you want to talk about code, the easiest and best way to sidestep this issue is to have people bring code (somewhere between 200-1000 lines) to the interview. While they may not have a github presence, they've probably written something on a computer outside of business at some point. I really don't understand why more people don't do this. It doesn't even matter if it is their own code. The fact that they w…

I tried this with the first few people I interviewed. None of them had any code from outside work to bring. (This includes a brilliant and hardworking coworker that I practice-interviewed -- he just hadn't coded outside work in a very long time.) We wound up switching to giving code challenges instead.

Why not pull down a decent example of code that fits their resume's skill set and having them go through it with you line by line to tell you what they would do differently or why they like it, etc.?

Re: The Terrible Technical Interview

#164
post #12

I do almost all of the technical phone screens for my company. The process starts with a "where-do-you-see-yourself-in-5-years" personality screen, with an H.R. drone or outside recruiter. It moves on me, and then on to a brief "homework" coding exercise that we ask people to write and submit. If we like their code sample, then they come in for the panel of "whiteboard-exercise" people who conduct the face to face ro…

Although I believe everything you say, I'd like to provide a counterpoint. I think I'm a pretty good programmer and I've got a reasonable body of work on GitHub to back it up, but I've often failed technical interviews because I go to pieces under the pressure and my brain just stops working. I've been a dev for > 15 years but if anything I've got worse at interviewing over time. I only apply for positions that I gen…

Hey I used to be in the same boat as you but recently I seem to have gotten over it and get lots of offers =D

If you're interested, the way I got over it was by just accepting the fact the interview process is not perfect and in the end I have no idea what these people are looking for. That being the case, I just do my best and enjoy the fact I get to work on algorithmic questions usually much more interesting than what I would get to see while working. I guess I try to just have fun!

It really seems like a lot of people freak out because they are afraid of rejection. I don't want to get stereotypical about how nerds are antisocial or whatever, but I definitely found that once I stopped caring whether I was going to get hired or not, I started doing and feeling a lot better. I actually started enjoying interviews because I get to see interesting questions, see what other people are working on, and because I am junior, learn about more technologies and why they decided to use them.

Re: The Terrible Technical Interview

#165
post #94

Earlier quoted context omitted.

There is no less productive form of interview than the "resume validation interview". Resumes are practically useless in the best case. Here, you seem to propose paying a premium for candidates who can properly estimate their facility with VCS systems and then cogently discuss that estimation in an interview . That can't possibly be a skill relevant to building software on your team!

"Can you discuss what you've done?" seems like a skill likely to be highly relevant to team software building.

It's highly relevant to getting a job on a software team, but only because most teams are assembled via interviews, and verbally relating stories from your past in a face-to-face meeting is the most effective interviewing technique.

And it's relevant to a job like sales. (That's unsurprising because a job interview is actually a sales meeting.) And many management jobs do have a sales aspect -- you have to justify budgets, sell work inside the company, et cetera.

But if explaining our work to outsiders were a particularly important or routine skill for programmers, we wouldn't be so bad at it. And, on average, we are bad at it. Because our actual on-the-job communication, which we practice all the time, is largely written and asynchronous, taking place on media like Slack or Github. It relies on plenty of job-specific shared knowledge, domain experience, and jargon, and it all happens in the shadow of a job-specific shared codebase that is supposed to speak for itself -- the whole point of software is to build something that works by itself -- but is also perpetually unfinished.

There are social skills that are important to have on a software team, but it's difficult to judge them in an interview. Interviews are staged events. Challenging a candidate to defend a resume in an interview is like asking them to do improv comedy, and selects for many of the same factors: Verbal gracefulness, comfort in the spotlight, the ability to seamlessly change the subject, and the amount of time spent in rehearsal. Good candidates rehearse their resumes. We get to write them ourselves, after all, and with practice we learn to design them with hooks that lead into our best material.

Re: The Terrible Technical Interview

#166

Earlier quoted context omitted.

"Can you discuss what you've done?" seems like a skill likely to be highly relevant to team software building.

It's highly relevant to getting a job on a software team, but only because most teams are assembled via interviews, and verbally relating stories from your past in a face-to-face meeting is the most effective interviewing technique. And it's relevant to a job like sales. (That's unsurprising because a job interview is actually a sales meeting.) And many management jobs do have a sales aspect -- you have to justify bu…

I would say the whole point of software is to build something that people can use. If someone builds a module, but can't tell me how to use it, it's not of much use to me.

Oh, but surely they'll write documentation? Programmers, by and large, seem to suck at that too, which is why we have tech writers. But somebody still needs to explain to the tech writer what's happening! And only a few companies seem to carry tech writers for internal only products.

To put it simply, if I ask somebody how their code works and they say "Go away for an hour while I write documents" I think I'd rather not work with them. Or worse, they ask me for help debugging but can't tell me what they're trying to do. No thank you.

Re: The Terrible Technical Interview

#167

I do almost all of the technical phone screens for my company. The process starts with a "where-do-you-see-yourself-in-5-years" personality screen, with an H.R. drone or outside recruiter. It moves on me, and then on to a brief "homework" coding exercise that we ask people to write and submit. If we like their code sample, then they come in for the panel of "whiteboard-exercise" people who conduct the face to face ro…

>>I sometimes ask candidates what the letters "MVC" stand for. The successful response rate is around 50/50. I ask candidates to briefly explain the advantages of the Model View Controller pattern, It's good you don't ask for a definition. Even the inventor of MVC thinks it's rarely been applied as intended [1] (see forward by Trygve Reenskaug). [1] http://downloads.nakedobjects.net/resources/Pawson%20thesis....

This. I recently got asked a definition question. Oddly enough, one I researched prior: Polymorphism and Inheritance.

Short of quoting a single book's definition of them, word-by-word, you'll find hundreds of different definitions of those two terms online.

So, definitions are bad, rather ask for an "understanding" or "explanation" of the interviewee.

Re: The Terrible Technical Interview

#168
post #109
post #17

In my organization, we start by looking at what the candidate has actually done. We ask for a github profile, and any side projects they might have worked on. If the CV and body of work look interesting, we go on to a phone screen - general questions, clarifying points on the CV, explaining the job, answering questions. For the on-site interview, we ask candidates to bring their laptop. We advise them to use a typica…

> In my organization, we start by looking at what the candidate has actually done. We ask for a github profile, and any side projects they might have worked on. Fail. You just killed the quality of your pool. You've just negatively screened against people with a life (experienced, 30+ years old, generally with a family) and screened for people with no life (aka single, male 20-somethings). For an example, if John Car…

There are plenty of 30+ developers with families in our organization, and all of them have projects, hacks, or ideas of their own. I would argue that this is part of the culture we have. If someone comes to an interview and can't show any past code at all, that's a worrying sign.

On the other hand, we've also hired people that have not much happening with their public github profile. We still ask to see code they might have worked on (job-related). If they can't show that, we try to have them pair with us on something simple. We have hired people in this situation, but I'm sure we've missed others that may have worked out.

If a young Carmack came through our interview process, I'm pretty sure our team would recognize his talents when asking him to go through someone else's code.

Re: The Terrible Technical Interview

#169

I am a self taught PHP programmer. Been working in tech as a freelancer since early 2000s. Built real applications. I thought I was pretty good so a few years ago I moved to Silicon Valley to get a startup job. Boy was I wrong. Even though I had created real applications and knew MVC, etc. etc. I was basically told I was worthless because I didn't know algorithms, unit testing, etc. etc. So I moved back home (Tel Avi…

Both could be right. You might not have had the skills they were looking for, but could build a successful company (lead generation isn't algorithm intensive, is it?). I've seen exactly that happen more than once. Shipping something and running the business matters far more in many cases because the technical challenge in most companies is very little.

Re: The Terrible Technical Interview

#170
post #109

Earlier quoted context omitted.

> In my organization, we start by looking at what the candidate has actually done. We ask for a github profile, and any side projects they might have worked on. Fail. You just killed the quality of your pool. You've just negatively screened against people with a life (experienced, 30+ years old, generally with a family) and screened for people with no life (aka single, male 20-somethings). For an example, if John Car…

I agree with this. I'm a reasonable example - I've spent the last year working on relatively internal applications that don't show up in github (only the most recent year is shown there for some reason). I've also contributed to Rails[1], Rubygems, and a bunch of other projects. [1]: http://contributors.rubyonrails.org/contributors/justin-geor...

I hope you would promote your contributions when applying for a job, it definitely makes a difference. Looking at a public profile is not everything, you're right.
Post reply on HN