3 ms·
There's a difference between being able to come up with a solution in 1 hour vs being able to come up with a solution in 1 hour on a whiteboard, with no interne
by lewisl9029 11y ago
There's a difference between being able to come up with a solution in 1 hour vs being able to come up with a solution in 1 hour on a whiteboard, with no internet access, and with someone breathing down your neck the whole time.
If your company has a genuine need to screen candidates for their ability to perform under the special conditions of the latter, then by all means, set up your interviews with those special conditions. Otherwise, I feel you'd be better served by an interview that more closely emulates the actual working environment that your employees work under.
My ideal technical interview would be one where the candidate is assigned a problem that is representative of the work that they're being hired for, and then left alone to work on it for an hour or two in their own preferred working environment, and then the interviewer and candidate can meet up and demo the solution and discuss implementation details.
- ksk 11y ago>There's a difference between being able to come up with a solution in 1 hour vs being able to come up with a solution in 1 hour on a whiteboard, with no internet access, and with someone breathing down your neck the whole time. You can usually fit about 15 lines of code on a whiteboard which tends to bias questions to simple logic questions. Why do you need internet access? Also why does someone have to breath down your neck? They could leave you alone for 45 minutes and come back. >Otherwise, I feel you'd be better served by an interview that more closely emulates the actual working environment that your employees work under. Why do you feel this way? I think that programmers should have as many programming related patterns memorized as possible - For e.g. How to compose different kinds of programs when given different resource restrictions, or having basic algorithmic concepts in their head so they can quickly choose one over the other. A programming test should immediately indicate if the candidate has such things on the tip of their tongue or not. In much the same way as you don't open a high school physics textbook when you go about building an airplane, you don't want someone who has to google basic programming knowledge that they should just have in their head. IME, when you start with a very high level of intrinsic knowledge it's much easier to make connections and come up with unique solutions, because your not constantly 'searching' for things. Instead you're just 'picking' the right building blocks. Or maybe trying to quickly eliminate obviously bad choices. Ofcource there is much more nuance, but you can't state everything in a single comment ! :")
- lewisl9029 11y ago> Why do you feel this way? For the same reason why I feel whiteboarding and having someone breathing down your neck are generally not reasonable conditions to place on a candidate (and you seem to agree with me for these two points, so I'll only expand on the point about internet access): It doesn't make sense to place artificial limits on candidates' abilities to perform their work, when that's exactly what you're trying to gauge in a technical interview. RE: internet access. As with natural language, developers tend to have an active vocabulary (concepts and APIs that they come across often and can recall on demand), a passive vocabulary (concepts and APIs that they may be aware of and recognize, but cannot apply immediately or without reference), and a set of completely unknown vocabulary. Yes, developers should strive to build and maintain our active vocabulary to the greatest extent possible (i.e. memorize all the things) since it would make us more productive. However, human active memory is severely limited compared to the vast amount of knowledge developers often need to perform their work, and as such the vast majority of most developers' knowledge tends to reside in their passive vocabulary. To force candidates to develop without internet access means limiting them to their active vocabulary, when this is only a tiny subset of their total vocabulary. This means you won't get an accurate picture of their ability to perform their work, which is exactly what we're trying to gauge in a technical interview.