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.
Responsibilities:
- 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).
Responsibilities:
- 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.
Responsibilities:
- 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.
Responsibilities:
- 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.
Responsibilities:
- 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
- CORBA
- 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.
Responsibilities:
- 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.
Responsibilities:
- 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
- JPQL/SQL
- 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.
Responsibilities:
- 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
- JAX-WS/SOAP
- JAAS
- JUnit/Test-NG
- Python
- Subversion/TortoiseSVN
- JBoss4
- JPQL/SQL
- 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.
Responsibilities:
- 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)
- SOAP/XML-RPC
- JUnit
- Oracle 10g/JDBC
- IBM Rational Application Developer (RAD) v6.0 and v7.0
- IBM Websphere Application Server v6.0
- Subversion/TortoiseSVN
Telstra
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