Take home interviews are a great indicator of a company's hubris. "Its so awesome to work here people are going to jump at the chance to do my 3 hour homework assignment". The problem with them is fundamental: "You will only get someone desperate enough to take your exam." If the person is qualified they will be swimming in opportunities and will likely throw your exam directly in the trash heap. If they aren't you p…
Take-home interviews
91–100 of 295 posts
Re: Take-home interviews
#92Software developers huh! What other role requires you to complete an exam to be considered for a job (or even just an interview). Moreover a 4-8 hour exam with no syllabus. No 'past papers' etc. I think this should stop. In it's place, developers can have a pet open-source project, which they submit with their application. The point is that the same project can be submitted for a hundred applications if needed, savin…
> What other role requires you to complete an exam to be considered for a job (or even just an interview). Moreover a 4-8 hour exam with no syllabus. No 'past papers' etc As far as I can tell, essentially all of them. Of course, many of them have no practical way to even attempt to assess competence, so they fall back on "situational" and "culture fit" bullshit. > I think this should stop. In it's place, developers c…
Get them to talk about it in the interview
> Problem the 2nd: building and maintaining a non-trivial open source project is a huge investment of time...
Not really - in one weekend you probably can create something interesting and good enough for showing off to an employer. Also it will probably draw you in and you spend more time (for the fun of it) making it better. But you don't have to.
For those people who prefer FizzBuzz tests to implementing interesting stuff, I suggest companies provide the option to do a test for those who don't want to submit their project code.
> Good luck with that co-ordination problem.
A first stage could be that we say "no tests until at least an interview has occurred and the candidate has progressed to the next stage". That is in any candidates own interests regardless of other's actions - so wouldn't require coordination, just communication of the idea. It is in his own interests because the time spent on the speculative work could be better yielded doing something else, such as attending a meetup and generating more opportunities. Looking at it from a sales perspective of how to spend your time - lead qualification, lead generation etc. Why spend a lot of effort on an unqualified lead?
Re: Take-home interviews
#93Software developers huh! What other role requires you to complete an exam to be considered for a job (or even just an interview). Moreover a 4-8 hour exam with no syllabus. No 'past papers' etc. I think this should stop. In it's place, developers can have a pet open-source project, which they submit with their application. The point is that the same project can be submitted for a hundred applications if needed, savin…
> What other role requires you to complete an exam to be considered for a job (or even just an interview). Moreover a 4-8 hour exam with no syllabus. No 'past papers' etc As far as I can tell, essentially all of them. Of course, many of them have no practical way to even attempt to assess competence, so they fall back on "situational" and "culture fit" bullshit. > I think this should stop. In it's place, developers c…
Have them discuss the code in depth. Architectural and design decisions, coding conventions, alternate approaches they rejected, etc. Pretty hard to fake this if they didn't write the code.
"Problem the 3rd: evaluating a large, unfamiliar codebase is actually really hard."
Good chance to assess the candidate's ability to document. :)
More seriously, though, this is again an opportunity for the candidate to walk you through the code.
Re: Take-home interviews
#94Seems good, I like the choice. In discussions on this topic I see a lot of: "Programming on the spot is hard, let people program at home"! But then other people say "Why should I program for free at home, my resume clearly shows I am already a skilled programmer. All this will do is cater to young people without families, or those fresh out of school". I am not looking to hire devs right now, but I am thinking about…
> Would expect it to take maybe 5 hours to code. So, if you are interviewing at 20 companies, you need to expend 100+ hours or almost 3 full work weeks ? It should take 1 hour or less. Period. Probably less that 1/2 hour. I doubt I get much more information asking you for a 5 hour assignment than a 1/2 hour assignment. If I'm really that interested in your programming on the fly, I should do it at the interview where…
That's a lot of companies to entertain! When I was interviewing, I could barely maintain the composure to interview with 3 companies! (Only one of which had a take-home assignment.)
Re: Take-home interviews
#95Software developers huh! What other role requires you to complete an exam to be considered for a job (or even just an interview). Moreover a 4-8 hour exam with no syllabus. No 'past papers' etc. I think this should stop. In it's place, developers can have a pet open-source project, which they submit with their application. The point is that the same project can be submitted for a hundred applications if needed, savin…
Sounds good in theory. But if enough companies started doing this, I can guarantee you that Indian companies will spring that will offer to create an open source project for you for $100 to $1000 depending on complexity of project, and amount of activity the github profile would show. I wish I was kidding.
Re: Take-home interviews
#96Seems good, I like the choice. In discussions on this topic I see a lot of: "Programming on the spot is hard, let people program at home"! But then other people say "Why should I program for free at home, my resume clearly shows I am already a skilled programmer. All this will do is cater to young people without families, or those fresh out of school". I am not looking to hire devs right now, but I am thinking about…
I share this opinion, but only for certain ways of doing it. If it's done in a fully automated way, before even having a phone screen, then it's too easy to waste my time. As an alternative to the whiteboarding interview, however, it could be great.
Re: Take-home interviews
#97Earlier quoted context omitted.
> 2 - Can you really ferret out cheating? I had a grad school classmate who paid someone to do his (non-programming) take-home homework for a job interview, and he got the job. He only lasted 6 or 7 months, but it was enough to be awful for all parties involved. I don't have a great counter-solution other than ask for someone to come in to the office to do the work, and even then you can't tell if they have remote su…
I hear you on unskilled interviews. I guess the challenge in this situation is that the whole reason for take-home work is that introverted interviewees get flustered in person. Won't this happen when the review happens? This still seems like a better idea than "Tell me about yourself" and "How many golf balls fit in a 747?"
At that point, the candidate should not be hired.
If the candidate can't communicate while writing code, and can't communicate about code already written, at some point you have to be afraid the candidate just can't communicate.
If this is a person who can communicate in any situation except an interview situation, then it's a Catch 22 where their ability to communicate in a work environment just can't be verified.
(Unless you secretly record them communicating in some other work context? Probably not a scalable approach.)
Re: Take-home interviews
#98I thought Gayle Laakman McDowell, who wrote "Cracking the Coding Interview", wrote a good article about the problems of take-home interviews. http://www.gayle.com/blog/2013/09/18/companies-who-give-cand... At the core of the problem is that this approach can be used to burn a lot of a candidate's time without an equivalent investment from the company. I've mentioned this before - I applied (maybe 5 years ago) to a co…
So out of dozens of CVs, a handful will be invited to a personal interview, and maybe one or two people will actually get the home test. I get that it's time consuming so I try not to waste people's time if I'm not serious about them. On a couple of occasions when people said they're time limited, interviewing for a lot of places, etc - I've allowed them a one hour on site task that is of course simpler.
And it's very rare that people are rejected based solely on the code in the home test, it usually has more factors than that. But if you have two good candidates, it might help tip the balance in favor of one of them.
BTW I don't only review the code. I find that the quality of the documentation (not only comments - I ask for a short text describing the design choices, code structure, etc) is usually one of the best signals. Bad grammar and poor language, complicated descriptions of simple things, focusing on unimportant parts - are huge telltales of problems in a person's thinking. Clear, well versed, concise text usually indicates a smart and pragmatic person.
Re: Take-home interviews
#99Earlier quoted context omitted.
If you read the article, the second part of the interview is doing more work on top of the project, but in front of people. I've gone through interviews like that before. Do two steps on a three step kata in front on your own time, and then a 2/3 hour interview to talk about what you wrote, and add the last piece to the kata. Not very easy to fake. Any experienced programmer that is considering a job change will spen…
Won't the same programmer who got flustered in front of a white board also get flustered explaining the code? I'm being the devils advocate here, trying to hone in on the best way to do this. I still think work products are a much better predictor than most any other interviewing technique.
Coming up with something that works, versus explaining why it works or why you did it that way after the fact.
I think it's the "thinking out loud" part before you have a solution, that can fluster a lot of introverts.
Re: Take-home interviews
#100Seems good, I like the choice. In discussions on this topic I see a lot of: "Programming on the spot is hard, let people program at home"! But then other people say "Why should I program for free at home, my resume clearly shows I am already a skilled programmer. All this will do is cater to young people without families, or those fresh out of school". I am not looking to hire devs right now, but I am thinking about…
I recently graduated from college and started looking for my first programming jobs. I ran into a ton of these "take home" interviews and they were some of the most stressful things I've ever done. The first one, they asked me to solve an incredibly complex math problem that I had no idea about so I struggled with it for 5 or so hours before giving up. Probably good that they didn't give me the job; if they were expe…
1. A very loose time limit. Maybe, as a rule of thumb, at least 10x the time you expect the challenge to take (so, a 1-hour challenge is given a 10-hour limit to turn it in, and a 5-hour challenge is given two days). If you expect it to be done in real time, why they heck don't you just bring the candidate in for a normal interview?
2. If the challenge is expected to take more than, say, 5 hours, the candidate should be paid for their time. Long challenges are going to disincentive candidates with lots of good alternatives to your company, so compensating them as in your own interest if you want good engineers to make it through your process. Plus, it's a strong signal that you value their time.
3. The challenge should be as close as possible to the sort of thing you do day-to-day. This should be obvious, but don't ask math questions or graph traversal questions unless this sort of thing comes up regularly in the job you're hiring for.
4. The candidate should be given an opportunity to discuss their solution. In real-life code, a seemingly stupid decision is may well be totally justifiable, but not obviously so from the code itself.
5. The candidate always gets an explanation of why they were rejected. At one company I worked at, I was in the position of reviewing takehome tests (which were one component of a longer process which involved some on-site coding). I had to write those explanations, and I know it's hard. It's easy to say "your skills are not a good fit at this time", but it's hard to tell someone you don't know what's wrong with something they put a lot of work into. It's still worth doing.