2013. december 4., szerda

How to (not) hire a developer

Came across this http://hownottohireadeveloper.blogspot.co.uk/2013/11/no-i-will-not-hack-on-your-codebase-for-free.html today, title: "No, I will not hack on your codebase for free under the pretext of it being a "technical interview".

For you tl;dr people: Guy got invited to code as a part of the interview, they told him to pair program with a developer on the company's code. He wouldn't work on the company's code for free, but would work on some OS project (for free) instead. They didn't agree, he told them to fuck off.

A couple of observations from a hiring perspective (you may start throwing rocks at me at this point).

  • You believe you need to be payed 450 (in whatever currency) for a day's worth of work. At this time you haven't even proven that you can type.
  • You registered this blog just so that you can tell the World about this "injustice", so you are certainly a level-headed guy who is hard to offend.
  • You'd rather work on an Open Source project for free, which is fair I guess, but a bad idea.
I'm pretty much convinced never to hire you. Why?
  1. For good companies to hire one capable person they have to interview tens if not hundreds. You should know that.
  2. Paying most of these people for their work is not doable, and quite frankly, why would the company pay an X amount for something of unknown quality? Sure, it'd be nice to pay them a small amount, but that's the equivalent of burning the money. And you get to set the rate without proving a thing first? Not arrogant at all.
  3. The Open Source idea is fair, but not well thought-out. A given company has a business model, a culture, a product, a repository, a team, a coding style (I could go on). A given X Open Source project has none of the above, it might not even exist in the language you're about to use. From an evaluation standpoint it is totally useless, as it just measures technical skills.
What is important during an interview is to look for multiple things, not just coding. How will the candidate fit in? Is (s)he nice to talk to? Is (s)he friendly? How will (s)he handle stress? How adaptable is (s)he? Last but not least: How good of a programmer is (s)he? Working on an OS project only answers the last one and by the time you get called onsite, they have a pretty good idea about your technical skills anyway.

From all I can see, the company succeeded spectacularly in not hiring you, and they're much better off. You are clearly too afraid to reveal your own name, and are probably the type who would throw a fit (as evidenced) instead of taking initiative. I'm also sure you are super fun to hang around with.

If you don't want this to happen to you, please try to be a bit humble and flexible with your possible future employer's requests. There are a few bad companies out there of course, but you certainly don't want to give the impression of someone like this guy. If you think about it, his problem was that he was

not getting paid to try to get a job.

Does that sound like someone who is worth to hire?

Best of luck.


7 megjegyzés:

  1. No, you're absolutely wrong. Taking an interview test is one thing, asking interviewees to work for free in company code is clearly exploitation.

    You say the guy didn't prove he could code so he didn't deserve pay... well, the company didn't prove they were going to compensate him either, so why should he code?

    You're automatically siding with the company for something that, quite frankly, is rather unorthodox, on the basis that the guy is wrong because he's resentful and wrote a blog post.

    And it's unfortunately people with opinions like yours the ones who enable companies to do whatever the hell they want. We workers should be organizing, not criticizing each other for not wanting to kiss corporate ass!

    VálaszTörlés
    Válaszok
    1. How can an opinion can be wrong? Are you as arrogant as the guy who wrote the other post? Working for free on company code during an interview is pretty standard practice, and is not "exploitation" at all. Chinese children are exploited, not you. Don't mix things up.

      I didn't say he doesn't deserve pay, I said it would be foolish to pay a guy who just got in the door for his quite questionable contributions. Also, if this is the company's policy there's nothing you can do about it. They have every right to do this, it's their money. If you don't like it, feel free to found a new company which works the way you like it or look for another position. Or cry on the internet. Nobody's making you go through the job interview. Although having you code there for a longer time while being unpaid is certainly unfair, it is not horrible. Facebook and Google have 7-9 round interviews and people still apply. Do you think that is fair? It takes a lot longer than this. All in all there's probably a reason for it, and the company is not acting in bad faith, they are most certainly not making profits on you writing code for them for a codebase you have never seen. That's not quality work, it can't be.

      Not automatically, I have my reasons. Read the blog post again, and try to pay attention. I'm siding with the company because what they did makes sense. The guy just didn't like the terms and went to the internet to throw a fit. Obviously this person would NEVER do the same on the job if he's unhappy with something. He must be a real joy to have on the team as well.

      I wanted to voice my concerns on bad candidates like him from the hiring perspective as I've been doing that for quite a while now. People need to prioritize and figure out the situation. If the company is worth it, it might be best for you to endure a little HR-hell in order to get that great poisiton instead of just writing an angry blog post. I'm not saying the company is not at fault, but this is not a big issue to warrant such resistance. I'm sure the company has procedures like that in place to filter out bad candidates and not to benefit from have you work for them for free. As more than 80% of applicants are very bad, I think this is acceptable. In the end, if you get hired at least you wouldn't have to work with bad people.

      I don't enable squat. Do you know who does? Joel Spolsky (http://www.codinghorror.com/blog/2012/03/how-to-hire-a-programmer.html, http://www.joelonsoftware.com/articles/guerrillainterviewing3.html) to give you an example, he influences much more people than I can or ever will.

      And while we're on that note, it's not kissing corporate ass. They have their rules, you have yours. If you don't like it, walk the fuck away. Nobody forces you to do anything, it is a competitive free market. What is the next thing you'd like them to do? Hire you without an interview because you think that'd be okay? Give you free money? Stop kidding yourself, act! Vote for the communists.

      You obviosly have zero experience running a company and/or hiring people. You have seemingly no idea what a free market is, you are automatically sure that I'm wrong, when indeed this is just an opinion. You are also incredibly arrogant, so good luck to you too. You will certainly need it.

      Törlés
  2. This commenter said it better than I did:

    "Nothing wrong with working on the company's codebase as part of the interview. That said, there is a HUGE difference between, let's pair on this problem for an hour so I can see what it's like to work with you and get a better understanding of your technical skills, and, I need to get 3 features out today, so help me ship them over the next 8 hours."

    http://hownottohireadeveloper.blogspot.com/2013/11/no-i-will-not-hack-on-your-codebase-for-free.html?showComment=1386167885254#c9090175711278589624

    VálaszTörlés
    Válaszok
    1. "Nothing wrong with working on the company's codebase as part of the interview. That said, there is a HUGE difference between, let's pair on this problem for an hour so I can see what it's like to work with you and get a better understanding of your technical skills, and, I need to get 3 features out today, so help me ship them over the next 8 hours."

      Yes, there is a huge difference between the two. Doing 8 hours of pair programming is essentially moronic as you can figure all this out in 1 or 2. That doesn't change the fact that it's the company's hiring procedure and if you don't like it you can walk away. While I understand the frustration, there is also a HUGE difference between pair programming with a guy and implementing features for the company by yourself (and not getting paid for it).

      Törlés
  3. Ezt a megjegyzést eltávolította a szerző.

    VálaszTörlés
  4. Maybe they should pair program on open source project ?
    Because when Lead developers arguments that:
    LD (frustrated): "But I need these features out in the field today."
    There is something wrong with that... what's next? Working for 14 hours a day? 6 days a week ?

    Besides if Lead Developer need familiar code to asses coding skills maybe he is not suppose to be a Lead Developer?

    > How will the candidate fit in? Is (s)he nice to talk to? Is (s)he friendly? How will (s)he handle stress?
    > How adaptable is (s)he? Last but not least: How good of a programmer is (s)he? Working on an OS
    > project only answers the last one
    Does the code matter? Developer in question was ready to sit down in the office of this company and live pair program with their people. All check from list above.

    VálaszTörlés
    Válaszok
    1. Besides if Lead Developer need familiar code to asses coding skills maybe he is not suppose to be a Lead Developer?

      Hmm, so the lead is incompetent. That never occured to me, but you may be right.

      "Does the code matter? Developer in question was ready to sit down in the office of this company and live pair program with their people. All check from list above."

      Just because he sat down to code? I don't think that's enough.

      Törlés