Richard Zschech

Contact Details

Email:

Skills

Programming Languages

Java (JDK 1.1-6.0), C, C++, Shell scripting

XML-Based Technologies

XML Schema, XSLT, XQuery, SOAP, RDF, XLink, XUpdate, XHTML, CSS, XSL-FO, SVG, XForms, VXML, XCAP and SMIL

Networking

TCP, UDP, RTP, SSL, HTTP, Comet, JSON, SIP, FIX, JMS, LDAP, SMPP, and SNMP

Web

J2EE, JSLEE, Servlets, Spring, and JSP

Database

JDBC, SQL, PL/SQL, JPA, Hibernate, Oracle, PostgreSQL and MySQL

GUI

GWT, Swing, AWT, Java3D, and Java Media

Operating Systems

Windows (2000 and XP) and Unix (Linux, BSD, and Solaris)

Application Servers

Tomcat, GlassFish, WebLogic, JBoss

Development Tools

Eclipse, Netbeans, JBuilder, CVS, SVN, Ant, Maven, UML, JUnit, TestNG, FindBugs, Cruise Control, Hudson, JProfiler, YourKit profiler, Install Anywhere, and Java Web Start

Software Methodologies

Agile programming, Extreme programming, Test driven development, Continuous integration, and Code reviews

Other Skills

Foundation level certification in PRINCE2 project management.
Writing for technical and non-technical audiences.
Working in and leading groups to produce large software projects.
Training and mentoring colleagues and students.

Employment

2007 – Current: Technical Team Lead / Senior Software Engineer, Velocity Systems International, Adelaide

Leading a team implementing major new functionality extending an internally developed foreign exchange trading system. The system was required to be low latency, high throughput, highly scalable and highly available. Duties included high and low level design of components based on business requirements; defining, estimating and assigning units of work; implementation work and code reviews.
Architecting, designing and implementing a suite of Web based user interfaces for the internally developed trading system. This includes an administration GUI, trader GUI, sales GUI and customer GUI. These GUIs are highly dynamic Web applications that allow users to stream prices for multiple foreign exchange instruments from multiple sources to a browser, trade on the prices, and stream trade and position reports to the GUI.
Designing and developing software for integrating large financial institutions foreign exchange trading systems. Clients included Deutsche Bank, Reuters, Credit Suisse, JP Morgan, Merril Lynch, and Cantor Fitzgerald, to name a few.

2005 – 2007: Senior Software Engineer, m.Net Corporation, Adelaide

Integrating a J2EE based ring back tone platform into Telstra's computer and telephony systems, including their provisioning, and billing systems and their SMS and Interactive Voice Response (IVR) gateways.
Architecting, designing and implementing a Java based SMS and IVR high performance voting system for Channel Seven's Dancing with the Stars and It Takes Two.
Architecting, designing and implementing a generic Java based competition system supporting SMS, IVR, Web, WAP and Email.
Designing and implementing a social networking application for mobile platforms.

2005: Software Engineer Contractor, Daronmont Technology, Adelaide

Implementing components of the Vigilare air defence command and control system in Java, including a flight plan interpolation module and radar signal protocol handlers.

2001 – 2005: Senior Software Engineer, CQR Data LTD. U.K.

Designed and implemented a large-scale, versioned, transactional, XML-based, distributed, client/server content management system in Java.
Developed large portions of an XML-based Java/Swing application including the implementation of an XML processing system incorporating XSLT, XQuery, and XML Schema. Also incorporating many XML-based renderers such as XHTML, SVG, XSL-FO, CSS and XForms.
Duties included: researching and evaluating technologies to be used, designing and implementing key components of the system, training new staff in the technologies used in the system, and mentoring university associates working with the company.

2000: Computer Science Practical Supervisor, University of Adelaide

Supervised first year Java practical lessons of up to 40 students. This involved helping students understand and solve the required problems and helping them with language syntax, concepts and compiler error messages.

1999 – 2000: Summer Research Scholar, Distributed and High Performance Computing Group, The University of Adelaide

Designed and implemented a message passing interface to support distributed programming in Java. The message passing interface has subsequently been adopted by the research group in the implementation of number of its distributed algorithms and has been involved in experiments carried out on the groups Beowulf clusters.

Education

2003: PRINCE2 Project Management, AIM Academy, UK

Attained foundation level certification in PRINCE2 project management.
Prince 2 is a process-based project management framework for managing arbitrary sized projects. This training covers all components of the PRINCE2 methodology and considers each of the techniques that have been developed to improve project management in general.

2000: University of Adelaide, Bachelor of Computer Science (Honours)

Thesis on mapping and visualising computer networks.
The mapping process leveraged the information provided by the Simple Network Management Protocol (SNMP) to construct a graph data structure representation of the underlying physical network to be visualised.
The visualisation process adopted various graph layout algorithms, from the literature, to create an appropriate layout of the network and this was subsequently rendered in three dimensions using Java3D.

1997-1999: University of Adelaide, Bachelor of Computer Science

1996: University of Adelaide, Bachelor of Commerce (1 Year)

Personal Projects

2010: gwt-java-math http://code.google.com/p/gwt-java-math/

A GWT implementation of Java's BigDecimal and BigInteger math package. This project has been integrated into GWT itself.

2009: gwt-comet http://code.google.com/p/gwt-comet/

A GWT implementation of Comet: streaming messages from the server to browsers over long lived HTTP requests to minimise latency and bandwidth requirements and maximise throughput.

PDF