|
![]() |
|
| Author |
|
|||||||
|
Fish
Posts: 2646
Location: Brisbane, Queensland
|
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?
|
|||||||
| #0 09:15am 22/10/08 |
|
|||||||
|
system
|
--
|
|||||||
| #0 |
|
|||||||
|
paveway
Posts: 8600
Location: Brisbane, Queensland
|
get a proper hr person?
|
|||||||
| #1 09:16am 22/10/08 |
|
|||||||
|
mission
Posts: 4102
Location: Brisbane, Queensland
|
Hire the one with the biggest boobs. (excluding fat nerdy males)
|
|||||||
| #2 09:21am 22/10/08 |
|
|||||||
|
Viper119
Posts: 1090
Location: UK
|
I generally base my decision on whether they've seen zoolander or anchorman.. etc
|
|||||||
| #3 09:23am 22/10/08 |
|
|||||||
|
orbitor
Posts: 7757
Location: Brisbane, Queensland
|
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) |
|||||||
| #4 09:27am 22/10/08 |
|
|||||||
|
3dee
Posts: 2567
Location: Brisbane, Queensland
|
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.
|
|||||||
| #5 09:34am 22/10/08 |
|
|||||||
|
nF
Forum Hero
Posts: 14797
Location: Wynnum, Queensland
|
get some sodium pentothal.
http://images.projectstripe.com/jackchokesgraeme.jpg TELL ME! HYPOTHETICALLY, WHERE ARE THE CANISTERS! |
|||||||
| #6 09:37am 22/10/08 |
|
|||||||
|
Obes
Posts: 6703
Location: Brisbane, Queensland
|
Scenarios and written questions let them prepare an answer in writing (say 15/20mins) and then present the solution ?
|
|||||||
| #7 09:47am 22/10/08 |
|
|||||||
|
TicMan
Posts: 3730
Location: Melbourne, Victoria
|
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. |
|||||||
| #8 09:49am 22/10/08 |
|
|||||||
|
Spook
Posts: 23004
Location: Brisbane, Queensland
|
man, job interviews are almost as unplesant for the interviewer, as for hte interviewee, imo
|
|||||||
| #9 10:49am 22/10/08 |
|
|||||||
|
Nitro
Posts: 1645
Location: Gold Coast, Queensland
|
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. |
|||||||
| #10 11:38am 22/10/08 |
|
|||||||
|
mission
Posts: 4104
Location: Brisbane, Queensland
|
Sometimes people can be brilliant but have horrible self discipline. I'm living proof of this statement. |
|||||||
| #11 11:47am 22/10/08 |
|
|||||||
|
infi
Posts: 9943
Location: Brisbane, Queensland
|
nF that was one of the most motherf***en harcore scenes ever on 24. Only Jack Bauer could kill his own brother. Awesome.
|
|||||||
| #12 11:52am 22/10/08 |
|
|||||||
|
Le Infidel
Posts: 2393
Location: Netherlands
|
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. |
|||||||
| #13 11:56am 22/10/08 |
|
|||||||
|
Raven
Posts: 3064
Location: Melbourne, Victoria
|
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; One for C devs: /** For the above code, give the following printout of the output afterwards [trowe@sahal.local] $ gcc printnum.c 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). |
|||||||
| #14 12:08pm 22/10/08 |
|
|||||||
|
Spook
Posts: 23005
Location: Brisbane, Queensland
|
s***, i hope i never have to do a raven job interview!
|
|||||||
| #15 12:11pm 22/10/08 |
|
|||||||
|
mission
Posts: 4105
Location: Brisbane, Queensland
|
Yeah, and that code looks fine to me.
|
|||||||
| #16 12:13pm 22/10/08 |
|
|||||||
|
eu4ia
Posts: 804
Location: Brisbane, Queensland
|
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. |
|||||||
| #17 12:14pm 22/10/08 |
|
|||||||
|
Gesthemene
Posts: 418
Location: Brisbane, Queensland
|
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 s***loads of rejections and guys who THINK they're awesome, but can't code for s***.
I know I'm awesome >.> but I also know I can't code for s*** :D |
|||||||
| #18 12:26pm 22/10/08 |
|
|||||||
|
Opec
Posts: 5350
Location: Brisbane, Queensland
|
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 |
|||||||
| #19 12:51pm 22/10/08 |
|
|||||||
|
greazy
Posts: 898
Location: South Korea
|
The impossible questions are so f***ing 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 f*****. |
|||||||
| #20 01:11pm 22/10/08 |
|
|||||||
|
Obes
Posts: 6706
Location: Brisbane, Queensland
|
1. Ask them an impossible question. See I'd answer that question, "thats a irrelevant question that no one could answer. Anyone that tries to answer it is a bulls*** 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. |
|||||||
| #21 01:23pm 22/10/08 |
|
|||||||
|
Mantis
Posts: 307
Location: Brisbane, Queensland
|
||||||||
| #22 01:37pm 22/10/08 |
|
|||||||
|
giririsss
Posts: 2992
Location: Brisbane, Queensland
|
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. |
|||||||
| #23 01:48pm 22/10/08 |
|
|||||||
|
eu4ia
Posts: 805
Location: Brisbane, Queensland
|
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. |
|||||||
| #24 01:49pm 22/10/08 |
|
|||||||
|
Thundercracker
Posts: 1786
Location: Brisbane, Queensland
|
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. |
|||||||
| #25 02:13pm 22/10/08 |
|
|||||||
|
Opec
Posts: 5352
Location: Brisbane, Queensland
|
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. |
|||||||
| #26 02:37pm 22/10/08 |
|
|||||||
|
fpot
Posts: 15636
Location: Gold Coast, Queensland
|
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? |
|||||||
| #27 02:44pm 22/10/08 |
|
|||||||
|
Opec
Posts: 5353
Location: Brisbane, Queensland
|
No don't be stupid it's a lot older than that, but I'm sure it's flat though. |
|||||||
| #28 02:48pm 22/10/08 |
|
|||||||
|
Thundercracker
Posts: 1787
Location: Brisbane, Queensland
|
I'm now going around the office to all the software engineers and asking them the swap two variables question. Pretty hilarious.
|
|||||||
| #29 03:00pm 22/10/08 |
|
|||||||
|
Opec
Posts: 5354
Location: Brisbane, Queensland
|
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. |
|||||||
| #30 03:27pm 22/10/08 |
|
|||||||
|
Opec
Posts: 5355
Location: Brisbane, Queensland
|
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?
f*** I hate puzzle. |
|||||||
| #31 03:29pm 22/10/08 |
|
|||||||
|
Furgle
Posts: 846
Location:
|
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 |
|||||||
| #32 05:02pm 22/10/08 |
|
|||||||
|
FraktuRe
Posts: 542
Location: Gold Coast, Queensland
|
Just do the interview naked.
See what happens. |
|||||||
| #33 05:26pm 22/10/08 |
|
|||||||
|
thermite
Posts: 405
Location: Brisbane, Queensland
|
1. Ask them an impossible question. 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. |
|||||||
| #34 05:33pm 22/10/08 |
|
|||||||
|
paveway
Posts: 8603
Location: Brisbane, Queensland
|
1. Ask them an impossible question. 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 |
|||||||
| #35 05:37pm 22/10/08 |
|
|||||||
|
Superform
Posts: 5207
Location: Netherlands
|
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 |
|||||||
| #36 05:42pm 22/10/08 |
|
|||||||
|
Spook
Posts: 23014
Location: Brisbane, Queensland
|
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 |
|||||||
| #37 05:50pm 22/10/08 |
|
|||||||
|
Strange Rash
Posts: 906
Location:
|
I know of someone who responded 'have you read my f***ing 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. |
|||||||
| #38 05:51pm 22/10/08 |
|
|||||||
|
Zak
Posts: 1755
Location: UK
|
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.
|
|||||||
| #39 06:47pm 22/10/08 |
|
|||||||
|
Fizzer
Posts: 625
Location: Brisbane, Queensland
|
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 s*** 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 bulls*** questions that waste their time isn't achieving that goal. last edited by Fizzer at 21:12:17 22/Oct/08 |
|||||||
| #40 10:12pm 22/10/08 |
|
|||||||
|
Fish
Posts: 2647
Location: Brisbane, Queensland
|
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. |
|||||||
| #41 11:59pm 22/10/08 |
|
|||||||
|
greazy
Posts: 917
Location: South Korea
|
how did the interview go?
|
|||||||
| #42 08:31pm 25/10/08 |
|
|||||||
|
darksidepoints
Posts: 4
Location: Melbourne, Victoria
|
Ask them if they actually like programming in .net to see who the liers are. - Former .net applications developer. |
|||||||
| #43 02:32pm 05/02/09 |
|
|||||||
|
Nathan
Posts: 3074
Location: Canberra, Australian Capital Territory
|
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. |
|||||||
| #44 04:13pm 05/02/09 |
|
|||||||
|
Ross
Posts: 2005
Location: Brisbane, Queensland
|
Why don't you just ask them for code examples?
|
|||||||
| #45 04:59pm 05/02/09 |
|
|||||||
|
BillyHardball
Posts: 8699
Location: Brisbane, Queensland
|
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 bulls***. The best indicator of future performance is past performance. |
|||||||
| #46 05:11pm 05/02/09 |
|
|||||||
|
Jim
Posts: 9139
Location: Brisbane, Queensland
|
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
|
|||||||
| #47 05:14pm 05/02/09 |
|
|||||||
|
BillyHardball
Posts: 8701
Location: Brisbane, Queensland
|
Well you know what they say about research - it's all made up anyway, right? |
|||||||
| #48 05:19pm 05/02/09 |
|
|||||||
|
sparrow
Posts: 174
Location: Brisbane, Queensland
|
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. |
|||||||
| #49 05:22pm 05/02/09 |
|
|||||||
|
Nathan
Posts: 3075
Location: Canberra, Australian Capital Territory
|
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. |
|||||||
| #50 05:31pm 05/02/09 |
|
|||||||
|
stinky
Posts: 3043
Location: Brisbane, Queensland
|
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. |
|||||||
| #51 06:51pm 05/02/09 |
|
|||||||
|
Obes
Posts: 7161
Location: Brisbane, Queensland
|
That or it might just be an excuse to buy lego on the company credit card
|
|||||||
| #52 07:05pm 05/02/09 |
|
|||||||
|
Dazhel
Posts: 82
Location: Gold Coast, Queensland
|
That interview situation sounds too weird.
My future boss... Wants to play lego with me... Hmm. |
|||||||
| #53 08:02pm 05/02/09 |
|
|||||||
|
system
|
--
|
|||||||
| #53 |
|
|||||||
|
| ||||||||