

How to (Fucking) Hire Developers - frankdenbow
http://yourstartupsucks.com/post/6595798517/how-to-fucking-hire-developers

======
thomasgerbe
Not a developer, but this is related. I'm pretty surprised by how many
companies in SV ask me to do design exercises for them.

I've won industry awards, built giant sites that millions of people use,
endured some of the toughest board meetings on Wall Street, had to endure
killer hours, won millions of dollars worth of work for my old company, shown
you my portfolio, and you want me to do work for your funded company for free?

My old company in NY hired me at a competitive rate for three months before
bringing me onboard full-time. How difficult is that? Just hire me for a day
or a few days to get a glimpse and then make your judgement. Otherwise, it's
just spec work and absolutely insulting. I don't get my mechanic to fix my car
once for free to test his expertise, nor get free first-time haircuts from
hair stylists.

------
rpwilcox
Yes yes yes:

 _4\. Don’t give me any bullshit homework._

I have a thousands of lines of open source software, created over 8 years of
doing open source work... it really __does __feel like a waste of time when a
potential employeer asks me to spend "2 days coding up this thing in C++" as
an entrance exam.

~~~
lpolovets
Ok, I'll bite.

In the same way that you might be applying for many jobs, the employer has to
sort through many applicants. A "bullshit homework" exercise is a great way to
get a _calibrated_ measure of an applicant's abilities and code quality. It's
also a great opportunity for the applicant to show off: you can write awesome
documentation, implement several variations of an algorithm to see which works
best, add unit tests, etc. You can also half-ass the exercise and submit
something that works but is mediocre in most ways. Of course, you would not
want to spend 4 hours on a problem for each of 50 job applications, but you
might pick 2-3 companies that really interest you and spend more time on
those. As luck would have it, those are the ones you'll most likely get offers
from once you dazzle on the code test.

Open source code is awesome, and I really enjoy looking at people's GitHub
pages, but it's hard to learn what you need to learn from those pages. If it's
a solo project, I know that the person wrote all of the code, but many times
it's not and I don't want to run "blame" on each file. It's also unclear if
the code I'm looking at is an example of the person's "best" work, or what how
they program day-to-day, or something else. Furthermore, the code could be in
Haskell or C# or Jython or whatever, which might have nothing to do with what
I'm looking for.*

On another note, the employer runs a big risk when hiring someone. They are
potentially paying salary, benefits, relocation expenses, etc. If they're
wrong, they lose a lot of money, team morale goes down, and they might have to
spend time cleaning up after bad work instead of implementing new stuff.
Asking for a small homework assignment seems like a reasonable request when
the consequences of a false positive are so dramatic.

Finally, a coding test likely means one of the following: 1) the company has
so many applicants that they want to set up a wall that only the really
interested applicants get through. 2) the company has high standards and wants
to make sure they are not making stupid hiring mistakes.

I think both of these are pros rather than cons for a potential employer.

Just my two cents..

* I realize that a good developer can learn any language, but if I'm interested in technology X, and a developer knows X and Y, then it's not as interesting to me to see what they have open sourced with Y as it would be to see what they can do with X.

------
T_S_
Recommended. Especially

 _5\. Don’t you fucking dare ask me a riddle._

An unbelievable time waster.

~~~
t3mp3st
Amen. I utterly despise riddles.

------
unshift
the place i used to work prided themselves on having a large puzzle collection
that candidates had to suffer through before even submitting an application.

i wanted to work there, so i put up with it, and write a fairly decent
solution to a problem. took me about 10-15 hours by the time it was written
and tested. "make sure it scales", said the doc. ok, async i/o and home grown
select() loop it is! all this just to submit an application; no guarantees of
even a phone screen.

fast forward a couple months, i'm sitting in the office with my team, and the
subject of the puzzle comes up -- i asked if anyone noticed anything about the
one i submitted. NOBODY HAD LOOKED AT IT. HR didn't even send it over.

probably the last time i'll ever do one of those. they're supposed to attract
"passionate" people under the bullshit guise of "we'd like to hire the kind of
people who like to do these puzzles in their spare time" -- code words for
"we'd like to hire the kind of people who want to live at the office"

