Startups seem to be the worst when it comes to turning the hiring process into a huge time sink for the candidate. At its worst was one of the Bay Area startups. They outline a 7- or 8-phase interview process. There are independent programming exercises, pair programming over Skype, phone interviews, then at the end they have the candidate in for "cultural fit evaluation" which turned into a six-hour interview gauntlet after flying across the country that morning.
Another bit of inconsideration of my time and my actual job where I work to make money was a company that wanted me to come in in the middle of the afternoon on a workday for 2 hours to "meet the team". I told them I did not feel comfortable leaving the office at 1:30 and go AWOL/take a half day of vacation so I could interview at another place. I wound up backing out of the interview process because of their unwillingness to pick another meeting time, even over lunch.
Then finally tomorrow I am meeting with a company, and they told me yesterday afternoon that they'd like me to prepare a presentation on something I'm passionate about (they liked Jeff Atwood's blog post[1] I guess). This actually I don't mind at all, and think it's a great idea... but I need more than a couple of days' notice. I work 8-10 hours a day, commute a couple more, and by the time I get home I've got 3 hours to spend with my kid, relax, eat dinner, etc. In that 3 hours I also need to prepare a talk on a topic I'm passionate about.
To me that last one is emblematic of these interview processes: good ideas, but not structured with much consideration toward respecting the time of the candidate. I get that hiring the right person is crucial for small teams, no doubt, but I'm getting tired enough of jumping through hoops that I'm not really interested in doing it anymore, even for a great job where I know I can make an awesome contribution.
1 http://www.codinghorror.com/blog/2012/03/how-to-hire-a-progr...
I was once given this requirement for a scientific computing-type position at an industrial research lab. Most of their applicants were PhD-types, for whom giving an hour-long presentation on their last six years of research was par for the course. For me, it meant I had to scramble to put together a PowerPoint of my undergrad curriculum and research opportunities.
Ask your girlfriend about her rotations (where students literally cry after being screamed at while working insane hours), MCATs, and how difficult it is to get into any medical school. Job interviews don't have to be as difficult as credentials are both required (there are folks at Google and Facebook without CS degrees -- and that's a good thing, obviously) and are difficult to get irrespective of where you go to school (CS programs wary widely, as this is still a young discipline unlike biology).
Pharmacy is also similar, with a few caveats: pay is somewhat below what a software engineer can expect mid-career (~$120,000 for retail pharmacy, somewhat less for pharma research), residency is not required, but rotations are still insane, and schools are still selective.
In some ways, I think it would benefit the patients if the medical profession was somewhat more meritocratic and less focused on pushing students to their breaking point during rotations and residency, which continues because "that's the way it has always been done". It still somewhat scares me just _what_ a sleep-deprived student could do to a patient due to the very basics of sleep deprivation.
[Full disclosure: I work at Facebook and have dated a pharm student/pharmacist.]
Of course "in the medical profession" doesn't equal "doctor or pharmacist". Likewise, "software engineer" doesn't equal "software engineer at Google or Facebook": there are plenty of firms that don't use coding interviews. Nobody says that to be a software engineer, you have to work at a licensed firm that has to (as part of licensing) use a certain hiring process, require certain credentials, etc...
(This also isn't an endorsement of all modern interview practices: it's particularly silly for startups to cargo-cult interview questions they've overheard at other companies without measuring their effectiveness and calibrating candidates' response.)
I think this process, while annoying, is worth it. I don't want to risk having to work with someone whose competence with respect to software engineering has not been verified in a controlled environment. I've done it before and it meant every time I said something like "state machine" or "graph", I had to explain what state machines or graphs were. And at Google, I don't have to do this. The amount of shared knowledge is amazingly high which makes interaction much more productive.
Most companies want to hire the best people, and employees want to work with the same. Why doesn't work experience or education count for anything in our field? Yes ... I've met idiots with CS degrees who can't code FizBuzz to save their life. I've also met idiots who have aced interviews at Microsoft, Google and Amazon by cramming on algorithms books for 2 weeks.
We've really gone off the deep-end with interviews. If you've been a professional developer for 5+ years, do you really remember the details of your algorithms course? Competent devs can figure out the details of this stuff in minutes ... something not conducive to the high-stress environment of interviews. And this is not even considering how much time both parties waste in this process.
Given how smart we are (i.e. software geeks), it boggles my mind how silly our operating procedures are. Just like I've told students that they should never accept unpaid internships on principle, I wish enough of us would tell prospective employers that we won't submit to an unreasonable hiring process.
I wish enough of us would tell prospective employers that we won't submit to an unreasonable hiring process.
I like this hiring process and I would implement the same thing at my own company. There is so much software that needs to be written, though, that someone who refuses to "submit to an unreasonable hiring process" need not do so. Just grab a job from rent-a-coder and relax!
You know what I'd like to do at my own company? Hire people based on their unique experience and personality. Pay them fairly and assume employees have lives outside of work. Heh .. engineers can dream, can't they :-)
The hiring strategy may or may not make Google money, but it does make my life there pretty pleasant, and I think the other 30,000 employees would mostly agree.
Hire people solely based on "work experience" and a ten minute chat and let me know how well you company of 10,000 people does. My prediction is that you will be unhappy with the results.
Other companies do the opposite, so there's plenty of jobs for either type of person.
Perhaps this is why Google's JavaScript is so notoriously poor.
Update: I don't have a problem with this really. I am in fact trying to make some time to code, but I don't like how this can sometimes be required.
And, you're likely to be asked about open source in your interview. So if you can say intelligent things about it and show you care about it, it might improve your interview performance too.
It's probably most useful as a bullet point to attract a recruiter's attention. So commit a line of code somewhere and stick it on your resume.
Not to say you shouldn't work on an open source project. But do it because it's something that interests you, not for your resume.
We are subjected to full day flights, multiple phone interviews etc.
She deals with life, not code.
This tells me one of two things. Either our hiring practices are severally broken, or its harder to program then be a doctor.
The amount of sub-par candidates that are nearly constantly looking is absolutely appalling to me, and is probably shocking to most of the non-hiring-managers reading HN.
Why is the interview process so intensive? Same reason gold mining is intensive. There's a lot more dirt than gold in both cases.
And also I myself have been to more bad doctors then good doctors. There is just as big of gap between the poor doctors and the good doctors as there is in programming.
More friction in hiring and firing results in more careful hiring practices. I'm not sure how much friction there is in the medical profession but I'm guessing there's less friction there than in software development (not counting politics).