| 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. |
| 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 (SCCS, PVCS, RCS, CVS, ClearCase, Perforce). |
| Programming Languages: |
| Python, Perl, Javascript, Java, C, C++, LUA, SQL, Sybase SQL, PHP, Oracle PL/SQL, Oracle Pro*C, PostgreSQL, Modula-2. |
| Formatting/Markup Languages: |
| YAML, XML, HTML, CSS, DocBook, LaTeX, Postscript. |
| Systems Administration: |
| Unix systems administration (SunOS, Irix, Linux,
FreeBSD, Solaris). File server setup (Samba and
NFS). Unix script writing (csh, sh, awk, sed, Perl, Python).
TCP/IP network configuration and setup. PC network support. User-level
support for Macintosh, FreeBSD, Linux, Ultrix, SunOS, Solaris, MSDOS
and Windows platforms. User level support for Lotus Notes.
Database installation and programming (Sybase, Oracle, PostgreSQL,
MySQL). SAN/NAS configuration and maintenance (NetApp, SUN
StorEDGE, HP EVA SAN).) Ticketing Systems implementation
and management (Jira, RequestTracker).
|
| Internet and Network Administration: |
| USENET (INND, Leafnode) setup and maintenance, IRC
(Internet Relay Chat), MUDs (virtual text world environments -
LPmud, MOO), Web server (Apache and SUN) setup and
maintenance, writing standards compliant HTML/CSS and writing
CGI scripts in Perl, Python and PHP. Domain Name
Service administration (BIND). Majordomo and
Mailman mailing list management. Firewall installation
and setup (Mac OS X, Linux and FreeBSD). Taylor UUCP for
USENET and Mail setup. Sendmail and Postfix
administration. Squid proxy administration. IMAP and
POP administration (Cyrus, Courier and UW). IPSec VPN
configuration (Linux, Mac OS X). SMPP software (Kannel, perl
Net::SMPP module). Zope installation and maintenance.
Wiki implementation and management (Confluence, PHPWiki,
Moin ).
|
Employed within the Computing Platform Support group of AAPT Ltd as
a Senior Systems Administrator. Primary specialty is development and
toolsmithing of Monitoring utilities and other systems management
utilities.
| 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. |
| Large Multinational Bank (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.