June 2008-Present Refactor, Gold Coast, QLD.
2003-2008 ASERT Consulting, Gold Coast & Brisbane, QLD.Founder and Director at Refactor, a Java / Grails / Rails consultancy based on the Gold Coast.
Worked onsite at Allotz.com on the Gold Coast developing several Grails applications for internal and external use. We utilized the Scrum development methodology and implemented continuous integration and test driven development.
2002-2003 Yumetech Inc., Seattle, US.Contracted to work onsite for clients of ASERT and writing courseware and J2EE examples for ASERT's training courses.
Initially completed an 18 month project based on the Gold Coast, converting an international web site from ASP to J2EE / Struts, including work on backend batch processing.
Worked on site at Suncorp in the Brisbane CBD on a number of Agile projects. The main project was a print/email/fax gateway web service to be used by other applications at Suncorp so quality was critical. All production code was written with Pair Programming utilizing Test Driven development and 100% unit test coverage. The project made use of Struts, Scriptura, Spring, Hibernate, XmlBeans, Axis, JMock, Groovy, Slide.
In this project I have been able to bring a number of productivity improvements to the team, through the development of custom plugins for IntelliJ IDEA and techniques I have introduced such as automocking and autoboundary which have simplified the codebase and reduced repetition
2001-2002 Hi-Q Systems Ltd, Winchester, Hampshire, UK.Worked remotely from the Kimberleys on the DiRBS project, a 3D virtual library web application for visualization of rare books. The project is completely Java based and my major tasks were associated with the administration section of the project, including creating a graphical library floorplan designer implemented as a java applet. Technologies involved included JBoss for the application server, mySQL for the database and extensive use of EJBs and XSLT to produce pages on the fly from XML.
2000 WetPC Ltd, Canberra, ACT.Recruited from Australia for a fixed term contract in the UK.
Worked as a Java Developer on the development of Hi-Q's LH decision support product, supporting electricity trading in the UK. The application is a client/server system utilising both Oracle and TeraData databases receiving huge volumes of data from several data feeds and converting them to easily understandable graphs and charts in real time.
During my time at Hi-Q I also instigated several efficiency measures such as creating a standard framework for new charts decreasing development time, restructuring the codebase, introdcing automated JUnit unit testing, javadoc and an internal Wiki to improve documentation on the system.
Contracted to remotely develop chord based components in the Waba language for allowing Palm and WinCE handheld computers to be driven with one hand using kords.2000 Boab Engineering, Kununurra, WA.
Remotely developed a Java 1.3 based accounting system for steel sales and general engineering company. Two months total development time including two weeks on site, 2000km away. Support and modifications were performed remotely for 5 years.1998-1999 ADI Limited, Nedlands, WA.
Worked as a Java Software Engineer on the SRCSS project - A deployable command support system, used by the Australian Army Special Forces in their counter terrorism and special recovery roles, that allows optimal planning through assimilating & presenting information about the Special Force situation.I worked in a team of 6-10 developers, mainly focusing on the areas of graphics and Palm integration but working on almost every aspect of the application including networking, database integration, XML, and sketch recognition.
Some other projects I have worked on in my spare time include
- langref.org - Currently writing a Ruby on Rails reference website to compare solutions to problems in different languages. Work in progress.
- AgilePlugins - I have been working on spinning out the the IntelliJ plugins I have been writing for my Suncorp project to make them more general in this project and release them as open source. Two plugins, ToggleTest, and CruiseWatcher have been extracted and included in the standard plugin repository.
- Java - Have been developing commercially for the last 10 years. Experience in all aspects of the core language, including Swing. Recent J2EE experience with Weblogic, JBoss and Apache Tomcat, Spring, Struts, Hibernate.
- Agile Development Tools - CruiseControl, Hudson, Checkstyle, PMD, Junit, Canoo Webtest, Selenium, Clover, JMock, XPlanner, Confluence, Trac
- Ruby - 1 year experience for personal and scripting use. Have written several Rails apps for non-profit associations on a volunteer basis.
- Groovy/Grails - 1 year experience writing utility scripts for a commercial Java project and developing Grails web applications.
- Perl - 6 years experience writing CGI and general utility scripts both commercially and for personal use.
- XSLT - Used extensively for yumetech project for 6 months.
- Platforms - Linux, Win NT/2000/XP/2003, OSX
- Databases - SQLServer, MySQL, Oracle, Teradata, SQLServer. Experienced with queries. Some design/administration experience.
- Development Environments - Experience with IntelliJ IDEA 4.5-8.0 (preferred), Eclipse 3.1, Weblogic Workshop 8.1 and Textpad 4.
- Build Tools - Experienced with the use of Ant, Maven and make.
- Source Control - CVS, SourceSafe, Subversion, Git
Component Development Champion at 2003 TopCoder Open.
- Family - I am married with a 3 year old daughter and 4 month old son. They take up most of my free time these days.
- Coding - Handheld, graphics, games, agile development, rails.
- GPS Navigation, Geocaching
- Digital photography
- Linux PVR MythTV
Available on request.