1. Rails Web Developer

Job Description

Circle Software develops a cloud application which until now has mainly been used by bookshops and publishers. We started in New Zealand but are now rapidly expanding in Australia. We want a developer help us get through the work load and to develop and improve the code base.

As a small company we are dedicated to making a world class product but are relaxed about how and when you do it. You will get the opportunity to play a large part in the development of the product and direction it takes.

Current systems:

  • Pivotal Tracker for project management
  • NewRelic for performance analysis
  • GitHub for source control
  • Generally Mac or Linux for the desktop environment
  • Rails 3 on MySQL
  • Ubuntu web servers


  • A good command of and Solid experience with Ruby/Ruby on Rails, MYSQL, be committed to and apply programming best practice.
  • Familiarity with Linux web servers
  • Know how to build automated tests using RSPEC test framework.
  • Design and maintain SQL­Server Databases and be able to review and optimize sql queries to improve database performance.
  • Development experience with a large scale SAS application for business.
  • Be reliable and produce tidy code
  • Good communication skills in English


  • A good command of front end technologies html, css, javascript etc
  • Have experience with both rails 3 and 4
  • c++ experience
  • Have experience in and understand the Agile development process and tools.

Nice to have:

  • Linux webserver admin skills
  • An eye for design and experience with design programs
  • Skills in on page SEO
  • An understanding of the retail environment or retail systems.


  • Bachelor of Science, Computer Science


  • 1 – 2 years programming experience


Send applications to warwick@circlesoft.net

  • List your experience in relation to the points above
  • Answer the following problem inline in your application. Applications that don’t have this will be ignored.

Problem 1: Write best practice code in ruby to calculate the check digit of an ISBN13 barcode

The algorithm is:

Take each digit, from left to right and multiply them alternatively by 1 and 3

Sum those numbers

Take mod 10 of the summed figure

Subtract 10 and if the end number is 10, make it 0

Example for 978014300723:

(9×1) + (7×3) + (8×1) + (0×3) + (1×1) + (4×3) + (3×1) + (0×3) + (0×1) + (7×3) + (2×1) + (3×3)


86 mod 10 = 6

10 – 6 = 4

Therefore the complete ISBN is: 9780143007234


Problem 2: Do a code review of the following code


class AddressesController < ApplicationController

 # other code was here

 def delete


   if @address.account_id!=@auth_account.id && !@auth_account.admin_at(@site) && !@auth_account.manager_at(@site) && !@auth_account.staff_at(@site)

     flash[:error]=”You dont have permission to access this page”

     redirect_to root_url



   flash[:success]=”Address deleted successfully”

   if !params[:landing].blank?

     redirect_to params[:landing]


     redirect_to index_checkout_url