Sign in to follow this  
Telastyn

No technical questions when interviewing programmers?

Recommended Posts

Telastyn    3777
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 [i]can't[/i]. 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?

Share this post


Link to post
Share on other sites
Washu    7829
[b]Word of Warning:[/b] I've never interviewed for a software development position
[b]Word of Warning:[/b] 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.

Share this post


Link to post
Share on other sites
Hodgman    51234
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 "[i]uhh, with an 8?[/i]" and "[i]uhh, like a lambda, a local function?[/i]" were good enough answers [img]http://public.gamedev.net//public/style_emoticons/default/wink.png[/img]

Share this post


Link to post
Share on other sites
TheUnbeliever    963
Hidden
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.

Share this post


Link to post
Tom Sloper    16040
I saw an interesting piece that said:

[b]The only three true job interview questions are:[/b]
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.

Share this post


Link to post
Share on other sites
turch    590
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 [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] ). A friend was recently interviewing at two places at once, both involved 5+ programming tests over the course of two weeks. Go figure.

Share this post


Link to post
Share on other sites
frob    44908
[quote name='Tom Sloper' timestamp='1329877930' post='4915374']
I saw an interesting piece that said:

[b]The only three true job interview questions are:[/b]
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.
[/quote]
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.

Share this post


Link to post
Share on other sites
Telastyn    3777
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.

Share this post


Link to post
Share on other sites
Tom Sloper    16040
[quote name='Telastyn' timestamp='1329925116' post='4915525']
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.
[/quote]

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.

Share this post


Link to post
Share on other sites
sox    488
[quote name='Telastyn' timestamp='1329925116' post='4915525']
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.
[/quote]

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.

Share this post


Link to post
Share on other sites
Telastyn    3777
[quote name='sox' timestamp='1329927858' post='4915542']
[quote name='Telastyn' timestamp='1329925116' post='4915525']
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.
[/quote]

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.
[/quote]

I agree, but how jerky does someone have to be that they can't fake it for a few hours at most?

I have to think that references, looking for job-hopping, and checking with past coworkers is a far better indicator of that than an interview setting...

Share this post


Link to post
Share on other sites
Washu    7829
[quote name='Telastyn' timestamp='1329929214' post='4915551']I agree, but how jerky does someone have to be that they can't fake it for a few hours at most?[/quote]
Its a lot harder than you think. Imagine yourself in the interview... so you have a few things already working against you, such as being nervous. Its a lot harder to maintain a facade under those conditions than it will be once you're hired.
[quote]I have to think that references, looking for job-hopping, and checking with past coworkers is a far better indicator of that than an interview setting...[/quote]
Not really, in the US at least, there are libel and other laws that can get you in extreme trouble (as a reference) for what you say. Thus most of the time when checking a reference the conversation simply goes "Hi, did X work there?" "Oh, ok then."

Share this post


Link to post
Share on other sites
marvel_magnum    333
Reading the above posts, found some really nice stuff specially from Washu and Tom. And I completely agree with them. But if the topic of this post is the general thing going on for recruitment then I must say I'm surprised. [img]http://public.gamedev.net//public/style_emoticons/default/blink.png[/img]

Here in my country (India), I have never gave a single interview where I wasn't did not have any verbal/written technical test during the interview. The last one which I gave only last week had me make a double lift simulation on a 10-storey building in 3 days flat !! And I had to do that along with balancing my normal work schedule and other things. It went well and I'm looking at a better job starting next month but the point is that technical rounds should be an essential part of an interview unless you are interviewing known guys in the industry where of course your work has spoken for you already.


[quote name='Washu' timestamp='1329877431' post='4915368']
(i.e. if you claim to be a master of C++,
[/quote]
Really Washu, people say that ?!? [img]http://public.gamedev.net//public/style_emoticons/default/ohmy.png[/img]

Share this post


Link to post
Share on other sites
Washu    7829
[quote name='Marvel Magnum' timestamp='1329946298' post='4915671']
Reading the above posts, found some really nice stuff specially from Washu and Tom. And I completely agree with them. But if the topic of this post is the general thing going on for recruitment then I must say I'm surprised. [img]http://public.gamedev.net//public/style_emoticons/default/blink.png[/img]

Here in my country (India), I have never gave a single interview where I wasn't did not have any verbal/written technical test during the interview. The last one which I gave only last week had me make a double lift simulation on a 10-storey building in 3 days flat !! And I had to do that along with balancing my normal work schedule and other things. It went well and I'm looking at a better job starting next month but the point is that technical rounds should be an essential part of an interview unless you are interviewing known guys in the industry where of course your work has spoken for you already.[/quote]
The problem is that I'm generally one of the last people you'll interview with if you're being considered for a job. By the time I'm interviewing you you've usually been weeded out of all the other applicants whose skills were not appropriate for the job (i.e. all the others who failed the various technical challenges). Now, I do ask the occasional technical question, but again, its more about HOW you approach solving the problem than it is about the actual problem and your technical accuracy. I mean, I've asked, a number of times, for someone to write me a simple introspective sort. Its a great question, in fact, since very few people actually know what an introspective sort IS, although its used very commonly in your code (std::sort is typically implemented using it). How do you approach solving or implementing something that you have never heard of? That's important to me, more important than your actual ability to IMPLEMENT it. I can teach you to implement it, but problem solving skills are something you only really get through experience... i.e. trail and error. Failing at something is often the best way to learn (except skydiving).
[quote]
[quote name='Washu' timestamp='1329877431' post='4915368']
(i.e. if you claim to be a master of C++,
[/quote]
Really Washu, people say that ?!? [img]http://public.gamedev.net//public/style_emoticons/default/ohmy.png[/img]
[/quote]
Its actually a lot more common than you might think. I encounter plenty of C++ programmers who claim mastery on their resume but that can't even describe the diamond problem and how you can solve it, or SFINAE. These are all topics that are part of the whole "mastery" of C++, so if you claim it, I'll probably ask you something you'll fail at. I don't claim to be a master of C++ either, mind you, I do consider myself to be an "expert" on it though.


[quote name='Telastyn' timestamp='1329925116' post='4915525']
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.[/quote]
While it MIGHT be true, don't make that assumption. There's always someone whose skill is such that they can consider you "incompetent" at the job you've been assigned. The mistake is thinking that you're better than them. If you go into an interview with the "I'm so much better than everyone else you have, because they're all incompetent" attitude, you probably won't get the job.
[quote]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.[/quote]
Fit is about personality, attitude, even how you talk, smell and dress. Its not a flat "yes/no", its generally a question of "did the interviewer get along with you well enough to tolerate you." If I leave the interview and say "good grief, I can't stand that person." then I probably won't recommend you for the position. If you're a prickly person, perhaps you should look at WHY you're a prickly person. Often the problem with prickly people is that they don't like being proven wrong. They'll go to absurd lengths to stand up for their solution, even long after its been shown to be inferior to another. If I'm the interviewer and we're discussing design and you are adamant about one position...that's an inflexibility that you generally can't afford in the real world.
[quote]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.[/quote]
Because its not a "yes/no" question, fit is about just that "fit", and some places are like elastic, and others are more like granite. Plus, just saying "well, we're looking for you to be like X, Y, and Z" doesn't do any good. You could just act it then until we passed you, and then turn out to be a prickly dickweed.

Share this post


Link to post
Share on other sites
marvel_magnum    333
Wow! Introspective sort, diamond problem and SFINAE. Never even heard of them before. But googled them out and now I am 3 more steps closer to to "expert" level. Thanks Washu. [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img]

[quote name='Washu' timestamp='1329960552' post='4915733']
How do you approach solving or implementing something that you have never heard of? That's important to me, more important than your actual ability to IMPLEMENT it.
[/quote]
Absolutely!!

[quote name='Washu' timestamp='1329960552' post='4915733']
Failing at something is often the best way to learn (except skydiving).
[/quote]
LOL [img]http://public.gamedev.net//public/style_emoticons/default/biggrin.png[/img]

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this