| Team Management: |
| Planning and estimation of time and staffing
requirements for multi-year software engineering projects involving up
to ten people. Management of team member workload for the
duration of the above projects. Management of resourcing,
interviewing and selecting excellent quality personnel to staff
the above projects. |
| Technical Sales: |
| Determination of customer technical requirements. Writing
Software Requirements Specifications based on customer needs.
Estimating human and material resource requirements and costs and
producing quotes based on them. |
| Software Engineering: |
| Object oriented, functional and procedural design,
redesign, implementation, debugging and testing of real-time and
near-real-time multithreaded applications, communications modules and
systems software. Development and modification of makefiles and
make-related utilities. Writing Software Detailed Design documents
based on Software Requirements Specifications. Engagement with
multiple stakeholder groups at all stages to ensure correctness and
timeliness of delivered software. |
| Quality Assurance: |
| Writing Software Test Plan documents, and carrying out
testing based on customer requirements documents. Code review
and walkthrough, software architecture analysis. |
| Programming Languages: |
| Python, Perl, PHP, Javascript, Java, Objective C (iOS), C, C++, LUA, SQL, Sybase SQL, Oracle PL/SQL, Oracle Pro*C, PostgreSQL. |
| Formatting/Markup Languages: |
| YAML, XML, HTML, CSS, DocBook, LaTeX, Postscript. |
| Systems Administration: |
|
Unix systems administration (Solaris, Mac OS X Server,
Linux, FreeBSD, SunOS, Irix).
Database installation and programming (Sybase, Oracle,
PostgreSQL, MySQL).
SAN/NAS configuration and maintenance (NetApp, SUN StorEDGE, HP EVA).
Ticketing Systems implementation and management (Jira, RequestTracker).
File server setup (AFP, Samba, NFS, WebDAV).
Unix script writing (csh, sh, awk, sed, Perl, Python, PHP).
TCP/IP network configuration and setup for servers and PCs.
End User support for Mac OS X, Solaris, Windows, Linux, FreeBSD, Macintosh, Ultrix, SunOS and MSDOS platforms.
|
| Internet and Network Administration: |
|
Web server (Apache, Tomcat) setup and maintenance.
Web Programming using W3C standards compliant HTML/CSS,
Javascript and writing CGI scripts in JSP, Perl, Python, PHP.
Domain Name Service administration (BIND).
Cloud Service security analysis, evaluation and implementation (Dropbox, Wuala, Google Apps, Dreamhost, etc).
Wiki implementation and management (Confluence, PHPWiki, Moin ).
Firewall installation and setup (Solaris, Mac OS X, Linux and FreeBSD).
Sendmail and Postfix administration.
IMAP and POP administration (Cyrus, Courier and UW).
Squid proxy administration.
IPSec VPN configuration (Linux, Mac OS X).
SMPP software (Kannel, perl Net::SMPP module).
Majordomo and Mailman mailing list management.
USENET (INND, Leafnode) setup and maintenance.
MUDs (virtual text world environments - LPmud, MOO).
Taylor UUCP for USENET and Mail setup.
Zope installation and maintenance.
|
| Teaching Skills: |
| Excellent at explaining technical issues to technical and
non-technical people. Strong verbal and written communication
abilities. Able to determine what knowledge individuals are
missing, and explain that knowledge to them. Can write and conduct
short presentations and training courses, both formal and
informal, on a variety of topics. |
| Configuration Management: |
| Design and implementation of systems to maintain control of the
software development and release cycle, use of various change
control systems (Git, SVN, Perforce, RCS, CVS, ClearCase, SCCS, PVCS). |
| Object Craft (Dec 2011 - present): |
| Unix & Internet applications design,
deployment, debugging and maintenance. Unix Systems administration.
Toolsmithing. Technologies Involved: Linux, Mac OS X, Apache, Python,
Javascript, HTML/CSS, jQuery, PostgreSQL. |
| RMIT University (Jun 2011 - Dec 2011): |
| Application Support Analyst Programmer, Systems Administrator.
Maintenance and redevelopment of a variety of applications. Primary
responsibility is a suite of applications from ExLibris. Toolsmithing,
Systems Administration and Programming. Mentoring of junior programmers.
Engagement with formal Change Approval Board processes and ITIL processes.
Technologies Involved: Solaris, Apache, Tomcat, JSP, Perl, Python, PHP,
Javascript, HTML/CSS, JSP, MySQL, Oracle DB. |
| Small Legal Firm - part time (Sep 2008 - present): |
| Systems Administrator, Technical Support, Toolsmithing. Managing
technology choices, implementation and support of services, ranging from
locally hosted client/server applications to cloud services.
Technologies involved: Mac OS X Server, Drobo, Google Apps, Dropbox, Wuala,
DayLite.
|
Employed within the Midrange Services group of AAPT Ltd as
a Senior Systems Administrator. Primary specialty of development and
toolsmithing of Monitoring utilities and other systems management
utilities. Resigned in order to take up independent software contracting.
Ceased contracting to take up full time employment in September
2007.
| Digital Media Technology startup (Aug 2006 - Sep 2007): |
| Chief Development Manager. Managing the creation of an
innovative media delivery platform from the ground up.
Recruitment and ongoing management of approximately ten very
high quality technology staff, including GUI programmers,
search and indexing engine experts, web database programmers,
user interface designers and project management.
Company policy development and technology workflow and process
development. Also Toolsmithing, Systems Administration,
Programming (mostly Python), Code Review, Software Architecture
and Design, Requirements Elicitation and Analysis. |
| NAB Ltd (Aug 2005 - Jul 2006): |
| Senior Analyst Programmer. Ensuring software quality by
introducing partially automated code reviews, and building an
automated unit testing suite. Build process toolsmithing. Designing
and implementing Extract/Transform/Load software to do data
aggregation on multiple multi-million line data sources, using Perl
and Sybase SQL. Sybase database design, query design, and performance
tuning. Aiding other team members in their work. |
| SMS Gateway company (Jul 2004 - Mar 2005): |
| Customer Requirements Elicitation (including liaison with third
parties to determine appropriate interfaces), Writing Software
Requirements Specifications and Software Detailed Design Documents.
Writing a custom SMS Gateway (capable of doing both SMPP and HTTP
communications) to interface with a financial transaction back end.
Designing a custom XML-RPC communications protocol to ensure both
security and ease of implementation for the third party owning the
financial transaction back end. Ensured consistency of charactersets
by translating all the common SMS character encodings to Unicode and
ensuring that the back end receives a consistent UTF8 stream. |
| Digital Media Technology startup (Jan 2004 - Jun 2004): |
| Writing Software Requirements Specifications, and Software
Detailed Design Documents based on Software Requirements
Specifications. Ensuring software quality via design reviews and
scenario walkthroughs. Writing prototype communications software in
Perl, involving design of a custom client/server protocol using TCP/IP
streams and XML messages. |
| Newsfeed and Internet shopping company (Dec 2004): |
| Customer Requirements Elicitation (including liaison with third
parties to determine appropriate interfaces). Implementing
custom modifications to Zope/Python based shopping software (Bizarshop) to
enhance interaction with a specific payment gateway. |
Employed originally by Health Research Solutions Pty Ltd, and continued
employment with Quintiles HRS Pty Ltd when the company was purchased by
Quintiles Transnational Corp..
Resigned in order to take up independent software contracting.
| IT Manager (May 2002 - Jun 2003): |
| Determination of company technical policy. Management of
resourcing, interviewing and selecting excellent quality personnel to
hire. Satisfying company technical requirements at minimal cost.
Planning and estimation of time and staffing requirements for a
diverse many project workload. Management of team member workload.
Managing IT Integration process to integrate systems with Quintiles
Transnational. Moved out of the IT Management role (as the role was
no longer necessary) to take up full time work in the newly formed
Data Solutions Department, after completing IT Integration processes
with Quintiles Transnational. |
| Software Architect & Engineer (May 2002 - Jan 2004): |
| Writing Software Requirements Specifications, Writing Software
Detailed Design Documents based on Software Requirements
Specifications. Ensuring software quality via code reviews,
walkthroughs and regular design meetings. Writing software test
plans. Writing architecture critical libraries. Educating other
developers about software quality measures. Writing web data capture
applications in Perl and SQL. Initiating and completing development
of the Core GoCRF Toolkit Suite, a toolset which enables rapid
deployment of an XML based database in various contexts, primarily in
the context of medical data capture. Implementing Configuration
Management with CVS and Perforce. |
| Senior Systems & Network Administrator (May 2002 - Feb 2003): |
| Managing various network services (Samba, NFS, PostgreSQL, Apache,
Mailman, Postfix), maintaining Unix servers and Win32 desktops, creating
and implementing network policies. Supporting Lotus Notes desktop.
Database administration of PostgreSQL databases. |
Started Netizen in March 1999 with 3 other directors, while continuing
to work at Unico Computer Systems. Changed to full time work for
Netizen in September 1999. Departed Netizen in October 2000 after
selling the business to VA Linux,
who were looking to acquire a going concern to aid expansion into
Australia.
| Technical Director (Mar 1999 - Oct 2000): |
| Determination of company technical policy. Management of
resourcing, interviewing and selecting excellent quality personnel
to hire. Satisfying company technical requirements at minimal cost.
Planning and estimation of material and staffing requirements for
several-month long software engineering projects involving up to ten
people. Management of team member workload. |
| Training Course Conductor (Sep 1999 - Oct 2000): |
| Conducting Training Courses on Perl, Basic Unix
skills, and Advanced Unix skills. Reviewing, editing and aiding
development of training course notes. |
| Technical Sales, Software Architect & Engineer (Sep 1999 - Oct 2000): |
| Meeting with customers to determine their technical
requirements. Writing Software Requirements Specifications based on
customer needs. Producing quotes based on estimated resource
requirements and costs. Writing Software Detailed Design documents.
Ensuring software quality via code reviews, walkthroughs and regular
design meetings. Writing Software Test Plans. Writing architecture
critical libraries. Educating other developers about software
quality. Writing web applications software in Perl, Python and
PHP. |
| Senior Systems & Network Administrator (Sep 1999 - Oct 2000): |
| Managing various network services, maintaining Unix machines and
services, creating network policy. Database administration of
MySQL, PostgreSQL and Sybase databases. |
Part-time work for Vital Years Educational Consultancy. Left to work
for FCSA.