Topcoder was acquired by Appirio (Cloudspokes parent company) recently, which has ended on the recent merging of the two platforms. I think this makes sense because Topcoder is a much more mature platform, and the Topcoder team along with the community is already doing a great job merging the best of both platforms on the new awesome page. This said, I just completed my first Topcoder challenge, so I thought on writing my experience as it might be valuable for fellow Cloudspokers. So bear with me, don’t panic and don’t forget your towel!
I was a Cloudspoker for one and a half year, and I loved the platform. It had some flaws but it was very dynamic and fun to compete in. I am sure most of my Cloudspokes partners felt that way. When I registered for Topcoder, my first impression was something like this:
Sorry for the joke, but surely you get my point. UML editor, Assembly, Arena, Studio, SRMs… So many things! I am also sure most of my colleagues are feeling or felt this way at some point. However, once you start moving handles and pushing buttons, it starts to make sense. So let me expose my findings in the next five points:
Topcoder has a registration phase, so you have a couple of days to register on a challenge. After that, even if you are capable of code the solution on the remaining time, you are not allowed to do so. This may sound inconvenient at first, but I think I know the reason and it is for good.
It was really frustrating to check Cloudspokes challenges, see ten people registered and say “Ahhm, so crowded, better try the next one…” just to finally realized nobody really submitted and you should have registered. This solution addresses the problem along with the next point.
Think before registering
On Topcoder, you have a reliability score. And reliability bonus along with this score, which is higher when you submit every time you register. I think this is a cool way to avoid massive registering. And even if a challenge is crowded, you can know who is more likely to submit, just to take a look at the score.
One think I think it could be better is being able to view the participants of each challenge from the challenge page itself like on Cloudspokes. Now it is a bit hidden, you will have to list all challenges, click on the participants number link which will take you to the detail page, but I am sure this will be covered on the new design.
Make forums your friends
On Cloudspokes we had a single thread on the same page challenge to ask for clarifications, specification updates, etc. On Topcoder we will have to dig into the forum challenge. I personally find Cloudspokes approach is easier and more usable here, as you could just read everything from top to bottom, but in exchange we will get a better organized forums and subforums, with more configurable notifications.
Understand different phases
On Cloudspokes we basically had 3 official phases, being:
Adding an ad-hoc fourth one sometimes between submit and results, asking for fixes or clarifications. On Topcoder this gets a bit more complicated, I will try to explain each one.
- Registration: As I said before, don’t wait till the submission deadline, or you will be too late cowboy!
- Submission: This is basically the same. Big warning here, the platform currently only accepts a file, and each one overwrites the last one, so you will have to zip the solution. Also it does not accept URLs, so include them on the readme.
- Screening: This is a filter prior to judge, be sure to read the screening scorecard to pass! There is the possibility to not passing screening for a valid solution just for configuration issues or tiny error. I think there should be a reasonable short period of time when you are able to fix your submission if it does not require major changes. However, when used carefully I think this might be useful for judges, I remember losing time judging really weird things back on Cloudspokes.
- Review: This is the same as in Cloudspokes, you are judged by other community members, only difference is that this score itself will not earn yourself the victory. Warning: Unlike in Cloudspokes, judging is anonymous, so instead of your name and email, you will have to put a placeholder on the documents just before the final phase.
- Appeals: Remember comments on the scorecards? Now you have the possibility to reply to the judge! Big Tip: I got a 87% initial score, and I was the only submitter through screening, so as a beginner I thought: “Nahhh, I don’t want to appeal, I’m fine”. Big mistake, because to pass the final review you will have to address all these issues brought by the judges, and this is your possibility to flag “false positives”, issues that really are not, in order to reduce the final list of issues.
- Appeals response: Here the judges will validate your appeals, and then goes to a single judge to sum up every issue.
- Aggregation: You will receive a final scorecard with all the found issues for you to fix.
- Final fix: Here you will finish the submission so everything is perfect. That means final review will have to pass with 100%. This is very important and a big difference with Cloudspokes.
- Final review: The judge doing the aggregation will finally review the application.
- Approval: Here the copilot will validate the solution, and finally you will get your beloved prize!
- Guarantee: This is a period of time when you might have to fix hidden issues to get the rest of the prize.
Pay attention to the details
I found the Topcoder review system a bit more rigid than on Cloudspokes. For example, I got complaints on the deployment guide format. There is a template, and you have to use it. Also all the new code has to be documented.
I hope these tips help you. Let me know if you have any other tips!