Acing a college exam is one thing. But winning a programming competition against thousands of students from around the world is another. For a number of winners of the seven-year-old IEEEXtreme Programming Competition, the hard work has paid off.
The contest involves solving software design problems—most of which can’t be found in textbooks—within 24 hours. Participants compete in teams of 1 to 3 students. Last year’s event in October attracted more than 2,300 teams from 60 countries and were given 22 problems to solve. Teams that finished in first place received a paid trip to an IEEE conference of their choice; prizes like iPads and netbooks went to teams placing second and third. This year's event will take place on 18 October.
The Institute caught up with several of those winning teams to see how the skills used in the contest may have helped them in the real world. And help they did. For example, one graduate founded a start-up, another landed a job at Amazon, and a third coaches other students on how to win programming competitions.
A COMPANY OF HIS OWN
IEEE Graduate Student Member Bojan Kostadinov [below] and his team from Saints Cyril and Methodius University, in Skopje, Macedonia, won second place in 2013. This year he became the founder and CEO of Cloud Solutions, a software development company that develops Web applications, mobile apps, and games. The company works on its own projects and partners on projects with other companies.
Kostadinov finds that the companies he works with value success in contests like IEEEXtreme. “Good results at programming competitions are proof that a person is skilled in problem solving,” he says.
“In any job as a software developer, like the one I have now, it’s important to understand algorithms and data structures,” he continues. “This includes writing the correct code, debugging systems, and analyzing time and memory complexity. Programming contests help improve these skills immensely.”
IEEE Member Jura Bogomolov was a third-place finisher in the 2011 IEEEXtreme competition as part of a team from Belarusian State University, in Minsk. He recently joined Amazon’s headquarters in Seattle where he works on Kindle products. He says many of the programming questions that Amazon asked during his job interview were similar to the programming problems he encountered in the contest. And, he emphasizes, being an IEEEXtreme winner stood out on his résumé.
“It shows my ability to solve non-standard programming tasks, and that I work well in a team,” he explains. At Amazon, Bogomolov is part of a group that develops products to help students study, including digital flash cards designed for the Kindle. “I’m excited because I was a student just a few years ago and now I get to create something new that potentially can reach millions of others,” he says.
And Sira Songpolrojjanakul, whose team from Chulalongkorn University, in Bangkok, came in first place in the 2011 IEEEXtreme contest, is now coaching students who want to compete in programming competitions, including the very one he won. He likens real-life problems to programming problems; to be solved, each one must be broken down and simplified, which is a strategy he teaches his students.
PRACTICE, PRACTICE, PRACTICE
Another key piece of advice from the past winners to would-be competitors is the same given to athletes and musicians: Practice, practice, practice. Work on problems from earlier competitions, learn new algorithms, and try to implement complex data structures, says Kostadinov.
“Solve problems outside your comfort zone and then discuss your solutions with others,” he continues. Work on different types of problems to recognize which technique, algorithm, or data structure is best for each one, he adds.
Other past winners provide more basic advice: Don’t forget to eat during the competition and be sure to sleep the night before.
“It’s really hard to produce good code when you’re sleepy,” says IEEE Member Ronny Kaluge [top], a member of the team from Institut Teknologi Bandung, in Indonesia, the first-place IEEEXtreme winner in 2012. He is one of the first employees at the start-up Traveloka.com, a travel-booking site based in Indonesia. The competition helped him learn to stay calm under pressure, which leads to better decision-making, he says.
Kaluge’s teammate, IEEE Member Irvan Jahja, cautions contestants to eat healthy. “I ate a lot of cheeseburgers during the contest, which was probably not the wisest move,” he says.
Jahja will begin pursuing his Ph.D. at the National University of Singapore in August. He has interned at several high-tech companies, including Google’s offices in Japan and Poland. Winning programming competitions, including IEEEXtreme, helped him land those opportunities, he says.