7 ms·
I agree with most of the article. My problem with the "Hire by Audition" section is a little more robust. I currently have a job. If I'm looking for a job, then
by Jemaclus 13y ago
I agree with most of the article. My problem with the "Hire by Audition" section is a little more robust. I currently have a job. If I'm looking for a job, then I'm doing that in my free time. If I'm looking for a full time job, I'm not looking for a contract job.
Now imagine that I've applied to five companies. Each of those five companies has given me an "audition," something that I can take a week to do. I necessarily have to do this in my free time -- I can't very well do it at my current job! -- and not only do I have to solve your problem, but I generally have to do it within some sort of constraint that you normally have, whether that's your codebase or your language or whatever. I'm going to spend a significant portion of that time simply getting up to speed with that constraint. Maybe I have to install Ruby or I have to install Symfony or I have to study the documentation for Twilio. Who knows?
I've never yet had an "audition" like this that didn't require me to sign an NDA, then install that company's codebase and work within that codebase. And I've rarely been able to do this in one or two nights of work. Usually one night of work is spent simply installing it, the second night studying what's going on, and then the third, fourth, and possibly fifth nights actually fixing the problem, testing it, and making sure it's good enough to submit.
It's a lot of work to ask me to do, even if you're paying me as a contractor, because again, I'm not looking to be a contractor. I'm looking to be a full-time employee.
I want to solve your real-world problems much more than I want to answer academic questions, but at the same time, you have to respect my time as well. I don't want to waste your time by not giving you enough data to make an educated decision about hiring me, but you should also not waste my time by giving me a task that takes up my entire free time for a week.
There's a happy medium here. I don't know what it is, exactly, other than letting me solve the problem my own way with my own code and my own tools, but if I do that, then it's not "something you would give your employees right now if they weren't so busy," right? Maybe.
The rest of it is fairly spot on, I guess.
Just my two cents.
- johnjlocke 13y agoIf you are happy with your current job, then there is no need to apply to a different job, so this scenario would never come up for you.
- nswanberg 13y agoAt this point in Jeff's company he is looking for someone who wants to get paid to work on Discourse, not simply have a job. Someone who wants that would not think much of following the easy instructions to get Discourse, install it, and be able to make a small contribution to the project (not sure about contributing but the download and install process is extremely easy and is sort of a fizz-buzz test in itself). I don't know if this good advice for everyone looking to hire but it seems like filtering for both ability and motivation is a good idea for young, growing companies. The problem with any discussion here on HN is that, judging by replies, many commenters feel insecure whenever an idea is proposed that they feel could exclude them from a job, even though typically these ideas do not spread, and most people need only one full-time job at a time (writing about interviewing has the same problem. See the first few paragraphs of http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html http://steve-yegge.blogspot.com/2008/03/get-that-job-at-goog...). I agree that if every company started this practice in the same way, applying for five jobs at the same time while currently working at one would be difficult. But it seems very unlikely that would happen in practice.
- Jemaclus 13y agoTrue, but just because I want to get paid to work on Discourse doesn't mean I want it "simply to have a job." I already have one, remember? I would also love to get paid to work on any number of other projects, but that doesn't mean that I magically have a week worth of evenings available to work on your contract project. I'm not upset at being excluded from a job at Discourse -- in fact, I'd probably exclude them from my search! Quite the opposite, my time is valuable to me. Just because I can't take a week to work for you on a contract basis doesn't mean I lack motivation or ability. It just means I have priorities that don't include sitting in front of a computer screen 24/7. I may have a wife and kids, or I may be an Olympic runner, or I may be struggling to make ends meet with other contract work, or I may be taking care of a sick relative. Who knows? All I'm really saying is that there's a happy medium here. Some way for you to give me a programming assignment, and for me to complete it in a reasonable amount of time. Offering to pay me just means that you want a LOT of my time -- time that I likely don't have to spare. If I were a junior dev and desperate for work, then yeah, I'd make this a priority. But Jeff isn't talking about junior devs -- he's talking about the best. And the best already have jobs and don't need to prove anything to anyone.* * (I'm not saying I'm one of the best*)
- eccles 13y agoI agree 100%, beyond that my current contract strictly prohibits this kind of work. One of the premises of the article is that the restrictions on location undermines the goal of hiring the best. Given his hiring requirements I couldn't even look at his company--it might as well be on the moon let alone the valley.
- Jemaclus 13y agoDitto.
- nsxwolf 13y agoHow about these companies set up a virtual desktop instance with the environment all set up and ready to go, and just give applicants a login?
- Jemaclus 13y agoYou're on the right track. At my job, we use Vagrant and VMWare Fusion to load up our dev environments. I'm thinking it might be trivial (or at least, less complicated) to simply give the VM to my candidate... The problem is that sometimes they don't have VMWare or VirtualBox. Ideally, I'd just write a single script that installs everything for them, so all they have to do is write code... Maybe for the upcoming hack week...
- jimdotrose 13y agosomething like nitrous.io would work for this.
- toomuchtodo 13y agoPerhaps use a preconfigured Amazon AWS Workspace. I believe it comes out to less than $100/month for a fairly powerful remote workspace instance.
- collyw 13y agoEven "Lets have a quick chat on Skype" can be a pain in the arse. I use Linux, and don't use Skype regularly, so its frequently the case that I haven't set up /used Skype on whatever laptop I happen to have at the time. People might assume that I am some sort of idiot for not using Skype, but I have a proper VOIP number setup, so I don't have the need.
- PeterisP 13y agoThe article actually has a very, very nice suggestion that I hadn't ever thought of - the idea of having that audition be a todo-item on some open source project your company uses. Many companies rely on a bunch of open source components/tools/whatever, and they don't fit perfectly; so if you think about it, it's quite likely that you already have some 'good-to-have' items that you'd like to be done on those projects; important enough to pay for it but not important enough to have it done right now by your current people. And the good thing is that it'd allow you to solve the problem your way with your favourite tools, not require any NDAs or granting access to internal systems, and also be useful for the rest of community.
- Jemaclus 13y agoThat's true if and only if the codebase is something that's easy to set up. I tend to get these assignments from companies that are like "Here's our Github repo. Clone it and fix issue #12345." When I get to the repo, there's an INSTALL.MD file a mile long, where I have to install a dozen dependencies and so on. And it never, ever goes as smoothly as it should. They inevitably forget to document some quirk or another. That's not true for everyone, but it seems like it's the rule rather than the exception. My point being that you're not just asking me to fix a to-do item, you're asking me to recreate your dev environment locally, research your codebase (to isolate the bug and figure out a fix), and then actually fix it. And if this takes more than a few hours, I may not have time to do it whether you pay me or not. Like I said, I'm looking for full-time work, not contract work... That's all I'm really saying. I agree with you, though, that the to-do thing is a good idea. I just think there might be some middle ground, like if your task is "Build a feature to send verification codes through Twilio", then instead of using your codebase, I do it on my own in my own way. Then you can use my code as a model for your own. You don't have to research the whole problem -- just port my code into your codebase. And I don't have to fiddle with your codebase until you hire me. Something like that. (Just thinking out loud here.)
- codinghorror 13y agoI like the way you think! This is the sort of thing one tries to get out of audition projects.
- danielweber 13y agoI do worry about requiring a one-week project from someone. However . . . Sometimes I worry "what if I lose my job today?" It really could happen, even today, through no fault of mine. People who live in Silicon Valley will say "well you have five other jobs waiting for you." But people not in a top-5 area don't have a job market 5 deep. It takes time to get hired again. If I were to suddenly be unemployed, I would really love it that there are some companies out there willing to hire me for a one-week project at a much lower activation energy than taking on a full-time hire. It would 1) give me a chance to prove I can do the job, and 2) even if it failed it would give me money in my pocket right now which would be a very nice stress reliever. (In fact, it reduces my stress right now knowing that I could find a few short jobs like this. I'm happier even if I never need to use it.) I certainly wouldn't want all companies to hire like this, because most of the time when I am searching for a job I am employed. But I like knowing that there are some employers out there that it would be easier to work with being unemployed instead of the reverse.
- Jemaclus 13y agoI completely agree.
- housel 13y agoSure, but the possibility of going off of unemployment for a week and then back on again might be somewhat painful (especially since the interruption while reopening an unemployment benefits claim might last longer than just a week).
- mbrameld 13y agoThat's not how unemployment works, at least not in Texas. You wouldn't go off the unemployment until you were actually hired. You would simply report the income during that period (2 week periods in TX) and they deduct the amount from your benefits for that period.
- danielweber 13y agoYes, most states encourage you to take work, even temporary work. A contract job won't require you to stop it and start it, you just "skip" a week. Last time I was on UI, it didn't actually last for X weeks, it lasted for Y dollars, and if you earned more than a certain threshold in a given week, they would reduce your payout that week by 50% of the amount you went over that threshold. So one week of high earnings would, in effect, mean you get $0 that week but give you an "extra" week at the end.
- jgh 13y agoI interviewed with Skype once, I ended up not taking the job because it would have meant moving to SF and I don't really want to do that, but they asked me to do something interesting. They asked me to complete an assignment that was similar to the work I would have been doing, but did not require me to install their codebase, nor was it such a huge task that it would have taken a week to do. This, to me, feels more like a happy medium between whiteboarding and "auditioning". The task was simple enough to be completed in 8 or 10 hours that I could do after work, and I even had some time to add some flair to it for style points.
- Jemaclus 13y agoYes, exactly. That's what I do when I interview people. I make it clear that this is something I am actively trying to solve (or maybe I've just recently solved it), and not just some academic exercise I'm doing that isn't productive. I think that makes a huge difference. And in the end, I don't care what language you do it in or how you do it, so long as you solve the problem. If I write it in Ruby and you write it in Java, then if it works, I can hire you and your first job will be to port it over ;) I moved to SF and I love it, but I understand not wanting to move around. I'm resisting moving away from SF for other opportunities...
- jgh 13y agoOh I'm not against moving around (in the last 4 years I've lived in Toronto, San Diego, Sacramento, and Los Angeles)... My wife and I just found SF/Northern California is not really our taste ;)
- potatolicious 13y agoDitto here - I did an interview with AirBnb once where I had 3 hours to build a mobile app from the ground up to a specification. They provided all the designs and assets necessary, as well as the API and specification. The exercise was broad, covered multiple areas, and was holistic (you get a shipping app out the other end, not an isolated non-contextual piece of code). I rather enjoyed it, and at 3 hours wasn't a huge intrusion on my time. This sounds a hell of a lot more attractive than throwing a whole week of my spare time at a company I'm not sold on, and IMO is just as representative. The extra perk of this approach is also that, assuming you give the same/similar assignment to every candidate, it makes their performance directly comparable.
- hackinthebochs 13y agoThe solution here is obvious to me. The specific problem with this scenario is that they give the audition too early in the process: they want to have a set of fully fleshed out apps to compared candidates from and use that as an initial/mid level filter. This is disrespectful on the part of the company precisely because in the best case only one will be hired (more likely none will be hired). It utterly devalues the time of prospective employees for the benefit of the company. This is wrong. The solution here is to give the "audition" after the candidate has passed all of your other filters, and commit in writing to hiring the candidate if they do a decent job on the audition. And no wishy-washy bullshit: have an objective criteria to measure against and judge it fairly. This is the kicker here, which of course will be the tough swallow for most companies. Paying for their time is nice, but its really missing the pain point here. If you want someone to commit a disproportionate amount of time in the process of auditioning for your company, you need to put yourself on the hook in a similar manner.
- Theodores 13y agoWe have just had an article on here about Susan Kare - icon designer extraordinaire. I guess that when Facebook picked up the phone they didn't bother getting her to do a new 'like' icon or whatever it was they needed using their tools in their special dev environment with their special workflow. They probably noticed that her other work had done quite well and thought they might as well chance it with her. They probably hired her without her drawing one pixel for them. Her competency was not in doubt. This cumbersome audition process people want to put you through might work well for someone fresh out of college that has no portfolio of work, however, for those of us with work that is live and on the internets, isn't that, with a few code samples, good enough?
- seanmcdirmid 13y agoI think portfolios for developers is a great idea, but it is difficult to ascertain if its really the developer's work, and what their contribution was.
- Jemaclus 13y agoIt's a little more complicated than that. I do agree that given a few samples and an in-person interview process, you should be able to determine my coding skills without me having to do a huge, week-long project. But it's not quite so simple as "Hey, look at my Github. See? I can code." Because you don't really know how much that was cut and pasted and how much of that was written by someone else and how much of that was written by the candidate herself. But I agree that there should be some metric that we can gauge candidates on coding ability without giving them a week-long assignment. If it was an easy fix, Jeff wouldn't have had to write this blog post, so... Gotta keep thinking about it, though. There's gotta be a better way.
- ACow_Adonis 13y agoI see where you're coming from, but I come at it from another angle to arrive at the opposite conclusion about "Hire by Audition" or "Overcome specific real problem" tests. That is to say: I don't have the money, time, connections, nor geographical/familial luck to have been born in America or in a supportive environment and attend a "top college". Nor do I desire to throw away several years of my life and six figures to get a piece of paper from people dumber than me to say i'm as smart as they are. In that respect, i'll take the one week of unpaid work over several years, thousands of dollars, and social/political/time barriers which are completely insurmountable to me because it puts me on equal footing with the stanford/mit/harvard graduate. If implemented well it means its more likely to have something to do merit, and i'll respect companies that have a process that at least TRIES to implement a merit based process far more even if i don't get the job. I don't like it, but i prefer it over the alternatives...
- Jemaclus 13y agoFor what it's worth, I went to a tiny college in rural Alabama, and I've got a six figure job at a pretty large startup that I'm almost positive you've heard of, if you live in the US. The "top college" thing is bunk, as far as I'm concerned. I think you're misunderstanding me though. I'm not saying they shouldn't require that you do a work-from home assignment. I'm talking about the fact that most "auditions" I get are far more than a simple homework assignment, and those employers often expect far more time than I have available. Like I said in another comment, they aren't just asking me to solve a to-do item from their to-do list, they're also asking me to install their codebase (and all that entails), learn it enough to isolate the problem and formulate a fix, and THEN and only then do I actually get to implement my fix and submit it. That's more like contract work and less like an audition. To make another comparison and riff on the word "audition", as an actor (I am one), when I go audition for a play, I'm not rehearsing with other actors and performing on stage for 1 night (the equivalent of a 1 week contract in web dev). Instead, I'm showing up with a prepared monologue (60-90 seconds) and possibly doing some cold readings (the equivalent of a "homework assignment"). The entire audition lasts an hour, maybe two. One of those requires far, far, far more work than the other -- and the second one is what an actual audition is. So what I'm getting at is that the problem isn't a merit-based approach -- the problem is a merit-based approach that doesn't respect my time and energy. Does that make sense?
- seanmcdirmid 13y agoAuditions are wonderful for job seekers: they allow you to evaluate the company much more deeply than the company evaluates you. If the work is tedious, boring, and uninspired, you know that this job isn't for you. I once applied to a company that insisted on interviewers doing a test first. Just looking at the questions on the test, I knew this wasn't a company I wanted to work for, so I didn't even bother doing it. They asked me "why didn't you do it?" and I told them I knew this job was a poor fit just by looking at your test questions. I'm not sure if that is what they intended, but the benefit was good for me.
- Jemaclus 13y agoYou are not wrong. I have experienced the same thing myself. I'm not saying the audition system is a bad system -- I'm merely pointing out a flaw, that a week-long contract is a lot of time to ask me to work on a project for you if I already have a job. There are certainly many benefits to the audition system, or Jeff wouldn't have even mentioned it!
- walshemj 13y agoAnd if you have a job doing this outside contract without your current employers permission your breaking your employment contract.
- pjc50 13y agoA more serious problem: it's not arithmetically possible for everyone to hire the "best".
- peteri 13y agoJeff probably has enough "internet fame" to get away with asking folks to audition with a longer project and get good results. Personally I'd be happy with anything that should take less than a day to do, but giving folks access to a pre setup client that has RDP or SSH setup would make that a lot less painful. A week is a bit too long. I'm currently looking around for a new job and I'm being fairly picky about what it is I want to do, my biggest pain point is getting time to actually interview. My own personal preference would be a couple of phone interviews, then an audition project followed by something face to face. By then it seems likely we're going to get on so taking a day off is worth the effort. Finally as someone currently looking around salary is something I'd like to at least potentially discuss relatively early on (or at least check we're both in the same ball park) I'm going to ask slightly high but caveat that with a statement saying that I'm potentially flexible for the right job (I like your problem domain, it will look good on my CV, you're offering equity etc).
- Jemaclus 13y agoI agree with you on the general workflow of an interview process. Phone screen or two, programming assignment (not 1 week though), face-to-face, etc. I need to get better about the salary thing. I've gotten several offers from companies (even YC companies) in the last year, and each time we're just not in the same ballpark. I think a lot of it just has to do with equity. Startup CEOs treat their equity as worth a lot of money, but at the end of the day, I can't use my equity to pay my rent. So unless I really, really, really believe in your company's ability to dominate in that problem domain and/or exit successfully, your equity just isn't worth the pay cut for me... But that's another discussion entirely. I, too, am picky about what I want to do. I want to solve real problems. I don't want to reinvent the wheel with yet-another-message-board (sorry Jeff). I want to save the world. I want to do something meaningful. And a lot of these startups I see around here are solving what I consider to be superficial problems. Yet another ephemeral chat service. Yet another Instagram. Yet another subscription clothing service. Zzz. If Elon Musk called me up and asked me to come "audition" for SpaceX, I'd probably do it. That's an exciting enough field and opportunity that I'd spend a week of my free time to get it. If a company that was building out tools for combating malaria called me up and asked me to audition, I'd probably do it. Or updating farming with 21st century technology. Or engineering a way to purify water for pennies. Or... well, any number of what I consider "epic" problems. But that's another discussion, too. :) I totally just went off on two different tangents. Whoops. :)