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)?"
to find programmers who like contests.
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.
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
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."
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.
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
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.
....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.
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. */
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.
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".