Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming

Are Contests the Best Way To Find Programmers? 260

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)?"
This discussion has been archived. No new comments can be posted.

Are Contests the Best Way To Find Programmers?

Comments Filter:
  • by olsmeister ( 1488789 ) on Tuesday May 07, 2013 @10:51AM (#43653747)
    to find programmers who like contests.
  • counteroffer (Score:0, Insightful)

    by udachny ( 2454394 ) on Tuesday May 07, 2013 @10:53AM (#43653789) Journal

    How about some programmer sets up a contest, where interested companies can compete for that programmer (an auction maybe)?

  • NO (Score:5, Insightful)

    by Anonymous Coward on Tuesday May 07, 2013 @10:55AM (#43653837)

    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.

  • by dkf ( 304284 ) <donal.k.fellows@manchester.ac.uk> on Tuesday May 07, 2013 @10:55AM (#43653839) Homepage

    to find programmers who like contests.

    or who like gaming contests.

  • maybe, maybe not (Score:5, Insightful)

    by ganjadude ( 952775 ) on Tuesday May 07, 2013 @10:57AM (#43653879) Homepage
    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.
  • by PseudoCoder ( 1642383 ) on Tuesday May 07, 2013 @10:58AM (#43653895)

    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.

  • Who has time? (Score:5, Insightful)

    by serviscope_minor ( 664417 ) on Tuesday May 07, 2013 @10:58AM (#43653897) Journal

    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.

  • by wcrowe ( 94389 ) on Tuesday May 07, 2013 @10:59AM (#43653915)

    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?

  • by jellomizer ( 103300 ) on Tuesday May 07, 2013 @11:05AM (#43654029)

    Is it the best way.
    Those are closed minded questions. Contests are a good way to find a particular type of developers. Normally the developers who write code that is Quick, and often elegant in its solution. However they usually fail on code that is is easier to maintain, or requires bigger picture development.

    I use to be a hot shot developer and over the years I have cooled down and changed my tactics. Everyonce in a while I get into arguments with the new kids about how to do things, I tend to bring up adding hooks for those "Oh By the ways" that come up. For some cases I propose not to strictly type particular class elements and use more generic templates, or just use an enumerated array vs an other class. Just because I know the nature of what the Oh By The ways have without knowing what they are going to be. But it often requires adding extra detail, or sending different types of data, not in the specs. So instead of a rewrite of a class it is just a slight modification.

  • nope (Score:5, Insightful)

    by JustNiz ( 692889 ) on Tuesday May 07, 2013 @11:07AM (#43654043)

    ....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.

  • by Anonymous Coward on Tuesday May 07, 2013 @11:10AM (#43654103)

    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.

  • by David_Hart ( 1184661 ) on Tuesday May 07, 2013 @11:10AM (#43654105)

    to find programmers who like contests.

    ...and who have time to participate in contests

  • by bstarrfield ( 761726 ) on Tuesday May 07, 2013 @11:18AM (#43654217)

    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.

  • by SpinyNorman ( 33776 ) on Tuesday May 07, 2013 @11:40AM (#43654539)

    Decent programming skills are a requirement for a software developer, but only one of many skills required. Given how many people lie about their experience and fail *VERY* simple interview programming tests, having a programming test screening procedure wouldn't be a bad thing, but only to drop the worst, not to automatically hire the best.

  • by vux984 ( 928602 ) on Tuesday May 07, 2013 @01:11PM (#43655809)

    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.

  • by bzipitidoo ( 647217 ) <bzipitidoo@yahoo.com> on Tuesday May 07, 2013 @01:41PM (#43656241) Journal

    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.

  • Re:nope (Score:5, Insightful)

    by pla ( 258480 ) on Tuesday May 07, 2013 @02:10PM (#43656603) Journal
    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".

All the simple programs have been written.

Working...