Slashdot Mirror


Are Contests the Best Way To Find Programmers?

Nerval's Lobster writes "Tech firms are engaging in several non-traditional hiring methods, from programming contests to finding the right people via algorithm. One of the more popular methods: set up a coding challenge or programming contest to bring out interested parties, with the top prize being a trip to the sponsoring company's headquarters to interview for a job. Look at what Facebook is doing in this area, sponsoring several Kaggle.com programming contests to find the best programmers; it also makes use of the site InterviewStreet to screen potential applicants. In theory, any company can build and run a contest online. But is it really the best way to go about hiring a programmer (or any other tech-minded employee, for that matter)?"

21 of 260 comments (clear)

  1. Contests are the best way... by olsmeister · · Score: 5, Insightful

    to find programmers who like contests.

    1. Re:Contests are the best way... by dkf · · Score: 4, Insightful

      to find programmers who like contests.

      or who like gaming contests.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    2. Re:Contests are the best way... by i+kan+reed · · Score: 4, Funny

      to find programmers who like contests.

      or who like gaming contests.

      That is to say future business leaders.

    3. Re:Contests are the best way... by Anonymous Coward · · Score: 5, Insightful

      Because the best programmers don't take time to thoroughly analyze the problem, look for process alternatives, look for opportunities to adapt existing code base and propose integrated solutions. They just jump right in a create a quick, one off and specific solution.

    4. Re:Contests are the best way... by David_Hart · · Score: 5, Insightful

      to find programmers who like contests.

      ...and who have time to participate in contests

    5. Re:Contests are the best way... by Anonymous Coward · · Score: 5, Interesting

      "Wanted: highly intelligent but deeply insecure attention seekers woefully ignorant in the larger ways of life. Must be easily manipulated and enthusiastically embrace indentured servitude for life (or until we deign to discard their burned-out husks). Will pay big shiny baubles and provide free desk, chair and leg iron benefits. Those with any self-respect or business acumen need not apply."

    6. Re:Contests are the best way... by lgw · · Score: 4, Interesting

      to find programmers who like contests.

      ...and who have time to participate in contests

      Exactly. To judge by my interview with Facebook, in particular, I think they're OK with that. They seem quite focused on hiring young programmers who could bang out code quite fast (to solve non-trivial problems), with blithe unconcern for ideas like "maintainability" or "design review". They were also mystified why they had such a hard time hiring senior devs.

      Still, they know what they want, and contests seem to fit that quite well. And even if you prefer sanity to freneticness (freneticism?), hiring a few devs occasionally through "contest screening" could be worthwhile.

      I really like the idea of a purely objective hiring process where anyone can compete and resumes don't matter - but as an add-on to your normal process, not a replacement for it. That way madness lies.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    7. Re:Contests are the best way... by bzipitidoo · · Score: 4, Insightful

      No. There is preparation time. These days, if you just casually stroll into a programming contest without reading up on the idosyncracies of whatever scoring system they're using, and without training for it, you will be owned. Won't matter if you are a good programmer. I have won programming contests, but this was in the days when Pascal was the leading language.

      Years later, Top Coder showed up. I competed just once, and did poorly. In part this was because on Top Coder, other contestants can challenge your solutions. If it doesn't work, they score points and you lose them. In contrast, in all previous contests I was in, there was no penalty for trying at least once and being wrong, so you may as well send in whatever you have. (There was a penalty if you got it wrong several times before getting it right, but trying at least once is free.) That's what I did for one of the problems. To make it a little worse, in Top Coder the other contestants get to see when you submitted. The idea about challenging is that the challenger is supposed to have looked at the code, but these challengers did not do that. They only checked that the code was submitted at the last minute, and decided on that basis to challenge. Easy points for them. The veterans know how to work the system. Not knowing about wrinkles like that costs you in these contests. I decided right there that these contests were silly, and have not competed since.

      It also seems so many of these "contests" are just thinly veiled attempts to use people. The sponsor gets a bunch of code, some of it hoped to be of real use and value, sorted by the evaluation system. The winner gets a cheesy little prize. Or perhaps a big prize. The other dozens of contestants get nothing.

      --
      Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
  2. NO by Anonymous Coward · · Score: 5, Insightful

    No experienced competent software engineer would ever enter one of these code contest. If you need good engineers try offering the best compensation and the best working conditions.

    1. Re:NO by ShanghaiBill · · Score: 5, Interesting

      If you need good engineers try offering the best compensation and the best working conditions.

      Pro tip: Providing bad engineers with good pay and better working conditions doesn't make them into good engineers.

      Good pay and good working conditions will allow a company to be more selective about who they hire, but they still need some way of selecting the good ones. Many companies fail badly at this. I have worked for several that paid well, and ended up with salaries that were negatively correlated with competence.

  3. maybe, maybe not by ganjadude · · Score: 4, Insightful

    I believe that this is a good way to bring in young talent, people in college or kids who dont have a formal education but are self taught and need a shot.

    I dont expect this to be a good method for bringing in top level experienced workers however.

    --
    have you seen my sig? there are many others like it but none that are the same
  4. Time factor and software context by PseudoCoder · · Score: 5, Insightful

    Maybe I misunderstand the nature of these contests, but what I produce in 4 weeks is different than what I produce in 4 days. I have to make serious trade-offs that will impact the software design significantly and will not reflect what my vision would be for the "big picture" goals like clarity, maintainability, modularity, safety, error handling and all manner of best practices.

    I wouldn't want a prospective employer to judge me based on the stuff I can churn out in a flash, unless that's the nature of the work they have in mind for me.

    --
    "Now, I doubt any of you would prefer a rolled up newspaper as a weapon against a dictator or a criminal intruder."
  5. Who has time? by serviscope_minor · · Score: 5, Insightful

    I'm not going to go out on a limb and claim to be one of the best programmers.

    However, I don't have time to do programming constests with my day job being rather busy. I generally give a lot to that job so I'm not going to spend time coding when I get home on the weekend.

    I'd imagine that I'm not particularly unique in this regard.

    On the other hand, you wil find good programmers who have no time commitments other tha coding, so I guess it does work out well.

    --
    SJW n. One who posts facts.
    1. Re:Who has time? by i+kan+reed · · Score: 4, Interesting

      Now, if I were in charge, what you just said wouldn't be a reason to not hire you. There are lots of good programmers who don't have time for extra programming, but the best programmers, in my experience, are those who really enjoy it, and will take on small projects for fun from time to time.

  6. Something is wrong with this picture. by wcrowe · · Score: 4, Insightful

    Let's see if I've got this right: there is such a shortage of programmers in the U.S. that we have to raise H-1B visa limits in order to supply them, and yet companies have to create hiring contests in order to screen the overwhelming number of applicants?

    --
    Proverbs 21:19
    1. Re:Something is wrong with this picture. by geekoid · · Score: 5, Interesting

      " but aren't these large companies wanting to raise the H-1B visa limits because of allegedly poorly trained/inexperienced programmers?"\
      no. They want highly trained and experienced people to work for cheap.

      We have plenty of programmers in the US, but we have the gall to want to be reasonably paid.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  7. The best way to find programmers by The+Evil+Atheist · · Score: 4, Funny

    Interview question #1: Explain why you hate C++ Interview question #2: Justify why you repeated soundbites about C++ and not formulate your own explanations Interview question #3: Explain why you like Java or C# better Interview question #4: Justify why you didn't know that C++ can also do those things

    --
    Those who do not learn from commit history are doomed to regress it.
  8. nope by JustNiz · · Score: 4, Insightful

    ....all those competitions do is find the fastest programmers.

    Fast usually means hacky. it definitely does not equal good, but unfortunately many managers dont understand that concept because they all subscribe to the "make it fit in my microsoft project plan" mindset.

    Sadly, In this culture, poorly engineered and buggy software and the corresponding very costly rework have just become accepted as unavoidable even though its actually not.

    Its actually much cheaper in real (but unfortunately largely hidden) costs to take the time to get it right before you deliver to the customer.

    I'll take the programmer who loses these competitions because they took the time to do a robust job thanks.

  9. Let's continue the lack of dignity for IT by bstarrfield · · Score: 5, Insightful

    Programmers and related IT folk are the absolute bottom of the corporate barrel - below custodians, below security guards, below the cafeteria staff. Only programmers / analysts / sysadmins / etc. are expected to take 6 month "contract-to-hire" positions. Only IT professionals can work in a job hierarchy with very few, if any, opportunities to advance to senior management. Mainly only IT professionals are told to take salary cuts, work extra hours, and train their successors due to outsourcing.

    And now you want a contest to decide who to hire? Do accountants, operations staff, finance staff, and marketing have contests to see who will be hired? Even in sales you're hired for a position - you need to meet your quota, but there's none of this patently demeaning treatment of IT professionals as mere expendable cogs in the machine.

    So what if you win the contest? Are you expected to perform at that amped up level every day of your work career? Are you supposed to quit when some new young buck / buckette does better in the contest next year? Is your education, prior experience, ability to work with others totally irrelevant? And damnit, do you have any sense of dignity in your job?

    I've worked in IT for 15 years. During that time I've seen friends from undergraduate days and graduate school days move steadily up the ladder while nearly every person I've worked with in programming are stuck in the same ruck - everyone's a "Senior Engineer" or "Architect." And now we can look forward to job duels? Coding against each other endlessly in a competition to stay gainfully employed.

    Don't accept this garbage. Being a productive employee is far more than just the ability to spew some excellent code in a contest. We have to make our field a profession, not a joke.

    --
    /* Dang, I can't type that well. */
  10. Re:Missing the point by vux984 · · Score: 5, Insightful

    Also it's a long-term contest (8 weeks) instead of the "overnight hackathon challenge" you might be thinking of. You can make several submissions and get feedback for how your algorithm is doing, and how it stacks up to other teams. ...

    Everyone complains about the HR "minefield" that sorts candidates by requiring useless or immaterial experience instead of raw coding ability. This is a new type of job search that doesn't have these problems.

    This has worse problems. They plan to get a useful difficult alogorthm solved for free. (And multiple variations on it too.) This will apparently will require teams weeks of efforts to come up with. That's hundreds even thousands of hours of free unpaid labour.

    I should have strata's landscaping done like this. Instead of paying a landscaper to come by everyweek I'll just hold a contest, and have 50 contractors each come in one week and do their thing. At the end I hire the best one for a one year contract.

    The year after that... I'm not sure he's the best one anymore... I'll need another contest.

    Free landscaping every other year is a pretty sweet deal.

    The only flaw in the ointment is that unlike programmers, landscaping contractors don't work for free. And they don't buy into idiotic arguments that the best landscapers love landscaping and want to spend their time off doing it for free too.

  11. Re:nope by pla · · Score: 4, Insightful

    Its actually much cheaper in real (but unfortunately largely hidden) costs to take the time to get it right before you deliver to the customer. I'll take the programmer who loses these competitions because they took the time to do a robust job thanks.

    Absolutely correct - And largely irrelevant to the modern business environment.

    In almost twenty years of working as a programmer, I've had the luxury of doing it "right" exactly four times. Outside that, the speed with which I can hack something together has mattered far, far more in my day to day job performance. Yeah, I can build you the Bugatti Veyron of code, given $X budget and Y months; but everyone just wants a slightly used moped, preferably by 2pm yesterday.

    Yes, you have it correct, some people can't handle large projects but might do okay on a coding contest - Certainly a problem. But some people don't know when not to turn a request for a moped into a Veyron. That hypothetical god-like software engineer who fails your contest? He failed not in doing "too good" of a job, but in ignoring the actual project requirements, simple as that: "Make it work, ASAP, ACAP".