How to Compete in Development

Topcoder offers a number of challenges where you are able to code solutions, submit ideas, or work on other activities to earn money (and TCO points). This article will go over exactly what you have to do in order to participate in Topcoder’s development challenges.

If you ever experience any issues on the Topcoder platform, your first instinct should be to email support@topcoder.com.

//images.ctfassets.net/b5f1djy59z3a/51AQFpOzF666KKiKmoG6OQ/36a1ecf857defe3283b4505d9ed69395/dev_howto_banner.jpg

Topcoder offers a number of challenges where you are able to code solutions, submit ideas, or work on other activities to earn money (and TCO points). This article will go over exactly what you have to do in order to participate in Topcoder’s development challenges.

If you ever experience any issues on the Topcoder platform, your first instinct should be to email support@topcoder.com.

Step by Step

Viewing Available Challenges
Viewing Available Challenges

The first thing you probably want to do as a competitor is to see what challenges are available to you to participate in. You can find all available challenges on the Challenge Listings page.

On this page you will find the challenge titles, tags, as well as the timeline and prize money for each individual challenge. For additional information on any of the elements you see on this page, simply hover your mouse over that specific area.

01-dev

If you are logged in, the first challenges you’ll see on this page are the ones you are registered for at that moment. As you scroll through the challenges, note which phase the challenge is at. In particular, note which challenges are open for registration when searching for a new competition. To make it easier, you can filter through challenges with the default filters in the menu on the right, or for more flexible options you can use the Filters button in the top right, which will help narrow down your search even more.

Understanding the Challenge Page
Understanding the Challenge Page

02.-dev

Great, you’ve found the challenge you wanted to compete in! Each challenge has its own dedicated page with the description of the challenge and links to relevant material. Let’s look at the different pieces of information you can find on this page that will help you become a worthy competitor.

The Obvious

This top area presents you with the number of winners for that particular challenge and the prize amounts they would receive. Upon first visit to the page, you will be able to click the register button if you plan on submitting by the deadline. Clicking the register button will allow you access to the private challenge forum as well as to some files you may need to complete your submission.

Deadline Bar

Expanding this bar will reveal all of the dates and times you need to know in order to submit your solution on time. Make sure you take special note of the “Submission” deadline as that is the specific moment you need to submit your solution by or else it will be disqualified.

In the event that you are participating in a First2Finish challenge, you should be aware that the first person whose judged submission meets all of the requirements of the challenge will be awarded the prize and all submissions that follow the winner will not be reviewed.

Challenge Overview

These are the details of the challenge you are about to compete in. Be sure to read this section thoroughly before you begin so you do not miss any details. If something doesn’t seem quite clear or you need more information, ask your question in the Challenge Forum.

Challenge Forum

*Note, this link is not displayed until you register for the challenge.
Clicking this link will take you to the private challenge forum where you can ask your questions to the copilot or to generally talk about that specific challenge (more on this later).

After Registering, What Do I Do?
After Registering, What Do I Do?

A few things change once you register for a challenge.

03-dev

First, notice that some download materials may become available to you on the right side of the page. These downloads are materials relevant to the challenge.

Also, you may notice the challenge forum link becomes available. The challenge forum is VERY important.

The Challenge Forum
The Challenge Forum

The challenge forum is where members of the contest and the copilot (the Topcoder member who manages the challenge) post messages to each other. It is important to note that we recommend you click the “Watch Forums” link so that you will receive email notifications whenever a new thread is posted.

04-dev

Typically there are two sections: Code Questions, and Code Documents.

The copilot will sometimes post relevant material to the challenge in the thread “Code Documents” so make sure to view or download those files first.

If a contestant (including you) has a question, needs clarification on something, or finds an issue while working on the challenge, then during the challenge they may post in the “Code Questions” section. Be aware that clarifications and updates posted by the copilot in the forum will override the original specs in case of conflicts! Another reason to watch the forum upon starting the challenge.

Everyone is usually friendly and helpful, however remember that this is a contest and you’re not allowed to share any actual submission details that would give any other competitors an unfair advantage.

What Do I Actually Have To Do For The Challenge?
What Do I Actually Have To Do For The Challenge?

To figure out what you have to do for a challenge, read the description to determine what the challenge is asking you for. Specifically, look at the “Final Submission Guidelines” section to determine exactly what you need to provide in your submission.

05-dev

Preparing Your Submission
Preparing Your Submission

Prepare your submission according to the challenge requirements. Typically, you should create a folder where you’ll put all your deliverables and verification instructions for the reviewers. The actual content and its structure will vary. For example:

  • A challenge asks you to submit a Git patch for a codebase. Your submission folder should have the Git patch file and a verfication.md doc, which will contain any instructions and information for your submission. The verification.md doc should be submitted as a separate file and not part of of your git patch file as it should not be committed into the codebase. Information such as: the base commit where your patch should be applied, how to reproduce the bug you were fixing, how to see it is fixed, etc. should belong in this document.

  • A challenge asks you to create a new codebase. Your submission folder should contain a sub-folder with the codebase. Most of the deployment and usage instructions will go into a README.md file located in the codebase. Any additional instructions should be located in the verification.md file in the root folder of your submission.

  • A challenge asks you to create a virtual machine image, which has a large size. In this scenario you will want to upload the VM to Google Drive or similar service that allows verification of the last modification time of uploaded files and include a link to it into a text file that you submit to the Topcoder system. In certain cases, if the exact instructions were not given in the challenge specifications, it is always a good idea to double-check the exact submission format with the challenge copilot.

Be sure to note the Review Scorecard to determine how to focus your submission. Click the link on the challenge details page to see what the review scorecard will be grading you on. This is the rubric the challenge reviewers will use to rate your submission.

Always be mindful of when the deadline is and remember that if you are competing in a First2Finish challenge you should submit as soon as you have met the requirements.

Make Your Submission
Make Your Submission

When you’re finished with your submission, zip up the files and submit it to be reviewed.

To formally submit your submission, go to the challenge details page and press the “Submit” button.

06-dev

A new page will show up. It should be pretty straight forward from here; simply upload your submission, check the box to agree to the terms, and press the submit button.

07-dev

And now your submission is submitted! If you want to change something before the deadline, you are able to submit again (which will overwrite your old submission). Only the latest submission will be judged by the reviewers and the submission time will be used to break any ties in the event that multiple competitors received the same score.

Post-Challenge Phases: Review and Appeals
Post-Challenge Phases: Review and Appeals

You can view the status of your submission by clicking the “Review Scorecard” button on the challenge details page that we had displayed earlier.

08-dev

When looking at the Review Scorecard, click the “My Open Projects” tab at the top of the page. It is here that you can see all challenges that you’re registered for.

09-dev

Click a challenge to see it’s details.

10-dev

From here you are able to see the phases of the challenge, see the judge’s comments when they become available, and also make your appeals.

Review Phase
Once the submission deadline is over, the review begins. The copilot (and/or reviewers) will review all of the submissions for that challenge. They’ll judge the submissions based on the challenge description and the review scorecard.

Appeals Phase
Once the review phase ends, the appeals phase begins. This is important, because if you feel that a reviewer has misjudged your submission, you can write a message “appealing” to them by identifying why your submission should be scored higher. You are only allowed to appeal reviewer mistakes or any inconsistencies in the scoring of your solution. Once you have either submitted your appeals or agree with your reviews; press the “Complete Appeals” button, which signals that you are done with your appeals. If every competitor has pressed that button before the scheduled end of the Appeals phase then the phase will be closed earlier, saving time for both you and the project.

10 1-dev

When you click the “Complete Appeals” button, a secondary confirmation page will be prompted. Click “Confirm” to complete the appeal.

10 2-dev

The page will be redirected back and the link no shows as “Resume Appeals”. If you think you need to resume the appeal, you can click it.

10 3-dev

Appeals Response
Once the Appeals phase ends then the Appeals Response phase begins, which is where the reviewers will check everyone’s comments and amend the scoring if necessary. Once that phase finishes, the challenge ends.

You will get email notifications when each phase of the challenge begins and ends.

The Challenge Is Over, Who Won?
The Challenge Is Over, Who Won?

The challenge is over when the Appeals Response phase ends. You can go back to the challenge details page (or click the link in the email you get) and a list of winners and scores for each submission will become available.

11-dev

The challenge is officially over. The competitors who placed will be awarded their prize money.

Note: each scorecard specifies the minimal score threshold necessary to qualify for a place. If your score is lower than the threshold, you will not be awarded a prize.

Downloading Submissions
Downloading Submissions

For Code, Assembly, and UI Prototype challenges — after the challenge is over, you are able to download the submissions of other submitters if and only if your submission passed review. Note that different tracks of challenges have different score thresholds for passing review. After the challenge is over, you can visit the Online Review page of the challenge and click the link of the submission to download it.

11 1-dev

Although you may not have won the challenge, your hard work is still rewarded because by being able to download other’s submissions (especially the winning submission), it is very helpful to learn why the winner was able to obtain a higher score. Then in your next challenge you will be even that much more prepared.

The Topcoder community is not only a crowdsourcing platform, but also an important and useful learning vehicle for you to enhance and improve your technical skills.

Payments
Payments

Shortly after a challenge ends, prize money is awarded to the winners. To see your prize money, hover your mouse over your profile name, and click “Payments”.

12-dev

Here are some notes to remember about payments:

  • It may take up to 24 hours for a payment to appear in PACTS.
  • If you haven’t already, you should fill out and submit a W-9 or a W-8BEN. Click here for more information.
  • Your payment methods are either through Paypal, Payoneer, or Western Union. For more information you can click here.
  • Each prize payment is on hold for 30 days.

Extras

Challenge ID Tips

The Challenge ID is the unique identification of a challenge. You can easily access challenge related pages if you remember the ID.

How to get the challenge ID? Note that the URL form of a challenge page https://www.topcoder.com/challenges/

You can get the URL from the address bar of your browser when visiting a challenge page. For example, if the URL is https://www.topcoder.com/challenges/30063881, then the Challenge ID is 30063881

Then you can easily access:

(1) The challenge page by visiting https://www.topcoder.com/challenges/

(2) The Online Review page of the challenge by visiting https://software.topcoder.com/review/actions/ViewProjectDetails?pid=

Having trouble submitting?

If you encounter an issue when uploading your submission to the submission page mentioned above, you can also try to upload your submission directly to the Online Review page.

12 1-dev

Click the “Upload Submission” link, then you will see the following page

12 2-dev

Click “Choose File” to choose your submission zip archive, then click the “Upload” button. Once the submission is uploaded successfully, the page will be redirected to the Online Review page of the challenge and you will see your submission (with a submission ID).

12 3-dev

Click the submission ID link then you can download your uploaded submission and verify you uploaded the correct one.

Potential opportunities on Topcoder other than competing

As a new member to Topcoder, you are most likely to assume the role of "Competitor" as you begin to participate in challenges, compete against others, and win prizes. If you find yourself always winning challenges and becoming one of the best in your field, you may find yourself with potential advanced opportunities, including:

1) Getting assigned private tasks
Copilots always prefer winners with high quality submissions when looking for someone to complete a private task. Private tasks are typically a short duration, no competition, and contains a quality prize amount. If you always complete challenges and private tasks well, you will begin to see a continuous flow of these opportunities.

2) Becoming a Reviewer
Again, if you are someone who has proven that you are very well-versed in your craft and in the technologies you develop in, you may have an opportunity to become a reviewer at Topcoder! Reviewers are a key role when it comes to guaranteeing the high quality output of every challenge by individually inspecting and rating each submission. Being a reviewer helps you expand your career path and the payment isn't half bad either.

3) Becoming a Copilot
Reviewing not your thing? Perhaps more of a role in management is what you enjoy, and with a background like yours you may be interested in an opportunity to become a Copilot. Copilots are the members that you see leading the challenges that you compete in and they have many responsibilities such as:

  • orchestrating a given project or series of projects
  • communicating with customers
  • receiving and clarifying requirements from customers.
  • writing challenge specifications and launching challenges.
  • managing budgets and timelines

Sound cool? For more information and to apply, visit this section of the Help Center.

FAQ

Here are a few answers to our most common questions
What is a copilot? After registering for a challenge, how do I know who the copilot is?

A Copilot is essentially the project manager of a challenge. He or she was the one to write the challenge specification and launched the challenge. Don’t hesitate to post questions in the forum if you have any problems or doubts with the challenge, the Copilot will be happy to resolve it for you.

The Copilot can be easily recognized as they are the member who is answering or providing materials in the forum.

Additionally, Copilots are also community members like you! This means if you are experienced enough by proving your talents in a variety of challenges, you have the opportunity to become a Copilot and start managing projects. For more information, visit this section of the Help Center.