Joe Schmetzer

This is the Curriculum Vitae of Joe Schmetzer. The latest version of this document can be found on-line at http://www.exubero.com/jfs.html.

In addition to HTML, this document is also available in the following alternate formats:

Personal Details

Full Name:
Joseph Francis Schmetzer
Date of Birth:
10th November, 1972
Place of Birth:
Walgett, Australia
Phone:
07775-770-422 (mobile)
Nationality:
Dual citizenship of Australia and the United Kingdom
Address:
1a Ewell House Parade, Epsom Road, Ewell, KT17 1NP, UK
Email:
joe@exubero.com

Overview

Joe is a Renaissance Developer (also known as a Generalising Specialist) - a highly motivated software architect, designer and developer, who can deliver solutions for business needs with expert knowledge of multiple technologies, languages, platforms and methodologies. Joe has a personal commitment to continued education in software architecture, object oriented design and development practices, and has the communication skills to share the benefits of this knowledge to peers and management. Education and experience in investment banking, insurance systems, pharmaceutical and actuarial areas (finance, statistics and mathematics) give unique insights into many business problems.

Skills Summary

Industry Experience

Investment Banking and Hedge Funds

Experience with front end trading applications and back office reconcilation systems in UBS Warburg, Tudor Capital and Bank of America. Has worked on applications with live price connectivity to Reuters and Bloomberg, and market connectivity through the use of the FIX protocol. Has an understanding of many different financial products, including equities, swaps, futures, options, FX, FXOs and bonds.

Insurance

Education includes knowledge of Actuarial tools and mathematics, especially in relation to life insurance and pensions.

Work at Legal and General included a large amount of work in new business administration and data capture.

Retail

Experience with retail payment systems, and back office reconciliation of retail inventory.

Project Skills

Excellent project skills, including project planning, estimation and time management.

Detailed knowledge of various best practice software development processes and methodologies, ranging from the Capability Maturity Model (CMM) process areas, to lighter Agile Methodologies such as Extreme Programming (XP) and Scrum.

Comfortable in a technical role with management facing responsibilities, including architecture definition, evangelising technical solutions, release and configuration management.

Languages and Platforms

Java

Expert skills in Java, with eight years experience in an enterprise environment, using J2SE and J2EE technologies such as Swing, EJBs, Servlets, JSPs, Spring, Struts, Hibernate, Velocity, and many other complimentary technologies.

Scripting Languages

Expert skills in Perl, with eight years experience, both with CGI and administrative scripting on both UNIX and Windows. Expert knowledge of Ant scripting techniques. Fluent with Ruby due to a large amount of web development work done using Ruby ERB. Conversant in many other scripting environments, including Python, JavaScript, Bourne Shell, and Microsoft Batch Files.

C/C++

More than eight years experience with both C and C++, including portable standards based C++, as well as Visual C++ and MFC.

Delphi / Pascal

Four years experience using Delphi in an investment banking environment, including development and maintenance of three different front end trading applications.

Web Development

Eleven years of experience in web presentation standards, including HTML and XHTML, Cascading Style Sheets (CSS), JavaScript. Knowledge and consideration for Information Architecture, Usability, Accessibility, Web Standards and Seach Engine Optimisation (SEO) means that web sites that I have helped develop will keep users happy and maintain the business value of web applications.

UNIX and Linux

Eleven years experience with Linux as PC operating system, including installation, configuration, administration and development. I have administered a number of different Linux distributions, including Debian, Ubuntu, Red Hat, Centos and Fedora.

Microsoft Windows

Expert knowledge of 32 bit Windows platforms. I have extensively programmed the Win32 API using C++ and Visual Basic.

Technologies

Unified Modelling Language (UML)

Seven years UML, experience with Rational Rose, XDE, ArgoUML, and many other modelling tools to generate the UML diagrams for software architectures and detailed designs.

Object Oriented Design

Extensive knowledge of OOD techniques, including the use of Design Patterns and related concepts.

Java Technologies

Six years in J2SE , and three in J2EE. Extensive experience in various Java technologies, including Ant, EJB, JFC / Swing, JDBC, ORM using Hibernate, JSPs, Servlets, Struts and Spring.

Networking Technologies

Seven years experience with TCP/IP networks and sockets programming including one year development using encryption protocols SSL/TLS in a heterogenous environment, using both OpenSSL in C++ and JCE in Java.

Three years experience using CORBA, including Visibroker in Java, and development in an e-Commerce environment, using OmniORB with C++ bindings.

Software Configuration Management

Expert user and administrator of CVS, Subversion, Perforce, Clearcase and PVCS. Well trained in the use of configuration management and project management tools, including JIRA and Trac. Seven years of experience with build automation, using Make, Ant, and Maven. Very strong on build automation, with expert skills in CruiseControl.

Software Process Improvement

I am an active member of various SPI activities, including review of the development process, and best development practices and management techniques. I have successfully introduced peer reviews into the development process, improved development and management feedback through the introduction of continuous integration techniques, and advised on development management techniques such as Scrum.

Relational Databases

Six years experience in database design and SQL, involving databases such as Sybase, DB2, Microsoft SQL Server, MySQL, C-Tree, Microsoft Access . I have a small amount of exposure to Oracle, as well as MySQL, PostgreSQL and HSQLDB.

Articles, Activities and Contributions

In my spare time, I maintain some development community tutorials and teaching resources, and am an active participant a number open source Java projects:

Employment History

Bank of America

Contract CI Consultant

Technical Architecture

Development Mentoring

Croydon, Surrey, UK

January 2009 — Now

Implemented a continuous integration solution for mainframe developers, using a Java based build tool, and Perforce for version control.

Took on a central role in a large JEE web project, including negotiating story definition with the Product Owner, definition of a technical architecture, class design and implementation, and mentoring developers in agile techniques, including TDD.

Tudor Capital

Software Developer

Epsom, Surrey, UK

September 2006 — December 2008

During my time at Tudor, I maintained and enhanced a front end trading systems written in Delphi. This application was responsible for displaying a trader's portfolio, along with real-time prices, P&L, as well as a host of other useful statistics required by the trader (for example, the calculated Black-Scholes Greek values for options).

In addition to the above, I also maintained and enhanced an automated reconciliation tool written in Java, and used by the operations team. This tool had multiple components responsible for different tasks. These included automatically connecting to broker FTP and SFTP servers and retrieving position and trade reports, reconciling internal and external trade positions, and reporting discrepancies to the end users via a Swing GUI. The GUI communicated to a back end server running on Tomcat, using Servlets and JSPs. The client server communication protocol was kept in line with REST principles.

I have championed and implemented agile development practices, such as automated builds and continuous integration using CruiseControl.

SPSS Ltd

Contract Programmer

Woking, Surrey, UK

April 2006 — August 2006

I worked on SPSS Clementine, a powerful Data Mining and Predictive Analysis tool. Clementine allows users to easily manipulate many powerful and complex statistical models, allowing an enhanced view of corporate data. Clementine has a client/server architecture. The front end client is written using Java Swing, while the back end server is written in portable C++, allowing it to run on many different platforms.

While at SPSS, I added many security and privacy features to the product, including the SSL encrypted communications between client and server. This was implemented using JCE on the Java client, and OpenSSL on the C++ server.

Point Solutions Ltd

Contract Programmer

Guildford, Surrey, UK

October 2005 — March 2006

I acted as software architect, designer and technical lead for an internal project at Point Solutions, developing acuoDossier, an eCTD product for regulatory submissions in the pharmaceutical industry. There is a large amount of object oriented design, and graphical user interface work using Java Swing. I meet with the client for feedback and direction during the regular project planning and estimation meeting. I have introduced Agile development techniques in order to minimise risk and improve scheduling.

Centre for Antimatter–Matter Studies

Contract Programmer/Web Designer

Australian National University, Canberra, Australia

September 2005

I designed and implemented a standards based website for the Centre for Antimatter-Matter Studies, a multinational collaborative research effort to study the properties of matter using positrons. The public website is available at http://www.positron.edu.au/. The site is generated from a number of ERB templates using the Ruby programming language. I managed the delivery using Trac, a web-based project management tool. Since the client and I were on opposite sides of the world, efficient communication mechanisms were important.

Legal and General

Lead Software Engineer

Kingswood, Surrey, UK

October 2002 - August 2005

I worked as a Lead Java Developer within the Business Solutions Development (BSD) department of Legal and General.

I designed and developed sections of the Load, Enquire and Complete (LEC) infrastructure, a new business system that acts as a front end to applications for protection insurance. LEC is written as a number of Java J2EE Enterprise Applications, with a DB2 database back-end, J2EE mid-tier layer and a web based front end. I was a key designer and coder, as well as instrumental in the design and implementation of web pages conforming to web standards. I championed standards based web development techniques, to ensure compatibility with all current and future browsers.

I was a representative on the BSD Best Practice committee, which is involved in knowledge sharing and process improvement within the department. Through this avenue, I was able to introduce a number of innovations to Legal and General, including continuous integration as team communication and cost saving measure. Through this agency, I conducted a number of training courses in technologies such as Apache Ant and CruiseControl.

I participated in the Systems Engineering Process Group (SEPG), representing the L&G development community among a collection of managers tasked with process improvement activities, based upon principles defined by the Capability Maturity Model (CMM).

I conducted audits of the software development processes used by external software suppliers of L&G, in order to determine suitability for continued business relationships with the external vendors.

UBS Warburg

Lead Software Engineer

London, UK

October 2000 - October 2002

I worked within the Equities IT department of UBS Warburg. My team was responsible for external market connectivity, and providing uniform services to other internal departments in the investment bank. The primary product of the Marketlinks team is the Trade Order Manager (TOM), which was responsible for presenting different Market APIs in a consistent manner. The TOM is a high performance server side process written in Java. My main responsibilities were the design and implementation of client utility and management programs, as well as mentoring and review of other team members.

TOM Trader Intray. I designed and developed this Win32 GUI in Delphi 4, later upgrading to Delphi 5. It communicated via CORBA to the TOM, and is used as a work flow manager by market traders, so that they can work orders onto the market.

TOM Monitor. I designed and developed this Java GUI Swing application. It communicates via CORBA to the TOM. It supports a highly flexible alert architecture, allow TOM administrators to pro actively monitor and fix problems within the order flow.

Worked Order Management System. I released new versions WORMS, which is a product that allowed traders to work large care orders carefully into markets.

Expert Information Services

Senior Software Consultant

St Leonards, NSW, Australia

April 2000 – September 2000

My role at Expert involved architectural design for new projects, and VB programming. Technologies used include COM+/MTS, Microsoft SQL Server, and ASP pages. Working at Expert involved a large amount of client contact, and I was involved in elicitation of requirements and architecture roles.

Hypercom Net Transactions

Senior Analyst Programmer

Chatswood, NSW, Australia

January 2000 – March 2000

Hypercom Net Transactions (HNT) was a subsidiary of Hypercom, aimed at developing a e-Commerce portal solution for small to medium enterprises. Development was centred around Microsoft IIS filters using ISAPI. Additional work was done using CORBA OmniORB.

Tower Technology

Senior Software Engineer

Lane Cove, NSW, Australia

October 1997 – December 1999

Tower Technology (now part of Vignette) is a company that provides an enterprise client/server imaging database solution, and custom work flow products. I designed and developed client Windows software. I was also wrote server utilities and software configuration management scripts. I was the chair of the Software Process Improvement Group.

Acsys

Actuarial Software Developer

Sydney, NSW, Australia

July 1995 – September 1997

Acsys is a small company that developed actuarial valuation systems (written in both C and COBOL), which were used by a number of major Australian insurance companies. Acsys also ventured into non-actuarial areas, including web site development.

Australian Casualty and Life

Actuarial Officer

Sydney, NSW, Australia

December 1993 — July 1995

I delivered a new pricing model for Income Protection insurance as part of the new business area of the Actuarial department at AC&L. I was also responsible for administering reinsurance claims.

Education

External Courses

Macquarie University

Bachelor of Economics (Actuarial Studies)

North Ryde, NSW, Australia

1991 — 1994

This course taught mathematical and critical analysis skills for prospective actuaries. I graduated with a GPA of 3.2. Subjects studied included Actuarial Mathematics, Actuarial Management, Computing, Economic Theory, Advanced Financial Mathematics, Statistics and Probability Theory

St Joseph's College

Higher School Certificate

St Joseph's College, Hunter's Hill, NSW, Australia

1989 — 1990

Graduated with at Tertiary Entrance Rank (TER) of 99.50. I was placed 278th aggregate out of nearly 60,000 students attempting the HSC (that is, within the top 0.5%).

St Joseph's College awarded me the Br Ligouri Mathematics Scholarship, which allowed free boarding and tuition at the school. I graduated with academic prizes for Mathematics (1st in 4 unit mathematics), Physics (1st in 2 unit physics), Chemistry (highest assessment in chemistry) and 4th highest aggregate.