Personal Details
Name: Adam Kerz
Email: resume [at] kerz [dot] id [dot] au
Address: Brisbane
Professional Qualities
  • I am highly skilled in many programming languages. I write Java and Python everyday and have been using them both for over ten years. I write SQL several times a week. I also consider myself fluent in another six languages and competent in many more that I no longer use frequently.
  • I easily pick up new technologies and languages. As a J2EE web application developer I often have to use over ten different technologies, frameworks and languages in a single project. I have developed applications using many databases and application servers and have administered multiple versions of Windows and multiple distributions of Unix operating systems.
  • I am often required to work on multiple projects at the same time and have good time management skills.
  • I am equally happy to work with a team or individually. I have good interpersonal skills and get on well with clients and team members alike.
  • I have managed several projects and have reasonable managerial skills.
Career Goals
  • To continue learning interesting skills and technologies
  • To continue producing useful and efficient software solutions
  • To become more involved with open source development and contribute to worthwhile projects, ideally as part of my full time work
  • To live and work overseas for several years, perhaps somewhere like Spain where I can combine my work with my other passion, rock climbing

Employment History
Sole Trader: Owner, Software Engineer
December, 2003 - Current
I run a very part-time business providing IT services to various clients.
In 2013 and 2014, whilst travelling around Europe, I took on an increased amount of work (equivalent to 15hrs per week), adding significant new features to the 'OnGuard' product, increasing it's saleable value. The client remained very satified with my work, proving my ability to work remotely, as I have only met the client face to face a handfull of times in the last eight years.
  • Find and engage clients
  • Software engineering process, including:
    • Understanding the problem
    • Creation of requirements
    • Design
    • Development
    • Testing
    • Deployment/release
    • Maintenance and Support
  • Research of required software/programming language knowledge
  • Research of web hosting solutions
  • Decision making
  • Use effective communication skills
  • Time management
  • Management of the business side (eg. billing and tax)

'OnGuard' ACEPro - OnGuard Safety Training Pty Ltd
'OnGuard' ACEPro is currently purchased by and used in over 800 secondary schools around Australia to provide Occupational Health and Safety Training and Testing for students and teachers in Design and Technology classes.
In 2003, I began working with Bruce Lewis of OnGuard Safety Training to develop the current 'OnGuard' ACEPro product. It is an ASP website written in VBScript running on IIS5 and 6 under MS Windows 2000, XP and 2003. The backend database is an MS Access database. This configuration was distributed and deployed locally at all schools.
Over the first nine years we evolved the product through four major versions and tens of minor updates, often integrating new features as suggested by clients. It went from a customer deployed solution with an installer and remote database upgrades to a Software as a Service solution with one server but 1500 MS Access databases.
In the last three years the client has seen the value in migrating to a single database with a new front end implementation in Python and Django. We are still working through the front end migration process with old VBScript on a Windows and new Python/Django on a Linux server accessing two complementary PostgreSQL servers. I also perform system administration on these servers for ITE Services as well as the standard development and support roles.
The range of OnGuard products have been so successful that OnGuard Safety Training are currently looking to expand into other OH&S markets and also overseas with considerable interest from the Chinese market. - Buick Car Club of Australia (QLD)
In 2006, I developed and configured a Seagull Framework based website to allow content management of the website by members of the car club.
I also researched and organised a PHP and MySQL hosting solution that served the needs of the framework and the club.

Face2Face Zimbra - Peter Schwenke
In 2006, I developed a KickStart Linux CD to install a custom extension of Zimbra onto a blank PC. This involved first automating the installation of Fedora Core 4, then adding the custom Zimbra installation and finally configuring it as part of the KickStart installation.

GIS Software Engineer, Department of Sustainability, Environment, Water, Population and Communities (DSEWPaC)
September, 2011 - January, 2013
The Environmental Resources Information Network (ERIN) is a group of sections within DSEWPaC with the purpose of providing data analysis and spatial data integration services to the department and the general public. The Landscape Analysis and Ecology Section (LAES) provides mapping services for the 2000 odd threatened and endangered species and ecological communities listed under the Environment Protection and Biodiversity Conservation (EPBC) Act as well as providing vegetation mapping for use with the department and released as the National Vegetation Information System (NVIS) to the general public.
One of the primary tasks of my job was to I take on and complete an existing project, the Species Observations Database. It was a Java based web application that allowed non-programmers to read Species Observations data from many state, federal and non-government sources in many formats and import and translate into a unified relational database (using DarwinCore field definitions). I first worked with the external developer of the application to fix some bugs and later took on the development work myself to finalise and deploy the system and successfully loaded all of the existing data we had from all of our sources in - about 36 million records in over 20 different formats.
Technical skills employed:
  • Java
  • Python
  • Apache Tomcat
  • Oracle 10g
  • SQL
  • Knowledge and handling of various large text (1GB+) and database source data formats (CSV, MS Access, Comma delimited text, Excel, Oracle Dumps, Shapefiles, ArcGIS File Geodatabases)

Another of my primary tasks was to automate basic distribution mapping to find new observations since a distribution map had been completed, perform various error checks on them and then extend the distribution map to include tentative "maybe" regions. This involved significant interaction with ArcGIS from a Python application to load points, select points outside the existing distribution, detect outliers based on calculations against both the current distribution and the existing points, add new regions to the existing distribution map and replace the old one. At the time I left it was still being fine tuned but was producing very acceptable results.
Technical skills employed:
  • Python
  • ArcGIS both using ArcMap and via the Python packages
  • Oracle 10g

I also wrote and maintained various other small GUI programs in Python to help automate some of the many manual processes that the mappers would go through, such as several tools to perform extracts for regular but adhoc data requests.
A number of colleagues within the ERIN group also wrote their own Python scripts, although none of them were trained programmers, so I provided Python and development support and training on a semi-regular basis.

Dialog Consultant
December, 2004 - September, 2011
Department of Environment/Department of Climate Change and Energy Efficiency, National Solar Schools Program
May, 2008 - October, 2008 and July, 2009 - September, 2011
The National Solar Schools Program provides grants for installing energy efficiency equipment in schools.
Originally, under tight time pressure, I developed the requested MS Access application to track and approve grant applications and to manage the projects. The partially completed application went live in the first week of July soon after the start of the program on the 1st of July, 2008. From July through to October I continued to develop the application to handle the later parts of the program. I then returned in July, 2009 to convert the back end database from MS Access to Oracle, perform some maintenance tasks and add newly required functionality.
At the start of 2010, it became clear that this application was not going to be replaced by a department wide tool as per the original plan, so we began designing a Python/Django based application. This application will replace 10 individual components that together comprised the entire program management system.
We have currently developed the new application form along with a sophisticated set of statistical calculations to rank applications as the program has now become a competitive grants program. Now that the functionality required for the current funding round is completed, I am re-implementing components of the old system such as the registration form and migrating old data into the new, more robust schema.
As part of Machinery of Government changes that moved our branch into the Department of Climate Change and Energy Efficiency, I was required to assist in transitioning our systems to the new infrastructure and, most importantly, setup and configure a set of dev/test/prod servers to host our systems on.
A very satisfied client.
  • Manage the project (including one additional developer at times)
  • Gather and define system requirements
  • Design the solution
  • Implement the solution
  • Run ad-hoc queries as required
  • Setup a dev/test/prod environment to host our application
  • Transition our systems from DEWHA to DCCEE

Additional responsibilities before the re-platform:
  • Integrate with the Grants Register website (Oracle 10g)
  • Import and update GreenVouchers data (Excel spreadsheet), PvRP data (MS Access) and DEEWR data (Excel spreadsheet)
  • Import claim form (Adobe SmartForms/xml/csv) and interim claim form (Excel spreadsheet)
  • Work with other stakeholders for system integration: SRA IT, GV team, PvRP team, Environment & Business Information Strategies Section
  • Facilitate integration into Clarity for when it comes online
  • Convert the MS Access back end to Oracle 10g

Technical skills employed:
  • Python
  • Django
  • Linux System Administration (Apache/mod_wsgi, configuring and compiling packages)
  • Oracle 10g
  • MS Access Forms, Reports and SQL
  • VBA
  • Excel

Department of Environment, Indigenous Protected Areas Program
April, 2010 - September, 2010
The Indigenous Protected Areas Program provides funding for community groups to extend the National Reserve System.
I provided Oracle skills on a part time basis whilst working on other projects. I provided input into the design of the database schema and implemented the schema. I also provided advice on the implementation of the front end (MS Access).
  • Oracle schema design and implementation
  • MS Access consulting

Technical skills employed:
  • Oracle 10g
  • MS Access Forms, Reports and SQL
  • VBA
  • Python

Department of Environment, Database and Internet Management Section
May, 2010 - June, 2010
DaIMS develop and support a number of systems used to administer the environmental legislation (particularly the Environment Protection and Biodiversity Conservation Act) that the Approvals and Wildlife Division are responsible for.
I was required to build a custom Django widget that provided an efficient dynamic search facility through several hundred thousand taxon names using jQuery. I was then also required to integrate this into a dynamically generated form.
Additionally, I was required to develop a html scraper that extracted public notices posted by a legacy system that is no longer understood and scheduled to be de-commissioned. As systems are replaced, this html scraper will allow us to verify that no new notices are being generated from somewhere we don't realise.
  • Develop a custom AJAX based widget to search through taxon names
  • Develop a html scraper to extract data from an obsolete system

Technical skills employed:
  • Python
  • Django
  • JQuery
  • PostgreSQL

Department of Environment, Caring For Our Country Program
April, 2010 - May, 2010
The Caring For Our Country Program provides funding to various communities and organisations to better conserve and manage Australia's natural resources.
Under extremely tight time pressure, I developed scripts to extract, transform and load the data collected as part of the application process into an MS Access database. This allowed the client to run queries on the data to answer questions coming from up the chain. I then began implementing a user interface to allow the assessment panels to allocate scores for different criteria depending on which of the 16 grants the applicant was applying for. I also implemented some initial score calculations for criteria that were numerically based. Finally, I implemented the calculations to combine the scores, rank the applications within their jurisdiction and distinguish the applications that were high enough to get funding.
  • Design the solution
  • Implement the solution
  • Extract, transform, load data from the application form schema

Technical skills employed:
  • MS Access Forms, Reports and SQL
  • VBA
  • Excel
  • Oracle 10g
  • Python

Centrelink, Staff Assisted Claims
August, 2009 - March, 2010
The Staff Assisted Claims application is used by Centrelink staff to create approximately 70,000 new claims for customers every month.
A large component of this application is running on seven Windows machines each providing CORBA accessible functions. I am required to re-platform this component onto the SOE midrange environment running on Solaris. A previous attempt resulted in CPU and IO bottlenecks on the production systems starving all applications of processing power. Therefore I am required to analyse the cause and implement a solution to allow the component to run efficiently on the SOE platform.
  • Analyse the cause of poor performance
  • Design and implement a solution
  • Test with simulated real load
  • Deploy the solution
  • Decommission the old platform

Technical skills employed:
  • Java/J2EE/EJB3
  • JUnit
  • IBM ClearCase
  • IBM Websphere Application Server
  • DB2/Hibernate
  • Python

Centrelink, Local Activities Database
February, 2009 - June, 2009
The Local Activities Database lists organisations and their activities that Centrelink customers may participate in to meet their requirements to receive a payment.
I was required to re-write the application from a ColdFusion web application into a J2EE web application as ColdFusion was no longer supported. No documentation was available so I relied on the ColdFusion code as the specifications. In an effort to consolidate two similar applications, I was required to integrate the application with another previously developed application (ServiceFinder). I was therefore required to migrate the current data into the ServiceFinder schema. I also produced a technical specification for the application.
  • Reverse engineer the ColdFusion code and produce a technical specification
  • Implement the solution and integrate it into the ServiceFinder application
  • Migrate the Local Activities Data into the ServiceFinder schema

Technical skills employed:
  • Java/J2EE/EJB3
  • JSF
  • Spring Framework
  • ColdFusion
  • JUnit
  • IBM ClearCase
  • IBM Websphere Portal Server
  • DB2/Hibernate
  • Python

Department of Environment, Renewable Remote Power Generation Program
October, 2008 - February, 2009
The Renewable Remote Power Generation Program provides rebates for replacing diesel or mini-grid power sources with renewable power sources in remote areas.
I managed this project to develop a J2EE web application running on Oracle Containers for J2EE (OC4J) with an Oracle 10g back end. The application allowed all state departments to enter paper application forms into a central system in a consistent form for processing and reporting. I performed the business analysis, documented the requirements, designed the solution and managed five developers to implement the solution.
The project finished on budget and on time, with only small maintenance tasks needed since.
  • Manage the project
  • Analyse the business needs and define the system requirements
  • Design the solution
  • Implement the solution, developing and managing technical staff
  • Migrate old data from ad hoc Excel spreadsheets and MS Access databases
  • Deployment

Technical skills employed:
  • Java/J2EE/EJB3
  • JSF
  • JAAS
  • JUnit
  • Subversion/TortoiseSVN
  • OC4J
  • Oracle 10g/Toplink
  • Python
  • MS Access and Excel

Department of Environment, National Pollutant Inventory
February, 2007 - August, 2007 and January, 2008 - April, 2008
The National Pollutant Inventory collects, reviews, analyses and publishes emissions data from industrial facilities around Australia.
The objective of the project was to re-write the previous system comprised of ad-hoc spreadsheets and distributed MS Access databases, which were manually converted into a common format and imported into an Oracle database. I played a key design and development role in this multi-million dollar project that is now live and tracking emissions from thousands of industrial facilities.
  • Liaise with the client to gather requirements
  • Design and development of database and business layers
  • Manage the design and development of the web service layer
  • Develop Test-NG test cases
  • Perform user testing for the UI
  • Deployment

Technical skills employed:
  • Java/J2EE/EJB3
  • JAAS
  • JUnit/Test-NG
  • Python
  • Subversion/TortoiseSVN
  • JBoss4
  • Oracle 10g/Hibernate
  • JSF

Department of Health and Aged Care, Project Management Information Systems
September, 2007 - December, 2007
The Program Management and Information System (PMIS) will track, manage and report on all of the Department's Funding Processes.
I designed and implemented web service and database persistence layers based on the provided systems requirements. I also developed JUnit test cases for all code written.
  • Implement business logic for web services
  • Implement JDBC code to retrieve, manage and persist collections and structures of beans
  • Implement transaction management code for database retrieval and persistence operations
  • Develop JUnit test cases for all code
  • Design and document design for web service and persistence layers

Technical skills employed:
  • Java/J2EE/EJB2.1
  • Spring(WS)
  • JUnit
  • Oracle 10g/JDBC
  • IBM Rational Application Developer (RAD) v6.0 and v7.0
  • IBM Websphere Application Server v6.0
  • Subversion/TortoiseSVN

January, 2005 - February, 2007
In my two years at Telstra I took on a wide range of roles from developing J2EE intranet websites to system administration, database administration, hardware maintenance and Perl and Python scripting.
J2EE Application Development:
  • Liaise with the client at all stages of the projects
  • Discover requirements and design: Exchlist, Telways, Cabcount, AND, T3Extract, Data Quality Framework
  • Develop the previously listed applications as well as: IDT Indials, Equipment Manager, Location Manager
  • Provide support for the previously listed applications as well as: PSP, HiBIS, NCFA, NodeManager, Gfeapp, Sensismaps, DQDatamart, End Date Calculator, Power Line Overlay
  • Provide technical support to NodeManager developers on NpaCommons and LDAP account-01 use
  • Framework development of NpaCommons - database efficiency, single sign on and various other improvements
  • Java/J2EE/EJB2.1
  • Jakarta Struts/JSP
  • HTML/CSS/Javascript
  • Oracle 9i and 10g
  • LDAP
  • JUnit
  • CVS

AND Extracts - Perl database application:
  • Discover requirements, design and implement
  • Perl/SQL/Oracle 10g

System Administration:
  • Administer Dev, Test and two load balanced Prod Solaris 8 machines physically located in Sydney
  • Support Sun One Application Server 7 on Dev, Test and Prod machines
  • Administer various other machines running Solaris 9 and 10, Red Hat Linux 7.3, Fedora Core 4 and HPUX
  • Install, configure and support Sun One Application Server 7, Sun Java System Application Server 8 EE, Oracle 9i and 10g and MQ Series on Dev and Sandbox machines
  • Write scripts using pexpect to automate remote changing of expiring passwords for application robot accounts
  • Physically installed two production machines for the MultiMan application into the data centre and installed Solaris 10 on them
  • Install and configure OpenLDAP server and SolarisLDAP client to support redundant replicated telnet authentication for the MultiMan application
  • Configure and monitor Amanda backups
  • Configure NFS mounts
  • Manage LDAP application robot accounts
  • Configure DNS aliases for applications
  • Design and configure parts of the Dev, Test and load-balanced Prod cluster network.
  • Generate and install HTTPS certificates for applications
  • Provide CVS support to developers
  • Install, configure and support SVN for new projects

Hardware Maintenance:
  • Upgrade hard drives and memory in old Red Hat Linux 7.3 machines

Database Administration:
  • Install, configure and support Oracle 9i and 10g on Dev and Sandbox machines
  • Configure tablespaces
  • Create accounts
  • Setup schemas and populate by replicating data from the QA environment

Summer Of Code, Google
Universal File System Interface for Python
As part of Google's two month long Summer Of Code program, I developed the Universal File System Interface (UFSI). UFSI is an open source python package to allow path and file like operations to be performed on various file systems or file system like objects through a standard interface.
At the close of the program I had implemented and tested a sizeable set of operations for native (Unix and Windows) file systems, HTTP and FTP protocols and Tar archives. The framework is fully extensible, providing a standard interface for further implementations, and automatically detecting and handling known file system types.

Computer Technician, Advanced Computer Support, Lismore
December, 2002 - November, 2004
Casually employed when needed, often only one or two days at a time.

  • Build new computer systems
  • Upgrade computer systems
  • Problem diagnosis and repair of computer systems, both hardware and software
  • On-site installation of computer hardware and software
  • Work as part of a team

PASS Leader, QUT Faculty of IT
January, 2004 - November, 2004
Peer Assisted Study Scheme Leader for Software Development 2, a content heavy unit on Java ADTs and formal method specification.

  • Prepare worksheet questions
  • Facilitate classes and group participation of students (up to 40 students per class)
  • Motivate students
  • Answer questions by email
  • Communicate effectively with students and other staff

Builder's Labourer
March, 2004 - June, 2004
Part time labourer for Rob Cook, renovating a house.

Orientation Leader, QUT O-Week, QUT Faculty of IT
February, 2004
  • Run learning activities and answer questions on university life
  • Provide a guided tour of the university

Desktop Publisher, Northern Rivers Press
December, 2002 - February, 2003
Typing, formatting, scanning photos and arranging a book on the history of Trevan Ford from a handwritten draft.

Software Engineer, Lismore & District Netball Association
March, 2002
I developed a GUI application in Java to allow the creation of a round robin draw for netball carnivals as well as installing a CD Rom drive.

Teacher/Tutor, Lismore High School
October, 2001 - December, 2001
Taught a class of 15 - 20 students from years 9-12 basic C++ skills after school.

Computer Technician, Lismore High School
December, 2000
Spent the last week of the school year doing various computer maintenance tasks, including diagnosing problems fixing known software bugs and upgrading certain software packages.

Tutor, Virtual Visions
May, 1998
Tutoring students from the community in general computer skills, web usage, 3d modelling, web authoring and simple object oriented languages as part of a project organised by Chris Goh.

Technical Competencies
Levels of Competency:
  1. Trained and familiar with but little experience.
  2. Sound knowledge and understanding. May require more research to use less common features.
  3. Strong knowledge and understanding. Several years worth of experience.
  4. In depth knowledge and a high level of proficiency. Able to provide technical expertise. Five years or more experience.
  5. An industry leading authority on the subject. Able to teach at an advanced level.
Development Environments Rating
Emacs 4
Eclipse and variants (IBM RAD, RSA) 3
SQL Developer 3
Toad 2
Visual Studio 2
MS Access 3
Subversion/TortoiseSVN 3
IBM ClearCase 2
Programming Languages Rating
Python 4
Django 3
Java 4
J2EE 3
Jakarta Struts 3
Java Server Faces 2
Spring Framework 2
Lisp (EmacsLisp) 3
Perl 2
JavaScript 3
JQuery 2
Haskell 2
C 3
C++ 2
Visual C++ 1
Visual Basic 2
VBScript 3
Visual Basic for Applications (VBA) 3
Pascal 1
Basic 2
XML (including DTD, XSD, RelaxNG) 4
Cascading Style Sheets (CCS) 3
Web Servers Rating
Apache Web Server 4
Nginx Web Server 3
Internet Information Server (IIS) 3
Sun One Application Server 3
Oracle Containers for J2EE (OC4J) 10g 2
JBoss Application Server 2
IBM Websphere Application Server 2
IBM Websphere Portal Server 2
Macromedia Dreamweaver 3
Analysis and Design Tools Rating
User Interface Design 2
Rational Suite 1
MagicDraw UML 2
Microsoft Visio 2
Microsoft Project 2
Distributed Computing Rating
Web Services 2
Java RMI 2
C/Perl/PHP Sockets 2
Geographic Information Systems Rating
ArcGIS 9/10 2
Operating Systems Rating
Windows (from 95 to 8) 4
Unix/Linux 3
Cygwin 3
PC & Desktop Products Rating
Microsoft Office Suite 3
Lotus Notes 2
Multimedia Rating
GIMP (Graphical Image Manipulation Program) 3
Macromedia Flash 2
Macromedia Fireworks 2

Academic History
Certification Date Mark
Sun Certified Programmer for Java Platform, SE5.0 6th February, 2008 93%
Queensland University of Technology, 2003-2006
Course GPA
Bachelor of Information Technology, Majoring in Software Engineering/Data Communications 6.609
Awards Year
Golden Key International Honour Society 2004
Dean's List - Faculty of information Technology - Honour Student 2003
High Distinctions Languages
Software Development 2 Java
Software Development 3 C
Object Technology C++
Software Engineering Principles Java, SQL, MS Access
Concurrent And Distributed Systems Java RMI, CORBA
Programming Languages Haskell
Network Services Perl
Network Administration Bash Shell Scripts
Introduction To Computer Architecture And System Software
Computer Architecture Assembler (x86)
Introduction To Databases SQL, MS Access
Advanced Databases MS SQL Server, PostgreSQL, MS Access
Introduction To Network Technology
IT Professional Studies 2 HTML, ASP VB Script, JavaScript, SQL, MS Access
Distinctions Languages
IT Professional Studies 1 HTML
ICT Systems Life Cycle
Information Security
Credits Languages
Wireless And Mobile Networks Java
German 1 (German)
Lismore High School, 1997-2002
University Admission Index 95.5 (Equivalent to OP 3)
George Nesbitt Award for Proficiency - Top Male in the school 2002
School Captain 2002
HSC in Software Design and Development and Mathematics Extension 2 Completed 2001
Software Design and Development 1st
Mathematics Extension 2 1st
Australian Students Prize for Excellence 2001
International Programming Competitions
Competition Result
ACM International Collegiate Programming Contest, 2004 4th in Australia
International Olympiad in Informatics, 2001 95th in the World
South East Asia Regional Computer Competition, 2001 5th in the Region
United States of America Computing Olympiad Fall, 2002 1st in Australia

Other Interests
  • I studied a semester of German at uni as an elective and would have done more, if I had more electives available to me.
  • I studied French at high school for two years.
  • I have played the Saxophone for over ten years now, although I don't play much at the moment. In 2007 I played with The Taken at the Pot Belly Bar, Belconnen, ACT. Before that I played in a band in Brisbane although it was just for fun, so we didn't have a name, nor perform anywhere. In high school, I was in a band called Middleton Grace And The Funk Beards. We won the Queensland Finals and made it into the National Finals of the Battle Of The Bands contest in 2001.
  • I also played in the Lismore City Concert Band from 1996 to 2002 and lead it as the Drum Major from 1999 to 2002.
  • I played in the Lismore High School Concert Band in 2000 and 2001.
  • I sung in the Lismore High School Choir from 1997 to 2000, which included singing at the Lismore ANZAC Day Dawn Service every year and also singing at the Sydney Opera House every year.
  • Rock Climbing - I climb most weekends, currently mostly at Booroomba, Nowra and in the Blue Mountains. I have also climbed a lot around South-East Queensland. I'm a member of the QUT Cliffhangers club and the ANU Mountaineering Club.
  • Bike Riding - I frequently go mountain biking and occasionally ride as transport.
  • Weights - I put in a couple of sessions of weights a week, whenever I can fit it in.
  • Kung Fu - I attended Kung Fu classes for a while with the Chinese Kung Fu Academy, Brisbane, but didn't have enough time to keep it up.
  • Karate - I practiced karate with Success Martial Arts, Lismore for nine or so years, finishing up a 1st que brown belt.
Referees available on request.