Developer Assignment

Why an assignment for job applicants?

We believe that the code you write will tell us more than any CV or covering letter could about yourself as a programmer: how you think and how you approach problems. Therefore we ask anyone who wishes to apply for a programming job at Idonix to complete the following assignment before we consider their application. It shouldn't take very long.

What To Do

"We'd like you to write a very small Election Scoreboard application. The app should be able to be run either as an executable on Windows, or as a self-contained html web page in a browser. It should preferably be written in C# or another .NET language, or in javascript, as these are currently our favoured tool-sets."

Specification

  1. Your application will receive and process a series of xml files containing election results from a UK general election. Download an example file or the full set of 650 results.
  2. We suggest your application simply reads these files from a local folder one at a time at the click of a key or mouse button, but if you want to use a different method to get them into your app then please be creative.
  3. Your application should maintain a scoreboard of results, keeping tally of the number of seats won by each party, and their overall share of the vote.
  4. The scoreboard should only display totals for the top 3 parties by number of seats, with a fourth total for all other parties. The displayed totals should be sorted by number of seats, highest first, but 'others' should always be in last place.
  5. As each file is processed, your application should update the scoreboard, and make it visible to the user.
  6. When any party gets enough seats to win a majority in parliament, then the application should flag this up in some highly visible manner - changing colour, flashing or whatever you feel is appropriate to your design - while continuing to process files.

We are looking for your own work and ideas, not just copy and paste from the web, but you may of course use general purpose libraries. Extra points/kudos/smarties will be awarded for applications that are flexible (the rules might change), tested and elegant.

When You're Done!

Send your completed assignment to recruit@idonix.com as a single zip file containing the source code and any compiled binaries or supporting documents as appropriate. Please include your CV and a covering note.

We will give every submission fully considered and constructive feedback, and you're pretty much guaranteed an interview if you follow the specification (unless we think your approach and code is completely hopeless!).

If you have any questions don't hesitate to drop us a line at recruit@idonix.com.

We look forward to hearing from you!