Stuart Moorfoot

Contents


Personal and Contact Information

Hardware Platforms

Operating Systems

Programming Environments

Group Development

Databases

Analysis Skills

Work History

University Record

Scholarships and Awards

References



Personal

Contact


Name

Stuart Moorfoot

Address

XXXX XXXX

YYYY YYYY

Country of residence

Australia

Date of birth

8 August 1967

Nationality

Australian


Work

61 3 XXXX XXXX

Fax

-

Home

61 3 XXXX XXXX

Mobile

61 4 XXXX XXXX

Email (Preferred Contact)

foo@bund.com.au

Skype

smoorfoo



Summary

Java/J2EE developer with 17 years financial services systems development. Expertise in JPA and JDO OR-mapping (Hibernate and Kodo), J2EE implementations with spring deployed to Weblogic, Websphere and Tomcat. XML transformation (xslt, stx) and Webservices (SOAP and XML-RPC). Strong Oracle and unix experience, especially Solaris and Linux (RHEL). Group development and agile techniques with ant, ivy, ruby, cucumber and BDD, continuous integration and TDD.

[contents]

Technical Summary

Hardware Platforms

Operating Systems

Programming Environments

Sun SunFire, Enterprise, sparc

IBM RS/6000

HP 700/60

Intel-based architectures

SGI


Solaris

Linux (RHEL, Fedora Core, Debian)

MacOSX

Embedded Linux (LEAF), Bearing uClibc

IRIX

HP-UX

AIX


Java/J2EE with Kodo and Hibernate JDO/JPA, Spring

Sed/Awk/SH

Visual Smalltalk Enterprise

Perl, Python, Ruby

[contents]






Group/Collaborative Development

Analysis Skills

Databases

Ant/Maven/Ivy, Cucumber, Celerity

Perforce, SVN, CVS, RCS, PVCS, git and bitkeeper

Jira, TeamTrack, Bugzero

Checkstyle and JUnit

Hudson Continuous Integration

Twiki, Mediawiki and Confluence

Envy/Developer and Team/V


Object oriented analysis and design methodologies (XP and Agile methods, UML, Rumbaugh OMT, Schlaer & Mellor, Booch, Jacobson)

GoF Design Patterns (Gamma et. al.) and J2EE Design Patterns

Data centered methods (ER and normalization)

Function oriented process modelling (SA - Yourdon and Demarco)

Information modelling (NIAM) and Fact-based modelling




Oracle (7 to 11g)

DB/2, DB/2 UDB 400

Postgres

Sybase

Firebird (Interbase)



[contents]

Work History


Westpac/St. George Bank: Dec 2009 – Current


Project technologies:

J2SE/J2EE, DB/2, Hibernate, Spring, XSLT, SOAP, Websphere Message Broker, Websphere Message Queuing Integrator, JMS, MQ Series, IIS


Project Summary:

Internet Banking development and maintenance


Contractor within St. George Bank's Internet Banking Group. Java/J2EE development with data integration over JMS via Websphere Message Queuing Integrator and Websphere Message Broker. Spring, MQ Series and DB2.


Telstra/Sensis PL: Sep 2008 – Dec 2009


Project technologies:

J2SE 1.5, Oracle (10g), Hibernate, Spring, XSLT and STX, SOAP, Tomcat, Weblogic, JMS, Jira, Hudson, JRuby, Cucumber, Celerity, Ant, Confluence, EMMA Instrumentation, SVN


Project Summary:

$100 million integration project replacing 217 legacy systems with a single enterprise solution, developed internally. My role in this project was overseeing the implementation of the downstream transformation for a specific product stream (Citysearch) and coordinating with product stake holders


Lead Developer on the downstream-component of Sensis's $100 million integration project. My role in this project was overseeing the implementation of the downstream transformation for a specific product stream (Citysearch) and coordinating with product stake holders. Citysearch is a J2EE implementation using Spring with Hibernate backing onto an Oracle (10g) RAC. The core of the Citysearch application is based around a metadata-driven CMS (Fatwire) with data access facilitated by load-balanced FAST Data Services instances. The application logic is deployed to thin container (tomcat) with centralised enterprise message distribution coordinated over JMS managed by a Weblogic Application Sever cluster. The user-services component is a JSP-centric web application, served by a load-balanced Apache cluster. My role within Citysearch itself has been to design and implement an enterprise adaptor as a JMS consumer for message ingestion and transformation of enterprise data (as XML) into application specific messages for consumption by the Citysearch CMS.

Other roles within Citysearch involved redesigning and implementing data ingestion from external data services providers via XML stylesheet transformation (XSLT) and data aggregation for services such as Geocoding and map data integration (via SOAP). The Citysearch project was run as an Agile project with a heavy TDD focus using JUnit, Cucumber and Hudson


[contents]


Commerical Union Polska/Aviva Group: March 2003 – May 2008


Project technologies:

Kodo (JPA), SOAP, Weblogic, J2SE 1.5 (strong Swing emphasis), Oracle (10g), Xdoclet, Ant, Perforce


Project Summary:

$7 million greenfield project implementing an administration system for Whole of Life insurance products. Integration with existing legacy systems via SOAP.


Contract with CU Poland. Contracted to build an insurance administration system for Commercial Union Poland. J2EE/Java ground up development, complete SDLC, successful project currently in production and maintenance. I was part of the core design team and was responsible for the UI design and layout and integration with the business logic layer (implemented via a unique hybrid pattern comprising a session façade with a stateless strategy). This design provided a separation between application business logic with transport and allowed the system to operate in either it's full distributed mode through the container (Weblogic) or as a 2-tier application without the container. Other work included designing an internationalization layer which provided “automatic” internationalization of components. Technologies used in this project where Weblogic, Oracle 10g and Kodo JDO/JPA. Group development facilitated through perforce, with ant providing the build and deployment environment. Role: Technical lead and architecture.

[contents]

AIA/AIG: Feb 1999 - March 2003:


Project technologies:

J2SE 1.4, Oracle (9i) and DB/2 UDB400, XSLT, Ant, Perforce


Project Summary:

$8 million greenfield project implementing an administration, illustration and new business system for Whole of Life and Term Life insurance products. Integration with existing AS/400 legacy system via bespoke communications layer.


Contract with American International Assurance. Java/Swing implementation. In-house transaction management system and RDBMS mapping to Oracle. Another SDLC project, successful and still in production. This system was an insurance Administration and New Business System with components for In-force Illustration (of existing legacy policies on their AS/400 platform). Significant architecture components developed for this project where the design of an in-house transaction management system and an in-house Object to database mapping based on CASTOR.

[contents]


Société Générale (Sydney), ABN/Amro (Sydney) – via AFS/TARMS: Jan 1998 - Feb 1999:


Project technologies: VisualWorks Smalltalk, Oracle (8i), Envy/Developer

Employer: AFS/TARMS

Clients: Société Générale (Sydney), ABN/Amro (Sydney)


Senior Systems Designer. Early in 1998, I rejoined Applied Financial Services. The position involved building interfaces into the Tibco messaging products ETX and RV. Building these interfaces required adding a distribution layer onto the existing financial product TIB Trader (a deal capture and risk management system). The role entailed designing new components and enhancing existing components of the system. This included a bespoke persistence layer, a deal distribution layer and a deal load and capture layer. I was also involved in the design and implementation of a valuation and pricing component for a Data Warehousing system at ABN/Amro (Sydney). This essentially requires writing an interface to the SCORE system, extracting deals, valuing them and returning the resultant valued deals. All of the work done at Tibco/AFS was in Visual Works Smalltalk with persistence managed by an Oracle back-end.

[contents]

Macquarie Bank Limited: Mar 1997 - Jan 1998:


Project technologies:

VisualWorks Smalltalk, Sybase, Envy/Developer


Executive with Macquarie Bank Limited, Sydney. Senior developer in a large development team implementing a Derivatives and Options trading and risk management system. A Smalltalk (Visual Works 2.0) 3-tier implementation backing onto a Sybase back-end. The software provided Settlement and Risk Management and Analysis for a range of instruments but with specific emphasis on the Options and Equity markets. Most of the work I did at Macquarie revolved around extending existing functionality providing new types of sensitivity variations on stock and other assets.

[contents]

Société Générale (Singapore and Sydney) – via AFS: Aug 1996 - Mar 1997


Project technologies:

VisualWorks Smalltalk, Oracle (7), Envy/Developer

Employer: AFS

Clients: Société Générale (Singapore and Sydney)


Software Engineer with Applied Financial Services. Systems design and programming role developing a Financial Trading and Risk Management system in Smalltalk (Parcplace VisualWorks 2.5.1) for SunOS. The design was client-server, with the client portion implementing instrument capture. This system supported trading for Swaps, Bills, Bonds, FRAs and Futures and provided real-time global position and forward revaluation to traders.


Object persistence was maintained by several server processes, flattening objects and storing them within a relational DBMS (implemented using Oracle 7.3). The main focus of my work at AFS centred around building an instrument importation engine for data conversion (for a wide range of instruments) between existing platforms on client databases.


A second category of development involved developing several server components centred around the ANSI-Sparc three schema architecture. One of these server components handled distributed deal transactions from front-ends and ensured guaranteed DBMS updates, with responsibilities for business transaction management deferred to another server process.


In the last months of my employment at AFS I developed a new server application to manage rate and network configuration. This was a system management activity which allowed administrators to remotely query the status of the network for attached, blocked and connectable front-ends, providing a centralized trade management environment.

[contents]

Standard Chartered (Bank Hong Kong), Commonwealth Bank Australia (Sydney) – via Footprint Software/IBM: Feb 1995 - July 1996


Project technologies:

Smalltalk Digitalk/V, Team/V, CICS, MVS


Clients: Standard Chartered Bank (H.K.), CBA (Sydney)


Senior Designer with Standard Charted Bank (Hong Kong). Retail banking branch sales system (for demand deposit and term deposit accounts), based in Hong Kong. The focus of the project was specifically within a Branch Sales environment. The implementation was designed to replace the banks' existing 3270 environment, in a three phase implementation. The project was implemented using Digitalk/V Smalltalk with Team/V to manage group development. Within the project, I worked mostly in a technical role, designing and implementing authentication and communication services between the Bank's existing back-end host platform (an MVS environment) and the front-end client applications.


In addition to communications, I was also involved in extending and maintaining the business model that was the core of the application. The implementation of the business model was done using the Footprint Banking Framework which supported Entity, Association, Aggregation, Classification and Generalization abstractions within a Smalltalk environment.


I was also entirely responsible for object persistence, building an object-to-persistence mapping framework and query engine which allowed any set of connected entities to be persistent. Objects could be inserted into any RDBMS and retrieved at a later date, with their connections to other objects and their state intact. In addition, the architecture provided for object identification using surrogate keys, DBMS garbage collection and optimistic entity-level locking. This design provided many of the services of an Object database, except they were implemented in an RDBMS.

[contents]

Interactive Software Engineering LLC: Apr 1994 - Jan 1995


Project technologies: Eiffel


Software Engineer in Santa Barbara, California with Interactive Software Engineering working under Dr. Bertrand Meyer. Interactive Software Engineering are the originating authors and developers of the Eiffel programming environment. Much of the focus of my work there was to enhance and extend the Eiffel tool set. Primarily, I worked on developing Eiffel Build, a visual programming interface and application generator and, one of the core tools of the Eiffel suite. The environment used for development was UNIX-centric using Motif/X11. Consequently, I had exposure to many different variants of UNIX, as Eiffel was ported to most of the major UNIX platforms. I was also responsible for network and system administration.

[contents]


Ernst and Young: Jan 1994 - April 1994


Project technologies: C/C++, Oracle (7), Oracle Forms


Clients: Coles-Myer, Department of Transport and Communications


Consulting Analyst with Ernst and Young Consulting. Implementing data conversion (in C++ ) for a host-to-client server migration project at Coles-Myer. Also worked at the Department of Transport and Communications (DOTC), optimizing embedded SQL queries within an existing application. This involved evaluating and rewriting the queries in canonical form.

[contents]

Monash University: Nov 1992 - Dec 1993


Research Assistant within the Department of Information Systems at Monash University. My research activities were mostly centred around object orientation. Most significantly, I was employed by the research group to implement their real-time telemetry simulation using Smalltalk/V on a Macintosh Quadra. In addition to research assistant, I was also a sessional tutor teaching Object Oriented Analysis to 3rd year students and C programming to 2nd year students.

[contents]

University Record


Mar 1990 - Dec 1993


Monash University, Bachelor of Computer Science, Faculty of Computing (1990 to 1992). Computer Science, Honours 1st class with the Department of Information Systems, Faculty of Computing (1993).


Honours Thesis

A Critical Analysis of Object Modelling Technique and Conceptual Systems Design.

1993

Completed the honours (pre-doctoral) year of the Bachelor of Computing with 1st Class Honours at Monash University

1990-1992

Completed the bachelor of Computing with a Distinction average, at Monash University, within the Faculty of Computing


Scholarships and Awards

Academic



Professional


[contents]