Developer Contests Abound
Participate for fun, prizes, skills, and recognition
BY PEGGY ALBRIGHT
Computer programmers and software developers are competitive by nature, accustomed to tackling complex problems on a daily basis and working under intense pressure to deliver solutions that meet very precise design and performance characteristics. As a way of recognizing and taking advantage of these traits and tapping into the talent pool that computing professionals offer, numerous organizations and businesses each year host developer contests designed to spur innovation in particular technologies, build ecosystems of developers in specific specialties, or find computing solutions to real-world business or social problems.
Depending on the contest, developers can pursue these events for various objectives. Participants may seek out the enjoyment of competition or a chance to hone their skills for the workplace, build recognition in a particular technology area, or, perhaps, earn prizes in the form of cash or commercial products. Not all contests are created equally, of course, and some offer better odds and incentives than others.
This article offers descriptions of contests offered by prominent technology companies and competition sponsors. For those who haven’t participated in programming events before, here are a few tips:
Make sure you understand the contest’s goals and criteria for winning, to make the best use of your time, to guide your work appropriately and assure yourself that it is doable.
- Read up on the intellectual property terms before you decide if you want to share your ideas and work; while many events guarantee that you’ll retain ownership over your ideas, this isn’t always the case and you could later feel that you’ve performed spec work for the host company.
- Go the extra mile with your work. If there’s room for it in the rules, add some flair to your design or create a value-added application with the technology you develop. It will help your entry stand out from the crowd. If you’re entering competitions simply to advance your skills, participate in members’ forums and seek feedback from your peers. There’s no risk involved, other than your time, and the experience can be highly valuable.
A good, central resource for computer programming contests is TopCoder (http://www.topcoder.com), a competition aggregator that runs contests for about 40 organizations, from government agencies to blue-chip firms in vertical markets such as financial services, auto insurance and others serving horizontal markets such as consumer electronics manufacturers.
TopCoder functions as a crowd-sourcing organization, publishing its clients’ programming needs and product specifications to members of the TopCoder community of more than 220,000 developers from 200 countries. Members enter competitions that represent all phases of the software development cycle.
As of December 2009, TopCoder was managing more than 100 contests, offering more than $40,000 in prizes. In addition to the competitions it manages for its commercial customers, TopCoder conducts twice-monthly algorithmic competitions. Contestants can enter to quickly solve algorithmic problems and compete with their peers for fun or to refine their skills. In 2009, IEEE-USA became a sponsor of TopCoder’s annual programming tournament, the TopCoder Open.
TopCoder participants can earn cash for prizes as well as points, referred to as TopCoder ratings. Those who win frequently can earn substantial amounts of money and those with high TopCoder ratings can find advantages in the job market.
Each year, Google offers Code Jam, an online competition for professional as well as student programmers in which contestants are asked to solve complex algorithmic challenges in a specified amount of time. The contest culminates in finals held at Google’s headquarters in Mountain View, Calif. The contest lets participants use the programming languages and techniques of their choice. It offers a grand prize of $5,000. The most recent contest was held in fall 2009. For information about next year’s contest or other future contests, go to http://code.google.com/codejam.
For those in the visual computing field, Intel hosts an annual game developer contest, called Level Up, to drive adoption of its technologies. Winners receive various prizes and publicity at major gaming shows. Information about the 2010 event will be released in the first quarter.
Another major Intel event is its ongoing Threading Challenge, offered for several months twice per year. The Threading Challenge is designed to entice developers to solve parallel coding challenges. Winners can receive cash or products such as netbooks. Intel’s newest event is the Intel Atom Developer Challenge, launched in fall 2009, to promote development of groundbreaking applications for Atom-based netbooks as well as components that developers can use in their codes to accelerate application development.
Top prizes include a smart car or vacation package, Deadline for the first phase of the contest is 2 February, 2010. The company will begin the next round of contests in the second quarter. A good starting point for information about these and other contests is the Intel Software Network site, at http://software.intel.com/en-us/.
Microsoft sponsors numerous developer contests to promote innovation with its various platforms. For example, in fall 2009, in conjunction with the release of its Windows 7 operating system, the company introduced the Code 7 competition with nearly $18,000 in cash prizes for applications based on the OS.
One of its more high-profile events is the Pathfinder Innovation Challenge, cosponsored with NASA’s Jet Propulsion Laboratory. The contest invites software developers to win prizes for creating tools, based on the Windows Azure platform, that provide simplified ways to access and analyze the hundreds of thousands of Mars rover images. Entries are due 15 February, 2010. For information, visit
Microsoft says that the next event to watch for is the March 2010 Microsoft Mix for designers and developers who build innovative websites. The event traditionally hosts a competition to create small Web applications based on either the Microsoft Silverlight browser plug-in development tool or Windows Presentation Foundation. The call for entries opened 15 December. Visit the MIX site for information: http://live.visitmix.com/.
The Web as Platform
ProgrammableWeb.com, an online resource for mashups, APIs, and the Web as platform, identifies and tracks developer contests of interest to this community. According to Adam DuVander, a writer for the site, these contests are increasing in number, from about 20 in 2008 to more than 35 in 2009. A common theme to emerge this year is government-based contests. Initially sponsored by nationwide organizations, local governments are getting into the trend, with cities such as New York and San Francisco offering prizes to developers who can create innovative ways to use the cities’ respective datasets. To access ProgrammableWeb’s listing of contests, go to http://www.programmableweb.com/contests.
As mobile phones have become smart phones that run sophisticated computing capabilities, manufacturers and operating system providers have hosted developer contests to attract developers and create applications for customers. Google, through its Android Developer Challenge, and handset manufacturers such as Nokia, Samsung, and others, have offered substantial cash awards to winners of their respective developer contests. ProgrammableWeb is one resource to find some of these competitions. Another is http://www.fiercedeveloper.com.
Many of the leading contests held around the world have an educational focus. These are conducted to help undergraduate and graduate students learn new techniques, advance their skills, and perform under pressure.
IEEE Computer Society
The IEEE Computer Society is launching an annual student competition for undergraduates with prizes totaling $10,000. Teams are invited to construct a piece of software that simulates a CPU. The competition is open to all collegiate teams consisting of three to five undergraduates Participants must register online at http://www.computer.org/portal/web/competition by 11 January, 2010 and submit their projects by 9 April, 2010.
The IEEE also offers its annual IEEEXtreme contest, a 24-hour online competition in which student teams compete to solve a challenge set of programming problems to win trips to IEEE conferences and other prizes. The 2010 event has not yet been announced. Look for it here: http://www.ieee.org/web/membership/students/xtreme/.
IBM is well-known for sponsoring the annual Association for Computing Machinery International Collegiate Programming Contest (ACM-ICPC), which culminates in a world championships that it calls “The Battle of the Brains.” The ACM-ICPC challenges university students from around the world to create software programs that will help improve important environmental, health, and social issues. Winners receive prizes and scholarships.
Another popular contest is Master the Mainframe, which challenges students to perform real-life systems programming tasks on its mainframe technology, “System z.” The contest offers prizes as cash, consumer electronics products, and trips to IBM’s mainframe plant in Poughkeepsie, NY. For information about these and other student contests at IBM, go to http://www.ibm.com/developerworks/university/students/contests/.
Microsoft hosts Imagine Cup each year. Considered the largest student competition in the world, the contest is designed for students to work on software solutions that can help solve healthcare, poverty and other problems identified by the United Nations Millennium Development goals. The competition will host the US finals in Washington DC in April. The worldwide finals will be in Poland in July. For information, go to http://imaginecup.com/default.aspx. CW (17 December, 2009)