Are you an Android Dev looking to showcase (or test) your programming skills? Now’s your chance with Google’s 15th Code Jam programming contest. The prize? You can earn the reputable title of Code Jam Champion and a $15,000 cash prize. Not to mention that you’d get a huge career boost if you add that title on your CV and most likely a job offering from Google. Here’s a “behind the scenes” video of Code Jam to understand it better:

There will be several qualification rounds starting on April 6th, 2018 and the best part is that you can participate in the contest from the comfort of your home. It even allows you to code using your favorite programming language to solve their algorithmic puzzles. Here’s the sign-up form if you are interested: Code Jam Registration.

The registration form asks for quite a bit of information:

  • Obviously your name and desired nickname (will show in the competition board)
  • Country you’re from or representing (for national bragging purposes :) )
  • Your professional status and the language you want to send solutions in
  • Some checkboxes to decide if you want to receive emails. A particular one is allowing them to send you “Job opportunities at Google”. Basically the main goal of organizing the contest is recruiting and discovering talent.
  • 1,000 participants will receive a T-shirt thus you must add your full address and even t-shirt size in case you are chosen as the winner
  • A lengthy TOC ends the registration form. And here’s a funny thing, the contest is open for anyone in the entire world except for residents of Crimea, North Korea, Syria, and… Quebec. If that’s not a proof that Americans don’t like Canadians then I don’t know what is ;) (kidding though, most likely some stupid Canadian law).

Last year they allowed submitting solutions in any programming language, but this year things have changed. For some reason PHP isn’t on the list, but the most important ones are: C, C++, C#, Java, Python, Perl and Ruby. They do have a section for Other but that is only as a suggestion for them to add new ones.

What will the problems be like?

Most likely every Android dev that participates will choose Java as the programming language. The programming platform you’ll be coding into is quite advanced for a browser-based app, with server-side code evaluation and interactive problems. You can even participate in practice sessions to prepare for the contest.

Regarding the problems that will be presented, those will all be algorithmic based. The team @ Google will create these puzzles, and as a fun fact you must know that most of those creating the problems are actual Code Jam competitors from previous sessions. They work now at Google, as a stronger hint of what other prize you could get (becoming a Googler).

If you are looking to practice or to see what type of problems will there be, you can check an archive of all previous Code Jams here: https://code.google.com/codejam/past-contests

Here’s a live example of a problem, that was in last year’s Final round:

How are winners chosen?

To get to the finals you’ll need to pass the qualification round and then some other intermediary rounds. Your score for each round will be calculated based on a total number of points received and the penalty time:

  • Point total is the sum of the points received from each problem.
  • Penalty time is the latest penalty received (among all penalty times from all problems that you solved) plus 4 minutes x total number of penalty attempts across all problems.

As an example, if a round has 3 problems and you:

  • On problem 1 scored 30 points, with a penalty time of 1:23:45, and 2 penalty attempts.
    – Attempted problem 2 but never solved a test set; you scored 0 points, with a penalty time of 0 and no penalty attempts.
  • On problem 3, you scored 15 points, with a penalty time of 0:12:34, and 1 penalty attempt.
  • Based on the rules, your total score would be 45 points, with a penalty time of 1:35:45. The higher your point total, the higher your rank – for 2 same scores the penalty time will make the difference.

What’s the prize?

There are several prizes for Code Jam contestants and finalists:

  • 1,000 limited edition T-shirts. Given that there will be 6 rounds (not counting the final one), it depends which round you’ll qualify into to get the T-shirt.
  • The top 25 finalists will be invited to the World Finals in Toronto (other side of Canada). All expenses paid by Google.
  • The prize for the finalist will be a cash prize of $15,000.
  • What’s not mentioned in the list of prizes but I’ll give you a hint about is the possibility to work at Google. But that’s kinda’ implied.

They also have a lengthy list of FAQ for the Code Jam where every question you might be interested in is covered.