AusGamers Forums
Show: per page
1
Interviewing people, advice needed.
Fish
Brisbane, Queensland
2646 posts
I figured some of you guys would have conducted interviews for software developers. I'm on the other side of the desk now and have to interview a few .net developers. Any advice?
09:15am 22/10/08 Permalink
adBot
ads
Internet
--
ads keep websites free
09:15am 22/10/08 Permalink
paveway
Brisbane, Queensland
8600 posts
get a proper hr person?
09:16am 22/10/08 Permalink
mission
Brisbane, Queensland
4102 posts
Hire the one with the biggest boobs. (excluding fat nerdy males)
09:21am 22/10/08 Permalink
Viper119
UK
1090 posts
I generally base my decision on whether they've seen zoolander or anchorman.. etc
09:23am 22/10/08 Permalink
orbitor
Brisbane, Queensland
7757 posts
ask them to describe how they tackle a problem?
have them describe some projects they've worked on and their part in it?
consider giving them a test programming task (they could write .net or pseudocode)?

Imo with software developers you want to determine that they can:
a) actually write code
b) communicate with other people (ie. social reject types are such a hassle)
09:27am 22/10/08 Permalink
3dee
Brisbane, Queensland
2567 posts
Another thing could be - do they actively go and teach themselves things (such as how to use a new API or language theyre interested in, not just if theyre made to use it). Initiative in learning i guess.
09:34am 22/10/08 Permalink
nF
Forum Hero
Wynnum, Queensland
14797 posts
get some sodium pentothal.



TELL ME! HYPOTHETICALLY, WHERE ARE THE CANISTERS!
09:37am 22/10/08 Permalink
Obes
Brisbane, Queensland
6703 posts
Scenarios and written questions let them prepare an answer in writing (say 15/20mins) and then present the solution ?
09:47am 22/10/08 Permalink
TicMan
Melbourne, Victoria
3730 posts
Come up with a list of scenario questions (ie: put them into a situation and ask how they deal with it), what have they done to improve business procedures, whats some examples of positive work, whats some examples of when they screwed up, etc.

Not sure about your style, but I always went in very casual and it worked out good. Tell them not to get too dressed up into suits/ties/etc, take them to a coffee shop, ask about their interests and so on.
09:49am 22/10/08 Permalink
Spook
Brisbane, Queensland
23004 posts
man, job interviews are almost as unplesant for the interviewer, as for hte interviewee, imo
10:49am 22/10/08 Permalink
Nitro
Gold Coast, Queensland
1645 posts
Get them to show you their work. Ask what they did on the project. Make them sell it to you.

Find out where they learn from - are they self learners? Are they still following the same conventions from years ago or do they move with the times?

Then call their previous employers (the ones with AND without references) and find out about their work ethic and time management skills. Sometimes people can be brilliant but have horrible self discipline.
11:38am 22/10/08 Permalink
mission
Brisbane, Queensland
4104 posts
Sometimes people can be brilliant but have horrible self discipline.


I'm living proof of this statement.
11:47am 22/10/08 Permalink
infi
Brisbane, Queensland
9943 posts
nF that was one of the most motherfucken harcore scenes ever on 24. Only Jack Bauer could kill his own brother. Awesome.
11:52am 22/10/08 Permalink
Le Infidel
Netherlands
2393 posts
Not sure about your style, but I always went in very casual and it worked out good. Tell them not to get too dressed up into suits/ties/etc, take them to a coffee shop, ask about their interests and so on.
hehe, that would be quite funny if it was here

I like to make sure they know what they are talking about but wont be too worried if theyre the type of person that can learn. Its different for software engineering though, depends if you want to hire graduates or people wiht experience. If graduates then a test is a must do, otherwise can go back on their experience even though the places I've been at even seniors get tested.

People skills pretty important too as even though they might be good it can be hard to make it work if the team doesnt meld.
11:56am 22/10/08 Permalink
Raven
Melbourne, Victoria
3064 posts
Oh, now this I can help with.

Things I would do when I was interviewing candidates:
0. Tell them about the company. First, or at the very least after they've introduced themselves, before you ask them anything technical.

1. Ask them an impossible question.
An impossible question is something like "How many street lamps are there in Melbourne?", "How many M&Ms have been manufactured?", "How many names are listed in the White Pages?", "How much fueld does a 747 use" etc.
A bad candidate will not even attempt it and just give an "I don't know" answer, only slightly up the scale but still a miserable failure is "I'd search Google", good candidates will go through their working and have some good rationale as to how they went about it.
It doesn't matter if the answer they give is wildly inaccurate, the important part is their procedure.

2. "I want you to design me a house". Give them a whiteboard marker, direct them to the whiteboard.
A bad candidate will start drawing straight away. This is where, when they've finished drawing their proposed house, that you get to point out this house is actually for a family of 17 giraffes.
A good candidate will go through tons of questions before they even show a prototype, and state assumptions.

3. Give them a peiece of obviously bad (but techically correct) code. Ask them to look at it, and ask them if there's anything wrong with it.
Include poorly named variables, little or no exception handling, hardcoded constants, incorrect or no comments (incorrect is better :)... all the kinds of things you would hate to see in "Hello, World!". You can easily do this with half a page/20 lines of code.

Here's a couple I used to use:
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class ReaderTest
{
public static void main(String[] args) throws FileNotFoundException,
IOException
{
String o = "";
BufferedReader r = new BufferedReader(new FileReader(args[0]));
try
{
while (true)
{
o += r.readLine().toString() + "\n";
}
}
catch (Exception e)
{
}
System.out.println(o);
}
}


One for C devs:
/**
* - What would be the flow of this program?
* - Are there any potential bugs in this code?
*/
#include
int main()
{
int a=1;
switch(a)
{ int b=20;
case 1: printf("b is %d\n",b);
default:printf("b is %d\n",b);
break;
}
return 0;
}


For the above code, give the following printout of the output afterwards
[[email protected]] $ gcc printnum.c
(09:13:02) ~/qdc/codetests
[[email protected]] $ ./a.out
b is -1073743760
b is -1073743760

Spoiler:
Answer: Because b is inside the switch the value does not get assigned. Therefore you just get whatever random crap is in that memory address (or 10101010). Also, because of a missing break statement both the case 1 and the default case get executed, hence the duplicated output.


4. They absolutely must write code in their interview. Good examples are something like "reverse a string in place", "Swap two variables without using a third", or other simple algorithms - nothing that should take more than about 6 lines of code.

5. Ask them to criticize [methodology]. Agile ones are great for this.
5a. Later on, ask them what they like in project teams, what they avoid, etc. See if the two match or overlap.

6. For all programmers
· Explain polymorphism
· Explain any code example from http://www.gowrikumar.com/c/index.html
For Java programmers
· Explain how a semaphore works

7. Get them to briefly discuss a recent project they worked on and explain their role. Pick questions randomly from what they say. Press them on some things to make sure they're not talking crap or exaggerating.

8. Deliberately correct them (incorrectly) on something that's correct. See how they react (ie, whether they correct you, agree with you, get frustrated, provide proof... etc).
12:08pm 22/10/08 Permalink
Spook
Brisbane, Queensland
23005 posts
shit, i hope i never have to do a raven job interview!
12:11pm 22/10/08 Permalink
mission
Brisbane, Queensland
4105 posts
Yeah, and that code looks fine to me.
12:13pm 22/10/08 Permalink
eu4ia
Brisbane, Queensland
804 posts
As a guy who's interviewed many candidates in my time, I find the following to be effective:

Create a list of 20 to 30 questions that cover various aspects of .NET development (and SQL / Oracle / whatever tech is relevant). The questions should range from some simple, must-know things to really advanced (even obscure) subjects. The point should be to try to ensure that only really switched on guys could get all of them right.

Then anyone who gets 80% or higher is worth considering for a senior role. If you find someone who gets 100%, you've most likely stumbled across one of the true pros and should definitely make them an offer.

Don't tell them about the questions before hand. You want to know what they know all the time, not what they retain after preparing for a test. As for writing pseudo-code or code, I'm not a big fan of this. It takes up a lot of your time, and these days who writes all code purely from memory? A lot of coding these days (especially in the .NET world) is assisted with intellisense and other development aids. I'm more interested in good practice and design skills than if they can write perfect code. Compiler time to fix stupid syntax is cheap, redesigning flawed logic is expensive.

Oh, and go through the questions verbally. You learn a lot by how fast they answer, and how they get to the answer. Written answers don't give you that insight.
12:14pm 22/10/08 Permalink
Gesthemene
Brisbane, Queensland
418 posts
Raven's approach is damned good. My brother works as a lead software developer for a business intelligence company and the approach Raven laid out is fairly similar to what they do. Apparently, you should be prepared for shitloads of rejections and guys who THINK they're awesome, but can't code for shit.

I know I'm awesome >.> but I also know I can't code for shit :D
12:26pm 22/10/08 Permalink
Opec
Brisbane, Queensland
5350 posts

Yeah, and that code looks fine to me.


If you're referring to the C code, it is _fine_ as far as the syntax goes, it will compile. But it's not "correct" logically because it causes runtime problem , obviously as Raven pointed out. (BTW I did spot the "flaw" before reading the spoiler heh).

Not really much of a java programmer but I'm guessing it'll get stuck in the infinite loop.

/back on topics.

I normally try to ask 1/3 close ended questions and 2/3 open ended questions. Closed ended questions are the ones that requires specific answers for - Raven codes for example. The answers are obvious, this designs to show their technical skills.

Open ended questions are questions such as:

- How would you deal with this situation if xxxx
- How do you think xyz could be done better

etc

These questions would give you the indication of their problem solving skills and also gives you the insights in how they communicate the solutions to you.

Obviously depends on the role you're looking to fill, you may need to change the proportions of the close/open question i.e. for code monkeys more closed questions, for more senior levels, more open ended questions.

My $0.02







12:51pm 22/10/08 Permalink
greazy
South Korea
898 posts
The impossible questions are so fucking retarded that people should be shot for asking them. Instead of the impossible question why don't you just ask one thats relevant to the job and see how they go about working through the problem.

Instead of "HAY DESIGN ME A HOSE" why don't you ask "HAY DESIGN ME A PROGRAM!". You'll achieve the exact same thing except you wont come off like a faggot.
01:11pm 22/10/08 Permalink
Obes
Brisbane, Queensland
6706 posts
1. Ask them an impossible question.
An impossible question is something like "How many street lamps are there in Melbourne?", "How many M&Ms have been manufactured?", "How many names are listed in the White Pages?", "How much fueld does a 747 use" etc.
A bad candidate will not even attempt it and just give an "I don't know" answer, only slightly up the scale but still a miserable failure is "I'd search Google", good candidates will go through their working and have some good rationale as to how they went about it.
It doesn't matter if the answer they give is wildly inaccurate, the important part is their procedure.

See I'd answer that question, "thats a irrelevant question that no one could answer. Anyone that tries to answer it is a bullshit artist. But if you have more parameters on the problem I am sure I could write you program that would guess it"

8. Deliberately correct them (incorrectly) on something that's correct. See how they react (ie, whether they correct you, agree with you, get frustrated, provide proof... etc).

At which point anyone of any quality is going to these guys have serious management issues... the managers are either incompitent or play games. And would say thanks not interested.

Lets assume its game playing (cos you have stated it is), its a trick question, some managers want to be told they are right and everything is wonderful, others want to be told the truth. In other words agree and be damned, disagree and be damned.
01:23pm 22/10/08 Permalink
Mantis
Brisbane, Queensland
307 posts
01:37pm 22/10/08 Permalink
giririsss
Brisbane, Queensland
2992 posts
Yeah, alot of ravens questions don't sort out good candidates, they sort out good interviewee's, 2 very different things.

Quite frankly i'd much rather hire someone who when given an obviously impossible task didn't waste a week or working time reading forums/ mucking about, then come back and say "after research, this is impossible". They should just say, that's impossible, next.

Actually alot of fortune 500 companies used to subscribe to that sort of theory (obscure and cryptic interview questions), and now don't, because they found it helped naught in finding better suited staff. It also put alot of good candidates, off. You know, the ones who aren't interested in a company that goes out of its way to confuse people with questions like that, for no good reason.
01:48pm 22/10/08 Permalink
eu4ia
Brisbane, Queensland
805 posts
At which point anyone of any quality is going to these guys have serious management issues... the managers are either incompitent or play games. And would say thanks not interested.


I agree. Don't forget that while you're interviewing the candidate, your candidate is interviewing you. And that applies more to the good candidates that you want to employ. If you contradict something incorrectly, you come across as confused or ignorant or someone who doesn't check facts. At that point I'd start wondering about the quality of requirements that I'll be asked to develop software for. There's nothing more annoying than dodgy requirements provided by people who only really start thinking about what they want once the software's about to go live.
01:49pm 22/10/08 Permalink
Thundercracker
Brisbane, Queensland
1786 posts
If I was in an interview and the interviewer corrected me (and was incorrect) I wouldn't make a fuss of it and would probably just put it down to stupidity. Unless I was pressed on the issue I wouldn't even bring it up that they got it wrong.

Asking someone to actually code during an interview is interesting, but does not really show you how good someone is at a programming job. A lot of the work you do as a programmer is in a totally different environment, over a totally different time frame, and under totally different pressure. I have been for a number of interviews and have never been asked to actually sit down and code.

I couldn't tell you off the top of my head how to do a lot of very specific tasks (like write an algorithm to do x), but I know where to quickly find answers (not just google). And how do you test the much larger picture of someone's programming skill in a single interview? Such as their usage of patterns or just general design skills.

I guess the roles I have gone for and the ones we look for at my current job involve a lot more than just programming. We don't hire code monkeys, we look for people with better than average analyst skills and communication skills.
02:13pm 22/10/08 Permalink
Opec
Brisbane, Queensland
5352 posts
Yeah personally I never could understand the logic behind getting someone to cut the code during the interview. For me that would simply stretched the interview out for too long and would take your time to prepare (unless you kept using the pre-canned ones and rotate them).

Nor the puzzles in the interview... I don't get what it supposed to tell you. Some people are better at solving puzzles than other people but you're not looking for a puzzle solving champ, you're looking for staff who:

1) Can perform technical tasks
2) Can communicate their solutions and reasoning
3) Will be a good fit for your organisation culture.
4) Can work independently but at the same time will take instructions from other team members.

As far as I can see the puzzle types and coding during interview only answers the first questions. But the open ended type questions will give you a better insights (sure may not be accurate due to this being an artificial circumstances) on how they think and their personality.

I guess different people have different styles.


02:36pm 22/10/08 Permalink
fpot
Gold Coast, Queensland
15636 posts
As a guy who's interviewed many candidates in my time, I find the following to be effective: Create a list of 20 to 30 questions that cover various aspects of .NET development (and SQL / Oracle / whatever tech is relevant). The questions should range from some simple, must-know things to really advanced (even obscure) subjects. The point should be to try to ensure that only really switched on guys could get all of them right. Then anyone who gets 80% or higher is worth considering for a senior role. If you find someone who gets 100%, you've most likely stumbled across one of the true pros and should definitely make them an offer. Don't tell them about the questions before hand. You want to know what they know all the time, not what they retain after preparing for a test. As for writing pseudo-code or code, I'm not a big fan of this. It takes up a lot of your time, and these days who writes all code purely from memory? A lot of coding these days (especially in the .NET world) is assisted with intellisense and other development aids. I'm more interested in good practice and design skills than if they can write perfect code. Compiler time to fix stupid syntax is cheap, redesigning flawed logic is expensive. Oh, and go through the questions verbally. You learn a lot by how fast they answer, and how they get to the answer. Written answers don't give you that insight.
Is the world only 5000 years old?
02:44pm 22/10/08 Permalink
Opec
Brisbane, Queensland
5353 posts

Is the world only 5000 years old?


No don't be stupid it's a lot older than that, but I'm sure it's flat though.
02:47pm 22/10/08 Permalink
Thundercracker
Brisbane, Queensland
1787 posts
I'm now going around the office to all the software engineers and asking them the swap two variables question. Pretty hilarious.
03:00pm 22/10/08 Permalink
Opec
Brisbane, Queensland
5354 posts
I'm also interested to learn how to swap the 2 variables without the third one. Do you use a pointer or something?

I cheated and google but most of the solutions assumed they're numerical types.
03:27pm 22/10/08 Permalink
Opec
Brisbane, Queensland
5355 posts
Oh wait or is it one of those trick question where you can use a function to swap because it's not a third variable but you're using a function call instead? Because it's a "function" it's not a variable so you can use that to answer?

Fuck I hate puzzle.
03:29pm 22/10/08 Permalink
Furgle
846 posts
just use dodgy php

$x = array('X' => $x, 'Y' => $y); $y = $x['X']; $x = $x['Y'];

I think that works for php, but it's so dodgy I feel dirty for having written it.

last edited by Furgle at 16:02:55 22/Oct/08
05:01pm 22/10/08 Permalink
FraktuRe
Gold Coast, Queensland
542 posts
Just do the interview naked.

See what happens.
05:26pm 22/10/08 Permalink
thermite
Brisbane, Queensland
405 posts
1. Ask them an impossible question.
An impossible question is something like "How many street lamps are there in Melbourne?", "How many M&Ms have been manufactured?", "How many names are listed in the White Pages?", "How much fueld does a 747 use" etc.
A bad candidate will not even attempt it and just give an "I don't know" answer, only slightly up the scale but still a miserable failure is "I'd search Google", good candidates will go through their working and have some good rationale as to how they went about it.
It doesn't matter if the answer they give is wildly inaccurate, the important part is their procedure.


So you want employees who lie about what they know?

I think that is the biggest problem in IT - people who give you an answer without actually knowing the answer.

05:33pm 22/10/08 Permalink
paveway
Brisbane, Queensland
8603 posts
1. Ask them an impossible question.
An impossible question is something like "How many street lamps are there in Melbourne?", "How many M&Ms have been manufactured?", "How many names are listed in the White Pages?", "How much fueld does a 747 use" etc.
A bad candidate will not even attempt it and just give an "I don't know" answer, only slightly up the scale but still a miserable failure is "I'd search Google", good candidates will go through their working and have some good rationale as to how they went about it.
It doesn't matter if the answer they give is wildly inaccurate, the important part is their procedure.


my missus has been working in HR for like 9 odd years and she's pretty good at what she does, fairly certain she would think that is retarded
05:37pm 22/10/08 Permalink
Superform
Netherlands
5207 posts
ask em if they play wow

lead em into it by saying the workplace has a guild and they raid alot..

if they say cool i'll transfer over with my tier 56 lock... next

if they got time for wow they aint got time for you
05:42pm 22/10/08 Permalink
Spook
Brisbane, Queensland
23014 posts
ask em if they play wow


haha, last time i hired for the positions i was trying to fill, i was extremely tempted to ask if they played wow, so as to not hire them
05:50pm 22/10/08 Permalink
Strange Rash
906 posts
I know of someone who responded 'have you read my fucking resume?', when asked a .NET question and his resume clearly showed no .NET experience.

He got the job :)

Same guy actually walked out of the interview when the interviewer turned out to be a dick head. Apparently the interviewer didn't take it so well either.

05:51pm 22/10/08 Permalink
Zak
UK
1755 posts
You should have a fair bit of advice by now, but if not feel free to contact me on PM. I work in an internal recruitment role, spending the bulk of my days interviewing people for roles in sales, HR, IT, finance, marketing, admin, etc, for 8 offices globally. May/may not be able to help.
06:47pm 22/10/08 Permalink
Fizzer
Brisbane, Queensland
625 posts
man, job interviews are almost as unplesant for the interviewer, as for hte interviewee, imo


Yeah tell me about it. I used to be so shit scared of job interviews but ever since I've been working I.T. for a recruitment company and seeing the other side of the fence its really opened my eyes to "hey they're just ppl too!"

One thing my work had me do in the second interview (after the initial meet/greet) was they created a test environment of their in house software and broke a few components and set me down to fix them.

I think this works on a few levels - it give them an idea on how good my problem solving/reasoning is and also gave me an idea on the sort of codebase i'd be working on.

I also had a small take home project to do that didn't take more than a few hours.

I should also mention all the recruiter mags atm are calling it a "candidate short market" meaning candidates have pick and choose so as others have said its no longer "I R interviewer impress me" You've got to convince the candidate that they want to work for you and annoying bullshit questions that waste their time isn't achieving that goal.


last edited by Fizzer at 21:12:17 22/Oct/08
09:55pm 22/10/08 Permalink
Fish
Brisbane, Queensland
2647 posts
cool! thanks for the tips guys.

might not do the crazy questions/test type things. not enough time for me to prepare a decent test...

hope we don't end up with a dud.
11:59pm 22/10/08 Permalink
greazy
South Korea
917 posts
how did the interview go?
08:31pm 25/10/08 Permalink
darksidepoints
Melbourne, Victoria
4 posts
Ask them if they actually like programming in .net to see who the liers are.

- Former .net applications developer.
02:32pm 05/02/09 Permalink
Nathan
Canberra, Australian Capital Territory
3074 posts
I've interviewed a lot of people for .NET positions over the last 2 years - maybe 50? - and tried a variety of different things.

Raven's suggestions sound good in theory (and maybe make sense for junior positions), but I 100% agree with eu4ia - questions about API's, design techniques, and so on that can be answered within 30 seconds have provided excellent results.

Some people will argue against this - who memorises APIs, you should test problem solving etc. In my experience though, there's a very high correlation between people who do well on these technical "knowledge" tests and overall ability. I think the reality is that its too much stuff to memorize to try and get through an interview, but the better people just "know" it because they utilise that knowledge every day at work.

I ask various questions about previous employment too, but these are really just to try and evaluate the person's personality. Knowledge tests also have the advantage that its easy to objectively compare candidates.
04:10pm 05/02/09 Permalink
Ross
Brisbane, Queensland
2005 posts
Why don't you just ask them for code examples?
04:59pm 05/02/09 Permalink
BillyHardball
Brisbane, Queensland
8699 posts
Interview performance is very rarely correlated with job performance. Often, people think they can pick good employees by talking to them and asking them different questions, but when you do the stats, it's all bullshit. The best indicator of future performance is past performance.
05:11pm 05/02/09 Permalink
Jim
Brisbane, Queensland
9139 posts
it is the best indicator, but past performance isn't usually available in the form required for subsequent employers. and I disagree totally with the former part of your post
05:14pm 05/02/09 Permalink
BillyHardball
Brisbane, Queensland
8701 posts
Well you know what they say about research - it's all made up anyway, right?
05:19pm 05/02/09 Permalink
sparrow
Brisbane, Queensland
174 posts
Well you know what they say about research - it's all made up anyway, right?

I thought they said it's how you interpret it :p

That said, I agree with the original sentiment that interview performance rarely indicates what job performance will be - kinda makes the process slightly depressing and frustrating.
05:22pm 05/02/09 Permalink
Nathan
Canberra, Australian Capital Territory
3075 posts
That may be true in the general sense - particularly for manager roles, creative roles, etc - but something like IT or engineering I think you can get a pretty high correlation.

I certainly do (or I'm just lucky)

I think 'write code' tests take a comparatively long time, and have a relatively narrow scope. They're perhaps useful for figuring out if someone can code at all, but not so useful for trying to distinguish between average, good, and great.
05:26pm 05/02/09 Permalink
stinky
Brisbane, Queensland
3043 posts
get two of the same boxes of lego. Give them one pack and tell them to make anything other than what's on the instructions and you'll call them in 10 mins on the phone to see if they're done.

call them in 10 minutes from your office with the other box of lego and tell them to instruct you how to make the same thing they've made.

Is an excellent test of them being able to patiently explain unfamiliar concepts.
06:51pm 05/02/09 Permalink
Obes
Brisbane, Queensland
7161 posts
That or it might just be an excuse to buy lego on the company credit card
07:05pm 05/02/09 Permalink
Dazhel
Gold Coast, Queensland
82 posts
That interview situation sounds too weird.

My future boss...
Wants to play lego with me...
Hmm.
08:02pm 05/02/09 Permalink
adBot
ads
Internet
--
ads keep websites free
08:02pm 05/02/09 Permalink
AusGamers Forums
Show: per page
1
This thread is archived and cannot be replied to.
 

Advertise with Us | Download Media Kit | Privacy Policy | Contact Us
© Copyright 2001-2013 AusGamers™ Pty Ltd. ACN 093 772 242.
A Mammoth Media web development, hosted by Mammoth VPS.