Appropriate Interviewing For a Worldwide Search?
jellomizer writes 'I am a manager of a small Software Development department, looking to hire some more developers. By edict of the CEO, the search must be made globally, so we are dealing with different cultures and different ideas of truth and embellishment, etc. To try to counteract this, we give the potential employees tests where I watch what they do, to see if they actually know what they say they know. However, it seems a lot of applicants drop out when I mention that this test is mandatory. Is this a sign that we caught them in a lie, or are we weeding out good people where we shouldn't be? Would you be willing to take a test as part of an interview? If so, is there any type of heads up you would like to know beforehand to make the decision of whether to take the test easier?' What other difficulties have people seen while trying to hire from many different cultures?
I know there are definitely people who refuse to take a test out of principle. I'm not really sure what principle this is; maybe it's that they do poorly on testing in general. But we have been burned too many times by people who know how to talk the talk but turn out to have very little real skill. Sometimes too, there are multiple similarly skilled candidates to choose from. Giving them a coding test; especially an open-ended one can give you some insight into the sort of developer they are. Some people will be a better fit for the team just out of the approaches they tend to take toward problem solving.
Also, tests must be taken in-person. We do not allow phone or otherwise remote test taking. There are a lot of really unscrupulous agencies and individuals out there. Some of them have you interview with a different person than who they claim to be, including the person who will take the tests if any. The guy completely aces your questions and really knocks your sock off with his knowledge. Then he shows up, and his voice sounds different. You put him in front of a keyboard, and he asks you which key is the "Any" key.
The thing is, it's no offense meant to the interviewee. Indeed, just as it protects our interests to be certain that we hire a qualified developer, it's in your interests too (if you are a qualified developer) - the fewer and more quickly we sort through the deadbeats, the faster we get a job to a person who deserves it. It's not that you'll necessarily lie to us, it's that there are plenty of people out there who will, and until we really get to know you, the only way to tell the difference is to require you to answer questions that only a qualified individual is able to.
Slay a dragon... over lunch!
Sorry, but when I did I saw them go screwy so many times. almost always of you didn't do it the predetermined way you were wrong, or if you answered with an answer someone didn't know, you were wrong..
Plus after 15 years I find it a tad insulting.
The Kruger Dunning explains most post on
hire them as a contractor for 30 days.
I've been hired into bigger projects many times that way.
The Kruger Dunning explains most post on
I knew a guy once who, when he got a large fungible job in, would put out a want ad and "interview" people exactly as you describe. He'd literally get hundreds of hours of free labor this way, and the bastard knew he'd never be called on it.
It is for exactly this reason that I don't work for free during interviews. If my prospective boss isn't sharp enough to know that I know my stuff after a brief conversation and a look at my credentials, then I'll happily work for his competition.
He put his boots up on the table and made a face. "The sig," he smirked. "You can waste your life in search of the sig."
I'm starting to think that our interviews here should literally be: give them a day's work and see how they do.
At my current job (Which required relocating out of state), I was basically given something like this. After the initial round of phone interviews, I signed an NDA, and was given a design specification for part of the product that I would be working on. I was told to ask whatever I needed clarification with, and to keep track of my hours so they could pay me when I was finished, regardless of whether I was hired or not. After I thought I was done, I submitted my project. They had a few revisions that they wanted, so they sent it back to me to see what I did with it, and presumably see how I handled needing to make changes.
Once they approved my work, I was flown on-site for the final interviews. During those, they asked about my project, why I had done things certain ways, and different ways that I had considered completing it. The project took me about 25 hours of work to complete. The day after the interview, I was offered the position.
In the end, the project that I had worked on was incorporated into the software that we released. From what I've heard, all new-hires go through this process, all with a different project to complete. It seems to work well for the company, we've got a very high retention rate.
If someone doesn't interview (or worse, complete an interview) because of a test I don't care how smart they are. They're too much of a prima donna. I've been in situations where an interview had tests that were way beneath my skill level, and in those cases I've either known immediately that the job I was interviewing for wasn't for me, asked the interviewer if there were more high level jobs available, or helped them fix their test. (In one case the test had questions that helped answer previous questions, so I helped them fix it.) In all cases I impressed the interviewer enough to get the job.
I worked with a guy who had interviewed with Creative (the cound card guys). He came in for the interview and they gave him a sampel of code from one fo their drivers, and asked him to spot the problem. He asked for one of the linked libraries, and they had an engineer come in and bring it up for him. It was about this time that he realized he must be looking at production code.
He spent another hour debugging the problem then turned to his interviewer and said "I figured out what the problem was, but if you want to know, this will be my first day." They hired him on the spot and payed him eight hours for the interview.
FanFictionRecs.net
so somebody who is actually learning outside of their everyday requirements, somebody who is raising their qualification and is able to apply this knowledge when it is needed... is the worst candidate for you ?
you would be more interested in somebody so narrowly focused and unwilling to learn new things unless forced, only because he doesn't "browse the internet" ?
i would say that an employee that has the desire to learn, has learned something outside their primary work requirements AND knows how to apply that in real world scenario is the most valuable one of those 3 generalised categories.
Rich
Many moons ago when I was doing coding jobs I had a series of interviews that required me to code stuff to demonstrate what I knew. I was looking to move away from my current job into new areas and didn't know how they worked but they all seemed to ask the same thing
1) Code something
2) Take a coding test
What I learnt very quickly was that lots of people are really looking to hire people not quite as smart as they are. I knew this because I had three interviews where the following happened
Interview 1:
Set an "impossible" task to code (in C) an address book and calendar solution with a GUI (this is the mid-90s) in 6 hours. No internet connection and no reference books.
3 hours later I set off to find the interviewer in the pub.
Interview 2:
Set a series of questions around "write the most effective code to do X".
There were 10 questions and I answered them in 10 different programming languages (Ada, C, Prolog, C++, Eiffel, 68k assembler, LISP, SQL, COBOL, Fortran) and the chap interviewing me didn't have a clue if I was right or wrong.
Interview 3:
They had a major bug in a current release, my job was to find the bug and explain why it happened. I knew free work when I saw it. It was a big C programme and it took me 4 hours to find the bug (pointer referencing problem). I wandered into the office of the person setting the "test" and said...
"How much to tell you the answer"
I didn't go for any of these. What I went for, and what I have done since, is go for the company that set me an abstract test that asked me to design a system which had a number of constraints. They didn't want code, just to see the conceptual model that I would create. When I joined I asked why they did it this way and the answer was enlightening....
"Because we want to hire smarter people than we are. If you talk code then its just about optimising, but if you talk about the abstract then its about thinking. We want people who give us answers we think are wrong and then they explain why we are wrong."
The key point was to give people a limited time (15-30 minutes) to understand the problem and propose the solution. You want people who are agile and quick, not people who can sit on their arses for 6 hours doing a troll job.
If you want to hire people dumber than you, set complex long tests that "only you" know the answers to. If you want to hire smart thinking people set very short tests that challenge their abstract thinking.
An Eye for an Eye will make the whole world blind - Gandhi
One C++ shop I worked in we used to have a short sample C++ program (~~ 2 pages long) that was deliberately written to contain a large number of problems, many obvious and some quite subtle. It was an "Animals" style example program so manifestly not production code. We asked candidates to examine the program and find as many of these problems as they could then suggest better ways of achieving the same thing.
We weren't terribly interested in how many problems they actually found but were vitally interested in how they approached the analysis and how deeply they understood object orientated design and the C++ version of that paradigm.
It was great fun to write and we eliminated quite a few posers with this tool.