||I was thinking the other day about how TC's model is both very cool, but also quite strange.
In normal life, a company might invite suppliers to bid for some work they want doing... suppliers submit a portfolio and a bid and the company decides who to give the work to.
Imagine instead the company requires all suppliers to actually do all the work, and then picks a winner and only pays them.
I find it hard to see many people finding that attractive, but on TC everyone takes it for granted - someone might invest a solid week of work in a component/architecture contest or a Studio design and get nothing back.
Would it work if people used a similar method for the kind of small projects posted on RentaCoder? I can't imagine it, but then maybe people said the same about TC when it started?
||It's like a sport. Suppose you are a decent golfer who plays in local golf competitions. You'll miss the cut many times (earn 0) but sometimes you'll make the cut or even win.
It all depends on what are your average returns per competition.
||I know how TC works. The question is if people would choose to participate in such a model in a generic "I want to pay someone to do some work" context.
For instance say I advertise in a newspaper "website design competition".
||I'm pretty sure they will participate. However the participation depends on many factors like:
Size of audience (note that topcoder has many thousands of highly capable coders out of which a very small percentage participates)
Amount of money involved (obviously)
Recurrence of work (people are less likely to do a one-off project)
There are probably many other factors which I cant think of now.
||Actually for me, I decided to work on topcoder because I'm a student and I don't do anything useful in my vacation but now, even If I have been graduated I may not stop working because I'm more experienced than later.
But Imagine, if I knew topcoder and I already had a work. I think I wouldn't take a risk and competing.
||Just out of curiosity,
Are you doing TC full time after your graduation? I mean why didn't you opt for a regular job? I am just asking for guidance.
||I may phrase it wrong in my post.
First I'm still student, I'll graduate on July 2010.
What I mean is if I graduated I'll not stop working for TopCoder. But I'll not work full time that's because of the following reasons:
* Some time TC don't have clients especially for .NET, So I'll not have work
* I plan with my friends, to make a small company based on our graduation project.
* I may got a regular job if I couldn't make the small company.
But the most important part is that, I'll not stop working at TC as the salaries in Egypt is very low. 3 years ago, I got an internship. The senior there was taking 5000L.E almost $1000 that means a well experienced person just take the same as If I compete in one competition (although the competition may grant us Digital Run Points)
Also, I'd like to hear about your opinion. and the jobs in Indian
||The same situation in India as well, a senior enginner can earn $1000 in a month!
||Yes, the situation is almost same here.
However, if you are a earning like a yellow or red coder/designer on TC then I still think one can devote whole time to TC. But I am NOT that consistent like yellow or red coders so I can NOT have a decent minimum monthly remuneration(I expect a minimum $500/month for full time devotion to TC) for my work. Thats why I am still in doubt what to do! :)
BTW: Are you pursuing a 4 year Engineering program in Computer Science?
||>>if you are a earning like a yellow or red coder/designer on TC then I still think one can devote whole time to TC
Actually, If there are lots of work like this summer I earn a lot. But the problem, I don't expect myself to work as coder my whole life, that's why I want to make a company or work regular job and go up in positions. but still have TC to work for, just a competition per week or 2 weeks is enough.
Our Engineering Program is different here. It is 5 year engineering program. But the 1st year is called preparatory year which we study almost everything in engineering, then we choose department in 2nd year, I chose computer department :)
what about your? Are you still a student? and what's your engineering program?
||>>Actually, If there are lots of work like this summer I earn a lot.
you were lucky... :)
>>I don't expect myself to work as coder my whole life
You can compete in other high level competitions at TC like Design, Architecture, Specification and Conceptualization. They are equivalent to upper level positions in a regular job.
>>but still have TC to work for, just a competition per week or 2 weeks is enough.
IMO one competition per week is maximum for me even when I am regular with TC. Along with job i don't expect more than 1 competition per month and it may be 1 competition per two months or even NO competition at all because here in India a regular job sucks you as you have to work for 12-14 hrs on an average. With such working timings I think it is NOT possible to compete at TC because here also timelines are very strict and you have to perform well within the given deadline. That is why I always get amazed by the competitors on TC who are competing and winning at TC along with a regular job, like dcp etc!!!!
>>what about your? Are you still a student? and what's your engineering program?
I have competed a three year Bachelor of Computer Applications and right now I am in the search of job. However, here in India there are NO good jobs for a BCA passout. you have to do further higher studies i.e. Master of Computer Applications(again three years!!!!!) for a good job even when one have studied almost all papers of MCA in its BCA!!!!!
Isn't it great??? :)
BTW I think we are moving out of the topic of thread. So I am closing my thoughts here!!! :)
||TC's model is actually older than the "crowdsourcing" buzzword, and than the internet, and is quite common in graphics design. For a good overview, see spec work.
The reason why it is not common is that if you want 10 regular, non gambler type people to work on your problem competitively, the prize should be ten times the cost that each single person would ask for the problem without the competition from other 9. It is thus significantly cheaper to hire a single person based on his resume and/or interview. The selection process is not free and not ideal, but you need to select in contest as well.
The 'crowdsourcing' is a key for it to work. If you tap into a huge crowd of people (entire internet), even a tiny percentage whom find this acceptable for a variety of reasons is still many enough people for one business like TopCoder.
On topic of RentACoder, look at it from this perspective. RAC has 2.5 thousands currently open bid requests. TC has 1 assembly competition at the moment. You're comparing watermelons to strawberries; neither a tiny watermelon is optimal, nor a large strawberry.
||The reason you can't compare RentACoder and Topcoder is not the # of projects, it's basically because RentACoder works more like :
- "Who can work for me?"
- "I can for X dollars"
- "me too, X/2 dollars"
- "me me, X*2 dollars but I'm good"
then the project holder decides.
Topcoder is more like:
- "There's some work here, if you think you're good, come and prove it"
and that's it.
Besides that, RentACoder does not guarantee that you'll get the money even if you "win" the project (win here means get accepted to work, and do the work), I'm saying this because I have some friends that didn't get paid even after completing the project.
While at Topcoder, if you win, YOU WILL get paid.
I've never seen a group of admins working as much closer to users as Topcoder admins, and for me, this is what makes the difference, you feel fairness all around the place. And, in case you feel that there was an injustice just drop a mail and you'll get your answer. (I'm speaking from experience here)
||"Besides that, RentACoder does not guarantee that you'll get the money even if you "win" the project (win here means get accepted to work, and do the work)"
It happens that a coder thinks he done the work and buyer doesn't think so, then RAC acts as arbiter. A win on RAC is choosing a good project, completing it, and having your solution accepted - or winning the arbitration (and should your solution not be accepted, buyer won't have right to use your code, which ensures that buyers don't usually turn down code that meets the requirements).
For the admins, I agree that RAC admins don't work so closely with people - there again they have two to three orders of magnitude larger participation, it is impossible for them to have the level of close admin interaction which you see here and which appears essential for TC model.
The topic of this thread, is explicitly a question, whenever RAC could implement TC's model. My opinion is, it can not; it has approximately same number of coders but two to three orders of magnitude more projects to be done - and it's not just the number of projects itself but ratio of number of projects to size of community. They plain have smaller crowd/sourcing ratio in their crowdsourcing.
edit: and I'm not saying that RAC is better than TC or that TC is better than RAC. I guess that depends very much to particular coder.
||It happens that a coder thinks he done the work and buyer doesn't think so, then RAC acts as arbiter.
Yeah, we all know how it works. After long arguing you may be awarded half of the initial payment.
One thing I like about tc is that it's on one side with coders, you don't have consider a possibility that managers will dump you.
and should your solution not be accepted, buyer won't have right to use your code, which ensures that buyers don't usually turn down code that meets the requirements
I don't have any statistics on this, but it sounds just naive. Considering what significant ratio of jobs posted is about cloning some (copyrighted) web portal, I doubt many clients there will be able to resist temptation to just dump a coder.
has approximately same number of coders
I don't know how you count, but let's not mix 'algorithm' coders and people who actually deal with software.
||that's another good reason why you shouldn't do ethically questionable jobs, on RAC or elsewhere.
edit: missed noun. Seriously, I totally agree that significant fraction of RAC jobs are very bad - but also very obviously bad. E.g. a job that has to do with c++ and gmail, yahoo, facebook, etc. and the coder must be from eastern europe and details are to be discussed in private. Looks fishy, like a login stealer. Now, if someone writes a login stealer, and doesn't get paid, I say, serves him right.
Good point about difference in communities as well. Another reason why TC cannot be compared to RAC, and why TC approach is less likely to work on RAC. I may be broadly over generalizing but I think that competitive approach ought to be more successful in a 'programming as sport' community, like TopCoder's, than in some other 'programming as daily job for a living' community, even though there ought to be some overlap.