I am a software developer passionate about agile methodologies and object oriented software construction. I have a growing interest and expertise in dynamic languages and collaborative techniques. I strongly believe in the Agile manifesto and the eXtreme Programming values, principles & practices. I take great pride in delivering business focused solutions with tangible commercial outcomes.

Cashbook

Modelled a double entry accounting system for cash based businesses

Technologies used

  • Single page webapp using backbone.js
  • API using Ruby on Rails
  • PostgreSQL as the data store
  • Ansible for server configuration
  • AWS CloudFormation to create production and pre-production end to end environments

whitepages.com.au Digital Displays

Built a WYSIWYG editor using angularjs to allow data entry operators to create microsites for advertisers on the site

Built an angularjs webapp to display these microsites

Sample microsite:

Built a hotel search and booking engine using Rails 3

Integrated with external inventory proivders

Briefly worked on javascript front-end built first using ember.js and later re-written using backbone.js

Single codebase powers multiple websites:

DevOps Engineer, REA Group (realestate.com.au) Jan 2011 - Nov 2011 (11 months)

Automated server provisioning using Amazon EC2, VMware & Opscode Chef to provide IaaS

Automate deployment of in-house software components using build pipelines to create end-to-end environments

Build Ubuntu/Debian packages for internal software

Researched Linux Containers (LXC) to unit test Chef recipes

Senior Developer, Sensis Jul 2010 - Dec 2010 (6 months)

Online Reporting Platform (ORP)

The goal of this project was to record all interactions associated with listings on yellowpages.com.au & partner sites.
Later, ROI reports were produced for advertisers.
The interesting challenges on this project were around the volume & quality of data to process.

  • Involved in planning system architecture at the start of project
  • Automated deployment & orchestration of multiple software components using vlad (Vlad the Deployer)
  • Wrote a database migration tool with support for baselining migrations on a per release basis

Senior Developer, Lonely Planet Sep 2009 - Jun 2010 (10 months)

Guidebook Feedback System

Lonely Planet users provide feedback about information provided in guidebooks.
Feedback very often contained detailed information such changes in trading hours of recommended business, or new contact information for the business.
The goal was to collect this information in organised fashion, such that the updated information would immediately be made available on their website.

  • Rails app to build a multi-step feedback form
  • Heavy use of JavaScript to provide a simplified user experience

whitepages.com.au

Developed solutions to stabilize & enhance reliability of legacy systems

Deliver new business requirements with a focus on testing

Introduce tools & technologies to enhance understanding of systems

Mentor graduates and developers new to agile methodologies.

Played a key role in introducing:

  • Ruby - to enhance understanding and readability of software systems
  • RSpec - to facilitate & enhance communication between business analysts & developers

Iteratively stabilised legacy systems while improving reliability and also guaranteeing accuracy of existing functionality

Transitioned to a short, iterative and regular deployment cycle

Assisted testing effort by automating existing regression suites to allow testers more time for exploratory testing

Screening applicants for permanent positions to build a stable team for the long term

Developed an asset backed finance origination & management system

Learned & applied extreme programming while developing mission critical software in the finance domain

Actively practiced and learnt the values, principles & practices of Extreme Programming

Led the production incident management team

Regularly deployed to staging environments each iteration and production environments on sign off

Gained substantial understanding of asset-backed financing. Learnt about loan amortisation, present & future value calculations, and, interest calculations

Simulated interactions with third-party banking systems to facilitate testing and enhance confidence in system functionality

Architected a J2EE web application for bikesales.com.au using the following tools & technologies:

  • Test driven development
  • Spring for dependency injection & transaction management,
  • Struts & Tiles for controller &view tier,
  • Tomcat as the servlet container,
  • Hibernate as the persistence engine,
  • Oracle as the database,
  • JUnit, JMock & HTTPUnit for unit, mock & integration testing,
  • Anthill for continuous integration.

2000 - 2002 Bachelor of Computing Monash University