Crowdsourcing Software Development to the Masses
Lucas123 writes "Computer World is running a piece on Crowdsourcing. That's a catchy term for the practice of taking a job traditionally performed by employees or a contracted company and outsourcing it to an undefined, large group of people in the form of an open call on the Web. Article author Mary Brandel views it as a viable way to develop cheap but innovative software. Sites like TopCoder and their coding competitions are becoming more popular with big name companies like Constellation Energy because programmers who take on the job are global, offering many different perspectives on any one job. 'The creativity and innovation of how people are rationalizing these designs and building components enables us to interject a perspective and approach that normally we wouldn't have access to,' Constellation's director of IT said." Is there any potential here, or is this just a buzzword bad idea?
All of "open" and reward based programming schemes are merely ways to avoid hiring programmers. "Let's find someone to do it for free." Only morons would do it.
This is my sig.
TopCoder has nothing to do with people accomplishing work. It's a competition, nothing more.
I bet this will be about as successful as my last idea, cokesourcing. I'd open my garage door in the morning and there would be piles of cocaine for anyone to walk up and snort in huge mounds. While they were there I merely encouraged them to add some code on the computers sitting in my garage.
I've never seen so many confusing drug related delusions put into comments! Luckily the comments made for a great book and that was how I, L. Ron Hubbard began Scientology!
While this definitely isn't new it's always a good thing to get another pair of eyes on code. Turning it into a competition has the tendency to trick programmers into doing better or working harder with a (sometimes false) sense of personal gain.
Excuse me while I gather the virgin sacrifice and assemble the pentagram required to solve your problem
Whatever kind of software we are talking about, you'll most likely get a horrid UI and the resulting usability headaches.
On one hand, you get design by committee. A UI that is not great, but just didn't offend anyone, the software equivalent of a meal at Olive Garden. Many MSFT apps have a designed by committee feel.
On the other hand you get no real UI conventions so various parts of the application look like what they are: a patchwork. Some F/OSS software has this type of design shortfall.
Sounds like a less focused version of an open source project. F/OSS embraces a certain ideal. I don't know if providing a free service for a for-profit corporation falls under that idea.
blah blah blah
"Crowdsourcing" usually means getting people to do stuff for you for free, where you own the results and the people who created them cannot use them except by paying you (if at all). This is why people should be sure that projects they contribute to as volunteers release their results under some kind of Free license. For example, contributions to Wikipedia are free-licensed, and even if Wikipedia died or turned ultra-evil tomorrow, you could use the articles yourself under the GFDL, or set up a fork based on them. The same is true of contributions to MusicBrainz (Open Audio License), among other such projects.
For a good early example of the opposite, recall the CDDB fiasco---lots of people submitting data that ends up owned by someone who won't let you use it except under onerous licensing terms. The rise of "Web 2.0" has basically taken CDDB-style business models and made them much more common, so it's important to make sure you aren't enabling that sort of thing that in the long term ends up working directly against your interests.
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
So, the company describing this task had their architects divide the "project" into a hundred or so pieces to be worked on separately. Then, the best designs, submitted confidentially, get picked and used the company, with some "royalties" getting paid out. The company developers combine the best of these components into the finished product...
Something just doesn't seem right here... MobSourcing, RiotCoding, I mean CrowdSourcing. Seems like a good way to get all sorts of stolen code, easter eggs, and pretty much crappy code into your codebase.
Jeesh - Doesn't anyone read the classics anymore? It's only been available for over 130 years...
Building new things is great and all but any sane software engineer will understand that maintaining the software is a much harder and more complex problem than building the first version. Even if you pick the best built components, at some point later your customers are going to want a new feature or want a broken feature fixed. I don't think you can simply hold a competition to figure out who can submit the best maintenance job. Additionally, once the competitors submit their entries, they have no further obligation to work for you. So you've essentially lost the most important assets (the people that wrote the stuff) on the day you receive the finished the work. You could always have your own people maintain it but they will be much more costly than had you kept the original authors who do not need to re-learn the code.
I put a job on Rent-A-Coder once. The job was to take an existing GPL piece of Python code that understood how to query some, but not all, of the various registrar WHOIS servers, and make it understand the output from each of them. The existing code was years out of date, but did approximately the right thing. Each registrar has a slightly different format for the same WHOIS data, so you need a collection of parsing modules, or something smart enough to do it generically. It's not a difficult problem, just time-consuming.
The code, and a test file of 1000 test domains, was provided. The statement of the problem said that all the test cases had to work. The resulting code would be re-released under the GPL.
Four programmers in succession took that job, with bids from $200 to $500 and locations from Ireland to Russia, and none of them produced any working code.
They must have added the '-' in their address lately. Guess they got way too many requests from confused individuals.
Everybody uses broad generalizations.
....until you get one crap piece of code that goes into an infinite loop on bad input or just some odd input and kills the whole shit. Unless you've written a good set of unit cases, and if you did you'd probably easily write the code yourself with that level of understanding. Reviewing code is IMO a very time-consuming and difficult skill, and putting good people to review bad code to look for the best is usually a waste of time. Either they will skip the checking, or they're skilled enough to write it themselves and on better time. Though I suppose it's better than putting bad people at reviewing, which is the deaf leading the blind. Honestly, would you like a product that's put together by a hundred different indian code shops, only somewhat worse?
What every software company wants is predictability - they want to know if you typically turn out good code or poor code, then they can review accordingly. And by that I don't mean nothing, everyone has a bad day and everyone makes mistakes, but if it's the new intern you know it needs much more review. There's no way they could be just as thorough on all parts and still deliver this century. Crowdsourcing sounds to me like a lemon market, where you'd want reliable contributors rather than the fly-by-night lemon sellers. That's exactly the opposite, where you go into long-term relationships and both side want long-time commitments rather than this micromanagement.
Live today, because you never know what tomorrow brings
Crowdsourcing?
You mean..
Open source?
Difference?
Hey I know, let's make up buzzwords for things that already have them. Yes, that's going to help.... I say we brick this idea.
I do not respond to cowards. Especially anonymous ones.
Why pay for something when you can get it for free (even if you're only paying pennies on the dollar by outsourcing)? Comedy clubs have used this model for years with "Open Mike" nights, and media outlets have their unpaid "interns".
There is an endless supply of desperate, talented people who will do anything for free in the hope that their gifts will get them noticed by an employer. Employers, of course, are quick to exploit this reservoir of free talent without mercy or restraint.
I've calculated my velocity with such exquisite precision that I have no idea where I am.
See it everywhere. .com with all the tech outsourced. Apparently if you kiss enough asses and make enough powerpoints you start to believe that that's what makes shit happen. The leaches go from one very important golf game to the next while the engineers are busy making shit and rolling their eyes at the douchebaggery. Engineers make the world go round. The eyerolling I mean, something about angular velocity or some shit. Kind of slept through physics class. I was a business major at the time, didn't think it was very practical.
Overstock.com Divulges Secret To Its Cyber Monday Success
Their secret? They hired engineers. I shit you not, they were a
Truly, if one has the masochistic desire to experience cringe-worthy job requirements, go to rentacoder. You too can develop code for $50 that would otherwise be worth thousands of dollars. A few years ago, I thought I would join and make some extra cash.. But it turned out to be an opportunity to troll assholes trying to get something for nothing.
.wav and convert it to a midi ring tone. Guy in India wants it done for $50-ish dollars. I've written something similar in Matlab, so I know how freaking non-trivial it is.
Some projects I recall off the top of my head:
-Write software that will take in a
- Create a solid state disk drive for somebody's extra RAM. Willing to pay $300. Har har. I, ahem, told them I could make a prototype for $50k, plus the cost of Xilinx tools.
I've done bits of consulting, and doing projects for small, clueless companies is by far the worst job you can do as an engineer. They are technically clueless, don't understand that engineering costs money and want it done yesterday. Rentacoder and its ilk only magnify these problems, because they troll for technical people who will work for relatively nothing.
Recently, I offered to hire myself out as an embedded systems engineer at $60 an hour, and that is pretty much whoring myself out compared to what other people charge for consulting, but the Indian dude who wanted to hire me only wanted to pay $20 an hour. F off.
All I can say is, if these site works for somebody, good for them. I have bigger fish to fry. It's quite hard for me to see how this attracts any real talented people.
A witty saying proves you are wittier than the next guy.