No technical questions when interviewing programmers?

Started by
12 comments, last by marvel_magnum 12 years, 1 month ago
I've worked in a few different places across the country, and the interview process here (Minneapolis metro) is very odd. Maybe 5-10% of companies will ask any technical, logic, or program design questions when interviewing programmers. I can't stand it. How can you determine if people can do the job without seeing if they can do the job? 'Fit' is important and all, but if programmers can't program... And having done a few dozen interviews, they can't. The majority of candidates wouldn't pass the standard Silicon Valley phone screen.

What are your experiences out there in forum-land around the world? What have you seen, and what do you think should be the form of a programmer interview?
Advertisement
Word of Warning: I've never interviewed for a software development position
Word of Warning: I frequently have to interview people for software development positions.

Now that I've got the disclaimers out of the way:

I'm not sure where you're interviewing, but they may be taking your resume at face value (something I don't do, generally speaking). Fit is important though, a person with all the technical qualifications in the world is useless if they can't work with the rest of the team in an effective manner. This is actually one of my big gripes (of many) with CS/SD programs in colleges: They don't force teamwork down people's throats. So what you get is a lot of graduates who have no idea how to even work with another person.

In general, if you get to me during the interview process I'll assume most of your resume is relatively true (i.e. if you claim to be a master of C++, I'll assume you've read Learn C++ in 21 Days), until you prove me wrong. That being said I DO ask technical questions, more to see how you approach solving the problem than out of any particular interest in your solution. I'll also try and get you to socialize during it, tell me stories about your life, get to know you. I know, touchy-feely bullshit, but its important. If I'm going to have to work with you or be your boss, I want to know that you will be able to fit in the group. In many ways FIT is more important than actual skill, skill can be taught. But a person who has the wrong attitude ('oh my god, I have to use VB? I'm just going to fail this class!' to paraphrase a recent topic), will never work out, no matter how skilled they are.

In time the project grows, the ignorance of its devs it shows, with many a convoluted function, it plunges into deep compunction, the price of failure is high, Washu's mirth is nigh.

I've always gotten plenty of technical questions, and have even had to sit a written exam a few times.

I remember an article, might've been Joel Spolsky, where he mentioned that by simply asking a basic C programming question (like, reverse a string), something like 90% of candidates failed immediately, even if they looked good on paper.

At my last interview, their version of this check was to test if you knew how to program and were familiar with modern programming techniques. The former was to ask how to set the MSB on an integer, and the latter was to ask what a closure is. Apparently answering "uhh, with an 8?" and "uhh, like a lambda, a local function?" were good enough answers wink.png
My experience as a soon-to-be graduate in the UK was that all of 8 or 9 interviews, bar one, asked some level of technical question. There was still quite broad variation, though. One initial interview consisted entirely of sitting at a laptop with a couple unit tests already set up, and solving a fairly simple exercise with the interviewer looking over my shoulder to ask questions and prompt me to alter it to handle slightly different conditions. Another (fewer than 30 employees) had a very informal approach, and focused on tools, development approaches, and experience rather than actual problem solving.

A few seemed fond of their brainteaser questions. One of these interviews contained no technical questions, one contained a couple that didn't seem very helpful in the sense that one could be answered by regurgitating an intro to networking lecture and another relied on being able to precisely trace the execution of a reasonably complicated source listing which had been deliberately designed to be hard-to-read. Maybe I'm being unfair, though! All of these companies gave the same vaguely IQ-esque aptitude test.

The company I accepted gave a preliminary programming test in the relevant language, the sort of thing you'd expect in a first year course. The interview itself started with some basic checks of language knowledge in recognizing a standard function and modifying it, questions about experience with more formal testing and then working through a couple gradually-expanding ('now the traffic lights have sensors'/'what if this were an embedded system?') problems on a whiteboard. A couple interviews with non-technical staff interspersed.
[TheUnbeliever]
I saw an interesting piece that said:

The only three true job interview questions are:
1. Can you do the job?
2. Will you love the job?
3. Can we tolerate working with you?

Technical questions are definitely part of question #1.

-- Tom Sloper -- sloperama.com

In my most recent interview, I had one ~30 minute interview / tour of the building with no programming questions, the next day they made me an offer (fortunately for them I'm not a bad programmer smile.png ). A friend was recently interviewing at two places at once, both involved 5+ programming tests over the course of two weeks. Go figure.

I saw an interesting piece that said:

The only three true job interview questions are:
1. Can you do the job?
2. Will you love the job?
3. Can we tolerate working with you?

Technical questions are definitely part of question #1.

I've always said those things as two rules:

1. Will you do the job well?
2. Will you fit in? (If you don't love the work you won't fit in. If we can't stand you then you won't fit in.)

Only asking questions about the second part is certainly suspicious.
Good to hear. When I first came out to the area I didn't have professional programming experience, so ended up doing a lot of interviews. Then I was interviewing for senior level positions with only a few years of professional experience. I once I got the jobs I excelled in them, but I've also done dozens of interviews. The lack of technical questions is pervasive here. And oddly, the few places that do ask them go overboard the other way. I've had written tests, I've had (and seen given by peers) tests where they sit you at a computer for some minor coding test, I've had them give me a public web service and ask for a UI that works with it in 3 days...

I was thinking about it last night and realised that there's two main reasons I hate it. If I do take the job, I know that there's going to be at least a few people who are woefully incompetent working there that got through the screening process. But mostly I have no idea how the interview went, or how to get better at it.

With technical questions, they're mostly right or wrong. Even design questions can be debated and a consensus gained about what a good approach would be.

But the touchy feely questions have no feedback mechanism. I have no idea what they're trying to fit me to, so I have no idea how that goes. Should I just be myself? I am prickly at the best of times so put on the professional face, try to be friendly, avoid my argumentative urges and my natural tendency to hate everything. Am I doing a good job? Is that even what these people are looking for? I have no idea.

There's just the 'We don't think you'd be a good fit.' terse replies. I've asked what sort of person they're looking for and it's the standard 'skilled, able to be a self starter...' schlock that everyone wants. I've asked what sort of manager the manager is; and that occasionally provides some insight, but often results in the 'tough but fair' garbage answer.

Drives me nuts.

1. Then I was interviewing for senior level positions with only a few years of professional experience.
2. The lack of technical questions is pervasive here. And oddly, the few places that do ask them go overboard the other way.
3. With technical questions, they're mostly right or wrong.
4. Drives me nuts.


1. With an experienced candidate, a programming test probably isn't necessary. One could just call up his former supervisor and coworkers, see how good a programmer he was by their lights.

2. What governing body should rule that all companies behave exactly the same way?

3. A lot of times, the hirers are looking to see your problem-solving approach. Well, if not exactly "a lot of times," then "when it's done well."

4. The world does not owe you consistency or logic.

-- Tom Sloper -- sloperama.com


I was thinking about it last night and realised that there's two main reasons I hate it. If I do take the job, I know that there's going to be at least a few people who are woefully incompetent working there that got through the screening process.


Chances are, you will at some point be working 12+ hours per day with your co-workers. You will spend more time with them than with your wife and kids. It is vitally important for team morale and your personal sanity to weed out the jerks as early as possible.

This topic is closed to new replies.

Advertisement