6 ms·
What if it's a coding challenge that is purposely timeboxed to 4-6 hours? At my previous job, we asked applicants to write a piece of software that would model
by posixplz 9y ago
What if it's a coding challenge that is purposely timeboxed to 4-6 hours?
At my previous job, we asked applicants to write a piece of software that would model the org chart for any given employee, enumerating their hierarchical relationships as well as their peer relationships. We may have thrown in an additional complexity or two, but we also removed a lot of requirements (no i/o or database, no user interface; we only sought application logic). Candidates were required to solve the problem in the language of their choice, spending between 4-6 hours on the exercise. The instructions were otherwise intentionally ambiguous.
By specifically calling out an amount of time, and requesting that candidates not spend more or less time, we drew conclusions about:
* Candidate's ability to derive features from imperfect 'business requirements'
* Ability to know when something is 'done' given time restrictions
* Understanding/handling of implied but not explicit edge cases
* Creative thinking
* Tendency for writing testable code
As one can imagine, this weeds out lots of individuals who exhibit tendencies deemed "undesirable" for this role. Scope creep, missed requirements, untestable code, code that doesn't actually work, solutions written in unsuitable languages (Django? Really?) and the list goes on. You'd be amazed what people return when asked to perform a 4-6 hour coding exercise.
- deleted 9y ago[deleted]
- hartator 9y agoI've done several of those. I think there is a luck factor involved. One company asked to pick a language I didn't know before end, it was just okay - because I truly didn't know the language before. Another picked a maze puzzle that I thought was fun, and I did it well. Anyway 4-6 hours is still a lot of time, specially when you have a resume + github that is showing you should already know your shit. You can false positives and false negatives very easily with a test like this. I think the best approach is to select 3 candidates based on feeling/resume/github/etc, give them a true piece of code to wrote that will be used for real. Give them a week, but pay them real money. Hire the best.
- rhizome 9y agoI recently had a 4hr test app to model a particular set of scheduling requirements over a calendar year. I could not finish it satisfactorily in time, which told me that either I was a crap programmer (possible) or that there was some common algo for this purpose that I didn't know. Of course these two reasons may be the same one: crap programmer.
- WorldMaker 9y agoSimilarly, I've had a couple of these where my response is a detailed discussion of why the problem given was at least NP-Hard, and here's a good academic paper on the trade-offs of the most popular algorithm, which would take me a good several days to implement correctly (or even better here's this trusted open source implementation of it). To me, that feels like that research was a better use of my 4 hour block of time, but yet I've gotten feedback that I must be a crap programmer if I'm not going to waste 4 hours brute forcing my way to an unsatisfactory answer. I don't know how some of those companies work, but I'd much rather work smarter than harder and step 1 in the real world, to my judgment, is often "research the problem and see how other people solved it", whether that's via academic algorithm research papers or StackOverflow depends on the type of problem.
- uffjedn 9y agoThere is a third one where the deadline is knowingly set too low to see how you deal with time trouble.
- rhizome 9y agoThat thought did occur to me, but they denied me anyway, so :shrug:.
- WorldMaker 9y ago4-6 hours is still half to two-thirds of a business day. If I'm actively employed, I have to schedule a vacation day for that or lose precious work/life balance time. Even if I'm not actively employed at the time, I know the ancient wisdom is to spend your job search as if it were a full time job, but that isn't advice meant to mandate individual candidate employers independently force you into an unpaid, overworked internship of an endless stream of variations of building useless applications.
- geofft 9y agoSuch a company is also selecting for the sort of candidates who have 4-6 hours free, either those who have no responsibilities at home and are willing to spend an evening or weekend on it, or those who have enough ability to take a vacation day and tell their boss "I'm going to be at home doing nothing." You basically need to do that for the in-person anyway, and there's a limit on how often you can do that. How many candidates with small children do you think these companies are hiring?
- wglb 9y agoThis works very well. We use it throughout the company, more so in some places. I have done this with security engineers, and to my pleasant surprise, with compliance candidates as well. It has exceeded my expectations.
- tptacek 9y agoThis works --- really well! --- when the homework meaningfully offsets both the in-person interview and phone screens. When it doesn't, and is just a ceremony the hiring team performs on most (it's never all in these cases), it's abusive. The problem is that a lot of the teams assigning these projects don't really believe in the projects and haven't put the effort in to deriving a rubric they can use to reliably condense candidate responses into hiring signals. Without that work, and without a process built in good faith to use that work, this is just cargo cult management.
- cholantesh 9y agoThis seems fair; the last time I did a take home I was asked to build a complete application (full stack) in 2-3 hours. At the time I viewed this as a failing on my part. In retrospect, I feel this is unreasonable on its face. Through the grapevine I've heard that the position has not been filled more than a year later, so I can't be the only one.