We are looking for a developer who specializes in statistics and probability calculations.
You will develop the underlying technology behind a lottery-based promotion for a franchise of a large international beverage manufacturer. The promotion will run for estimated five weeks.
The promotion goes like this:
The beverage manufacturer will print lottery codes on the inside of the label on some of its products. Those codes will have to have check digits and other security features to reduce forged/fake codes.
The end-customers will be able to enter the code on a website to see if they have won a prize. Prizes are not bound to each code, but smaller prizes are randomly drawn when the end-customer has entered a valid code.
The end-customer will know immediately when he/she has won a prize.
Each code will only be usable once and will be invalidated by being stored in a MySQL database.
You will develop software that will draw out estimated 10.000 (ten-thousand) small prizes during the promotion by drawing out as close 285-286 prizes per day as possible. The participation will vary during each day of the promotion and each hour of the day, so the software will have to use statistics and estimation to draw out each prize randomly and let the user know if he/she has won.
You will also help us generate the codes to be printed on the back of each beverage label.
We will appreciate if your software will be run using a well-documented JSON API to communicate with our existing systems. The software is required to run on our production servers running Debian GNU/Linux 6.0 and Apache2.
We use Github for all our software development and will give you access to a private repository to use during the development. Your source code is required to be clear and well-documented.
Skills: mathematics, software-development, linux