People I've worked for...

Workingmouse
SAP Research Brisbane
MasterCard
The Australia e-Health Research Centre
The University of Queensland
The Department of Natural Resources and Mines, The Queensland Government
The Smart Services CRC
Suncorp

What I'd love to work with...

  • Java / Scala / Haskell
  • Web 2.0 / AJAX / JSON
  • HTML / xHTML / CSS (Cascading Style Sheets)
  • Cloud Computing
  • Schema-less databases such as MongoDB, Cassandra, CouchDB

What I do...

Languages

  • Java / J2ME
  • Groovy
  • Haskell
  • Scala

Enterprise technologies

  • Spring
  • Hibernate / JPA
  • WebServices /SOAP/ REST
  • MVC: Struts, Spring MVC, Spring Web Flow
  • Direct Web Remoting (DWR)
  • Oracle, MySQL, PostgreSQL

Frontend development

  • JavaScript / AJAX / Web 2.0 / JSON
  • Adobe Flex / Actionscript
  • Web2.0 tool kits: GWT, JQuery, Yahoo! UI, Dojo

Software Methodologies

  • Agile eXtreme Programming (XP)
  • Scrum

Aptive Solutions - 2009 - Present

Senior Software Developer

Aptive is an in-house software development firm and consulting agency. Aptive has contracts with MasterCard and with one of Australia’s largest insurers Suncorp. Aptive has experience in building payment gateways and are active developers of test automation tools.

MasterCard Project

Through Aptive, I did product development for MasterCard. Due to strict non-disclosure agreements I cannot reveal the nature of our work with MasterCard.

I was a Senior Software Developer on this project and co-led the front and backend development for this product. I was fully involved with the architecting, testing, developing and performance testing this product.

Skills/Tools used: Java, Groovy, Spring, Hibernate, Tomcat, Oracle, MySQL, MS SQLserver, Ant, Maven, Selenium, Canoo WebTest, DWR, JQuery, FunctionalJava, Spring Webservices, Various XML libraries.

MadCow - Test Automation Tool

MadCow is a System Tester centric test automation tool for testing web applications. Test scenarios are defined by a powerful DSL and are data driven out of a spreadsheet and can be run in parallel. It dramatically reduces the load of manual regression testing.

Aptive built this product in-house and is planning to use it to leverage their consulting business. I co-led the development of this product.

Skills/Tools used: Groovy, Ant, Maven, Canoo WebTest, FunctionalJava, Excel Java APIs

Suncorp Personal Insurance Claims Project

I consulted through Aptive to Suncorp Insurance on their personal insurance claims projects. This is a $20 million dollar project that brought together their various brands onto a single backend platform, Guidewire’ ClaimCenter for processing insurance claims. My role was to integrate their claims processing system into the other systems in the business such as their policy engine, document management, payment systems and web based Vendor Management system.

I also took a lead role in increasing the agile maturity in the team and streamlined their build process and continuous integration, drastically improving their build times and velocity.

Skills/Tools Used: Ant, Hudson (with Griding), Java, Spring, Axis, Tomcat, Oracle, Groovy, Unix Shell Scripting, Spring WebService, Jetty, Maven, SOAP UI

ATB - Automated Test Bench

I consulted through Aptive to Suncorp Insurance. My responsibility was to develop a tool for automated test regression.

I worked closely with the System Testers to develop for them a product that could test their various business scenarios. I fully automated the testing of the Sun Home claims system.

Skills/Tools used:Groovy, Ant, WebTest, FunctionalJava

Workingmouse - 2007 - 2008

Consultant Senior Software Developer

Workingmouse was an advanced software consulting firm focusing on Java, Ruby, Scala and Haskell and with a strong emphasis on agile processes and research into functional languages. I consulted through Workingmouse to SAP Research and to the Smart Services CRC as a Senior Software Developer. My responsibilities included training developers in Agile methodologies, working on open source projects such as the testing framework Instinct and project work for our clients.

PennyPointer

PennyPointer is a web 2.0 personal finance money manager and forecaster. Using Adobe Flex it makes personal finance management accessible to the layman user. It has a strong focus on having a simple and clean user interface. This project was developed in conjunction with Suncorp and the Smart Services CRC.

I was the lead developer on this project.

Skills/Tools used: Adobe Flex/ActionScript, Java, FunctionalJava, Spring, Hibernate, MySQL, Oracle 10g XE, Tomcat, WebLogic, Subversion, ReductioTest

Light Weight Composition Mashup platform

LWC is a enterprise mashup environment that targeted the SAP Netweaver Portal. It allows consultants to dynamically drill out information from related systems through a web 2.0 interface and display that information in charts, tables or on a map. The LWC project won best project team 2008 for SAP Research and the product was demonstrated by SAP co-founder Hasso Plattner to 10,000 customers at the SAP worldwide conference (Sapphire).

Skills/Tools used: Java, JavaScript, GWT, Subversion, SAP Netweaver Portal, Microsoft Virtual Earth, RSS/ATOM parsing, CheckStyle, Emma, JUnit, JMock, Instinct.

BirdsEye

BirdsEye is a location tracking mobile phone application that uses GPS and communicates to a central server. The mobile phone application has the ability to take photos and geo-tag them. It has a web client application that displays these photos on a Google map. Users can track each other and send messages via the web client or mobile application and see a full location history. The service was hosted on Amazon's EC2 cloud computing infrastructure. I co-led the development on this project.

Skills/Tools used: J2ME, Java, Spring, Hibernate, Velocity, HTML, JavaScript, XPath, XML, GeoRss, Subversion, Emma, GWT, Instinct, Canoo WebTest, DBUnit, MySQL, Amazon EC2, Tomcat

Service Broker

The SAP Service Broker is a web services brokerage system that aggregates and choreographs web services into brokered services using BPEL (Business Process Execution Language). I was the lead developer on this project.

Skills/Tools used:Java, JavaScript, Spring (MVC & WebServices), GWT, SOAP, XMLBeans, Hibernate, MySQL, ActiveBPEL, Tomcat, JUnit, Instinct, EasyMock, CheckStyle, Emma, Perforce

CSIRO e-Health Research Centre - 2006 - 2007

Senior Software Engineer

Health Data Integration

The HDI project is a commercialization of a research product. It has been developed with a strong software methodology with the focus on the client. It has been sold to hospitals and institutes within the health sector, such as the Baker Heart Institute and Queensland Health.

HDI is an application to link patient data between different and remote databases without revealing personal information. It is used by researchers for projects such as cancer studies. It is a client-server application with a Java Swing GUI frontend and a JBoss server backend.

My role on this project was to develop both server and client ends of the application, extending the domain model and building new client screens.

Skills/Tools used:Java, JBoss, Hibernate, Swing, Junit, Cruise Control, PMD, Checkstyle, CVS, PostgreSQL, Oracle, MySQL, MS SQL Server, MS Access, JDBC, Clover, EasyMock, SSL

Web Smart Systems - 2006 (2 months)

Senior Software Developer / Web Developer

Smart Practice

Smart Practice is a practice management solution for the accounting industry. It is a web hosted solution built on an AJAX/Java platform. Its web front end is an advanced AJAX desktop/dashboard with drag and drop applications. It uses the Yahoo! User Interface (YUI) and remotes the service layer using Direct Web Remoting (DWR).

I was the lead developer on this project.

Skills/Tools used:Java, Spring, Spring Web Flow, Hibernate / JPA, JUnit, EasyMock, Cruise Control for continuous integration, EMMA code coverage, Direct Web Remoting (DWR), Yahoo! User Interface (YUI) and extensions, JSP including Spring Tags, Tomcat, MySQL, Subversion.

Department of Natural Resources & Mines (Queensland Government) - 2006

Software Developer (Contractor)

MERLIN SIE

The MERLIN Spatial Information Enquiry System is a web based Java based Geospatial Information System. It is used to manage NRMWs spatial mining and resource information. It harnesses an advanced Web 2.0/AJAX frontend and backends on to ESRI's ArcSDE/ArcIMS GIS software.

My role on this project was to implement the system requirements across all layers of the architecture. This included developing the persistence layer and database schema, developing service objects, developing struts actions, developing a rich Javascript/AJAX based user interface which included floating windows and wizards, enhancing the JSON framework for the data transfer, writing JUnit test and writing end user documentation.

Skills/Tools used:Java, JDBC, Oracle, Struts, AJAX, JavaScript, JSON, Apache Tomcat, JSP, HTML/xHTML, CSS, CVS, Eclipse, JUnit, Ant, Java SSHTools, Jakarta Connection pooling framework, TOAD, JNDI, ArcIMS, ArcSDE and Java API

The University of Queensland - 2000 - 2006

Senior System Programmer / Senior Software Developer

Quotient

Quotient is an advanced, flexible system for the real time measuring, accounting and quota enforcing of Internet traffic, developed in house at The University of Queensland. Quotient performs per user billing and tracks which IP addresses a user has used. It implements a unique concept of quota pools, which allows a user to be billing to multiple departments. It handles more than 30,000 concurrent connections. Quotient has enabled departments to save money through managing their Internet usage.

The Quotient product has been so successful that it is was marketed to other Australian and overseas Universities. It has been sold to La Trobe University and has had strong interest from The University of New South Wales, The University of Southern Queensland and Edith Cowan University.

My role on this project was chief architect, developer and implementer. I was nominated for The University of Queensland's Pride in Work Award for my work on Quotient.

Skills/Tools used:Perl, MySQL, xHTML, CSS, UML, Java, Apache and Subversion

WebPrism

WebPrism is a web-based central services management system.

Skills/Tools used:Perl, HTML, CSS, Javascript, MySQL, Apache, Subversion, Ingres

Netflow Internet Monitoring System

In this project I built a high speed netflow processing tool. The purpose was to account and monitor all Internet activity giving detailed reports on networks, ports and protocols. This project was written in Perl and C to enhance performance. I developed a custom netflow collector that allowed for significant compression to the data that was being collected. This was built for Cisco routers and captured data for over 60,000 IP addresses.

Skills/Tools used:Perl/XS, C, Oracle, CVS

Internet Access Software Infrastructure

In my work for UQconnect - The University of Queensland's commercial Internet Service Provider, I have developed systems for the provision of its Internet services such as the infrastructure for the authentication and accounting of its broadband, wireless and dial up services. I have also developed websites where users can access their account details. UQconnect services 35,000+ students, 7000 staff and 8000 commercial clients.

Skills/Tools used:Perl, C++, Radius, PostgreSQL, xHTML, CSS, MySQL, Subversion