Overview
Michael Gratton is an experienced software architect, software
engineer and systems engineer. His areas of expertise are Java
application development - particularly of Internet-based
applications, XML data representation and UNIX system
deployment and management.
Drawing from an early background administering Internet-based
systems and networks, his technical interests currently
include emerging Internet technologies such as the Semantic Web,
mobile, wireless software application development, advanced
UNIX systems integration and libre (free) and open source
software development; in particular, the GNOME Project, Mozilla
and mobile computing software.
His professional experience includes the design and
implementation of client- and server-based applications,
software development platforms, UNIX based network services and
Internet Protocol networks. He has managed clients, projects and
teams of developers from project inception to delivery, mentored
junior developers and provided technical direction and guidance
for management staff.
Professional Experience
Software Engineer, Rising Sun Pictures.
January 2006 - present.
A member of the in-house development team at Rising Sun, a
visual effects production company. Responsible for developing
and maintaining Python-based software for both production
and business management use.
Tasks performed include prototyping an employee time sheet
application using WxPython, maintaining a client-server
base-lining tool for completed shots - a critical part of the
artist's pipeline that ensures the integrity of completed shots
- and the design and implementation of a modular delivery system
to manage the timely, intact delivery of large quantities of
shot data via the Internet.
Proprietor, Software Architect, Quuxo Software.
July 2004 - present.
Founded Quuxo Software,
a software consulting and development business. Manages day-to-day
affairs of the business as well as software consulting and
development for clients.
Software Engineer, University of South Australia -
Centre for Sleep Research.
January 2004 - December 2005.
Employed by the Centre to take over an existing project;
the development of a Safety Management System for automating
the process of reporting and investigating workplace
safety-related incidents, auditing these processes and to
support collecting employee attitudinal data via a web-based
survey.
- Collected requirements and authored functional specification
for the application.
- Designed the application implementation according to the
Centre's requirements.
- Currently implementing and documenting the design.
- Preparing to customise and deploy the application at several
test sites.
The application is built using Java 2 Enterprise Edition web
tier technology: Apache Struts combined with a workflow
framework for customisable business logic, Java Server Pages
for presentation and Java Data Objects for object persistence.
Software Architect, Recall Design Pty. Ltd.
February 2000 - January 2004.
Initially employed as a senior developer to lead client development
projects, then as a software architect for product development.
Responsibilities:
- Strategic product and technology planning.
- Assisted senior management with technology-related decision making,
technical advice for tender responses.
- Designed and documented software applications, development
platforms, libraries.
- Project management and team leadership. Mentor for junior staff.
- Developed and documented project process. For example, source code
conventions, project life cycle process, automated integration and unit
testing and quality assurance guidelines.
- Project implementation.
Project lead for:
- WorkSpace 5
- A web application development platform. Focused on rapid
application development, WorkSpace 5 features an XML-centric
font-end, workflow controlled business logic and a readily
extensible, component architecture.
- Recall Design Content Management System
- A website content management system that provides full
version control and automated publishing for all content.
Structured content is edited in-browser and stored in
an XML format.
- Citibank OnePort
- Developed an online risk determination and management
application for client Lending Technology Services. Developed
initial deployment for Citibank Australia as a self-serve,
online home loan platform.
Consultant, Software Engineer, Focus Metals Pty Ltd.
September 1999 - February 2000.
Employed as a consultant and software developer to design a
replacement for the company's existing client management
application.
- Scoped business requirements for performing client management,
invoicing, job management, inventory management and accounting.
- Designed application to fulfil business requirements and to replace
existing, legacy management application.
- Implemented and deployed new management application.
- Provided training in the use of the new application for staff.
The application was delivered as a Java Servlet based web
application. Data is stored in the Xindice XML document
repository, then transformed into HTML, PDF or PS output as
required for presentation, faxing or printing.
Systems Engineer, Cobweb Internet Services (CIS) Pty Ltd.
April 1999 - September 1999.
Employed to solve the reliability and scalability problems
Cobweb's server systems and network infrastructure was
experiencing, caused by the company's rapidly expanding
client base.
- Stabilised existing client services; RADIUS user
authentication, web site, FTP and DNS hosting and email
services.
- Designed and deployed replacement systems and network
topology.
- Deployed a LDAP directory to centralise user authentication
and account services.
- Managed the integration of existing client management
software with new directory services.
Systems Engineer, N-Space Pty Ltd.
June 1998 - January 1999.
- Provided internal systems support and maintenance for Macintosh and
Windows workstations.
- Deployed and maintained network services and Solaris, Linux
and Windows servers for internal corporate use and for client
hosting.
- Services included high-availability client web sites, corporate
email, LDAP directory, file and print serving.
- Completed internal software development projects, for
improved systems reliability, maintainability, monitoring
and integration.
- Maintained corporate network hardware and security.
Client Support Technician, Internode Professional Access.
January 1996 - June 1998
- Provided technical support for personal and corporate clients.
- Diagnosed and corrected issues with dial-up and permanent Internet
connections, email, web and domain name hosting.
- Maintained client domain name, email and web servers.
Education
- Bachelor of Mathematical and Computer Sciences. The University of
Adelaide, Australia.
- In progress, estimated completion: 2007.
Skill-set
Software
- Java 2 Standard Edition
- Core J2SE libraries. User interface development using JavaBeans,
Swing, AWT and JFC. Many extension APIs, such as JAXP, JNDI, JCE
and Activation optional packages.
- Java 2 Enterprise Edition
- J2EE Web tier development using Java Servlets, Apache Struts and JSP
and XML based presentation layers. Middle tier
development using JDO, JavaMail, JMX, Enterprise JavaBeans and
other packages.
- Java 2 Micro Edition
- J2ME CLDC 1.0, MIDP 1.0 application development for phone and
PDA form-factor devices.
- XML technologies
- XML and XML Namespaces. Core recommendations: RSS, XSL
Formatting Objects and XSLT, XPath, XInclude, XPointer and
XML Schema. The Semantic Web. The remote procedure call
mechanisms SOAP and XML-RPC. The web technologies XHTML,
XForms, SVG, HTML, DOM Levels 1, 2 and 3, CSS Levels 1, 2
and 3.
- Other languages and toolkits
- C, C#, C++ software development. GTK user interface development.
- Scripting languages
- JavaScript/ECMAScript (client and server side), Ruby,
Python, PHP, Bourne shell, Perl, AppleScript.
Systems
- Platforms
- FreeBSD, Linux, MacOS X and SunOS/Solaris based workstations
and servers. Windows and MacOS clients.
- Software
- Most common systems software including Apache HTTPD,
Oracle, PostgreSQL, Tomcat, Sendmail, Cyrus, BIND, Samba,
ProFTP, Netatalk, HylaFax, OpenLDAP and CUPS.
- Services
- Standard Internet services including DNS, Web and FTP serving,
SMTP, IMAP and POP3 mail services. NFS, Appletalk and SMB/CIFS
file sharing. LPD, CUPS, Appletalk and SMB/CIFS printer sharing.
Systems and end-user LDAP directories. Systems management using
SNMP. XMPP instant messaging.
Networks
- Internet Protocol networking
- IPv4 and IPv6 based local area networks. The design and
implementation of network and transport layer firewalls,
site-wide LANs/WANs and Internet service provider
infrastructure. Secure IPSec virtual private networks,
dialup and hosting services.
- Networking devices
- Cisco routers, switches and terminal servers. Cisco IOS
versions 11 and 12. Linux and FreeBSD white-box routers.
Wireless access points
- Physical layer
- Local area networks using ethernet and wireless carriers.
Wide area networks using ISDN, DSL over PAPL, ADSL over PSTN and
analogue modem over PSTN.
Copyright © 2004, 2005 Michael Gratton. This work is licensed under a Creative Commons License.
Fin