Getting in EmpireOne; condition of entry #6

At EmpireOne, we prone “try before you buy”. Because so many people in this world can talk the talk, we use the following mini-test in order to find out who can really walk.

If you were asked to, please read through the following instructions, making sure you pay a special attention to the technologies and deliverables section.

In the real world, not all of your questions will be answered, and often non-technical users involved in a project are not in a position to translate their needs into tech jargon. This is why the below “requirements” include an amount of variability in order to establish you abilities as a Programmer Analyst, more than only your code-writing skills.

Software requirements

We need an application to print virtual bank cheques. The application takes in the recipient name, a date and a nominal value, and generates a virtual cheque (on screen) with the proper string representation of the value, eg. when 1,303.48 is entered, convert to “One Thousand Three Hundred and Three dollars and Forty-Eight cents”.

User Stories

1.1 – Creating a new cheque requires the operator to enter a value, a payment date and a recipient name. Entering valid details will trigger the application to (a) save the cheque generated and (b) display the generated cheque, as per 1.4.
1.2 – List of all cheques saved is available and shows a the date, recipient name and value as well as a link to view.
1.3 – Filtering the list is possible by clicking on a recipient name, which results in showing the list of cheque as 1.2, but for a selected recipient only.
1.4 – Viewing a cheque allows for the operator to view the cheque as saved and generated out the system, including (but not limited to!) the numeric to string representation conversion.

Technologies and review

last updated in Jan 2013

You are free to use technologies as you see fit. We would strongly recommend using a technology stack which we use (PHP or Ruby, perhaps CakePHP or Rails) however. The application will be evaluated as a whole. The aim is to understand your abilities and subsequently assign the right tasks with the right amount of details to the right person. You should handover something you are prepared to put your name against while all aspects of the assignment will be evaluated; code structure and quality, comments, ui and layout, design patterns and good practices, etc.

You are free to use or reuse any code, as long as credit is given to the original copyright holder, if any.

Deliverables

There are two key deliverables. First a working application which must be installed where you see fit and available to the outside world for a period of 4 weeks. Second you must email jobs@empireone.com.au a link to your updated linkedIn profile (an up-to-date resume could do), as well as compressed archive containing the entire codebase for your application with all associated assets (sql, css, js, etc) and a setup instructions file.

Written by

Managing Director of EmpireOne Group in Sydney, Sebastien has made a life of understanding both sides of the fence. Born in Canada and educated as a self-started business software engineer, not a single day passes without finding Seb tweaking a process, system or piece of code.