| Programming Languages | Java, C/C++, XML, SQL |
| Platforms | Windows 2000 & NT, Unix (Linux, Solaris, Mac OS X), Eclipse |
| IDEs | Eclipse, IntelliJ, Visual Age, Visual Cafe, jBuilder, TogetherJ |
| Products & APIs | J2EE (EJB, JDBC, JMS, JNDI), Servlets/JSP/Struts/Velocity, Eclipse RCP, Swing, AWT, Hibernate, OpenSymphony, WebWork, OSWorkflow, JUnit, Apache and Jakarta technologies, TopLink, JBoss, WhiteLight, Oracle, Sybase, MySQL, XDoclet, ANTLR, Maple, Matlab |
| Techniques | CMM (level 3), Coad, OOA/OOD, eXtreme Programming (XP), Agile Software Development, Design Patterns, Test Driven Development |
| Open Source Projects | EclipseMetrics, Jedi |
| Interests | Neural Networks, Self-Organising Systems, Music Composition |
- Fifteen years leading edge software experience in financial markets, investment banking, health services and research
- Nine years advanced Java architecture, design and development
- Mentoring and advising in OO, Java and internet technologies
- Nine years experience in software process improvement including Agile Methods (XP) and CMM
Casual Miracles Ltd is a new consultancy that offers experienced development teams, team leaders and project managers. I have been involved in 3 pieces of consultancy to date:
- Helping to develop a floorplan drawing application for the Foxtons estate agency using Swing. This work is ongoing, taking 3 days a month for maintenance work.
- Auditing an existing codebase for a large financial institution and making recommendations for correcting the issues found. This work has been successfully completed and the client is currently implementing the recommendations.
- Co-designing and implementing a Java API and Eclipse RCP application for the DOORS requirements management system. This work is ongoing and is due for completion at the end of December.
I was a team leader and XP coach for 3 applications related to Credit Risk. All three applications were developed by a team of 10 developers using EXtreme Programming (XP) and were released every two to four weeks. Technologies used include Java, Hibernate, Spring, Tapestry, Velocity, Swing, OpenSymphony WebWork, OSWorkflow, Junit and Sybase.
My role covered analysis, architecture, design and implementation. I also provided XP coaching and team leadership. Since starting with this team, I significantly improved the non-technical XP practices (release planning, iteration planning and the writing of user stories) and introduced better estimation methods, resulting in a much more controlled and productive process.
In addition, BNP Paribas commenced a CMM-I initiative in 2005. Because of my previous CMM experience I was well placed to help reconcile the CMM-I and XP processes for my team and others.
FusionDQ Ltd developed a novel, high performance, lightweight data-quality product comprising a Java server, pluggable database layer, client API and an Eclipse RCP user-interface. I was jointly responsible for architecture, design, implementation and project management of the product with a team of four developers. Most of my work focussed on analysis, design and implementation of an object model to represent the problem domain and also, a simple declarative, domain-specific language to allow users to specify the problem to be solved.
I was engaged by Deutsche Bank to advance their FX e-commerce platform by designing and implementing a client and reference data management system for their FX+ trading system, and to integrate an older fixed income dealing system with the FX e-commerce platform. Profit & Loss awarded this system Best Order Management and the White Label Award in 2003. I also advised senior management on Agile practises to enhance the existing development process.
My responsibilities in the FX+ project were internationalization, and design and development of parts of the client management web user interface, model and persistence. My responsibilities in the FI+ project were analysis, architecture, and design. Once the initial work on this was done, I was responsible for implementing a distributed cascading spreading system so that white labelled clients could implement their own margins. FI+ was implemented using JBoss.
My initial role at The Capital Markets Company was to continue the development of the company's Straight Through Processing (STP) system and later to re-architect, design and build a more robust and scalable solution. This system is a reconciliation engine and is capable of processing millions of messages a day, flagging errors (according to a set of user defined rules) and receiving corrections from users via a web interface. Messages are expressed in XML or in flat files, arrive via a JMS queue and are stored in Sybase. The web interface is implemented using Java Servlets and Java Server Pages.
Kizoom is a UK based software company developing location-aware applications and technology for the mobile wireless internet and has produced the world's first personalised WAP service.
The software developed at Kizoom made extensive use of Java Servlets, JSPs and Enterprise JavaBeans. The product was developed using Visual Age for Java and was deployed on BEA WebLogic.
My task at BUPA was to architect, design and code a web based rostering and billing system to be used in over 400 care-homes throughout Britain. The purpose of this is to unify and centralise the existing process. This involved the development of two Swing components for the rostering functionality, an XML application to facilitate the exchange of data between the various parts of the distributed system, taking an active role in discussions regarding the database schema and coaching the rest of the team in iterative software development methods to ensure correct and timely delivery.
Consultant
(January – September 1999)
Objective Computer Systems Ltd is a City based Java consultancy with a proven track record in object technologies. My first assignment was a three month contract in Silicon Valley working with WhiteLight Systems Inc., one of the leading OLAP server vendors. The aim of this project was to produce a bespoke web based position analysis and management system for a major investment management company. In addition to producing the Java side of the development, the nature of the project demanded that I rapidly acquire an understanding of the OLAP server functionality and assisted with the development of both the Sybase and OLAP models. The project was produced with a heavy emphasis on evolutionary delivery and the final product was delivered on time and to the satisfaction of the client.
My work after returning from California was the in-house development of a servlet based product that enables easy web-document authorship and collaboration. This product was produced within a team of four consultants and pioneered the eXtreme Programming methodology in the UK. An early version of this product was demonstrated at 1999's Internet World show and generated considerable interest.
My role with the Client Site Technology Group was the development of JavaBeans components for visual editing of many standard Java data types and some common proprietary data types used in Reuters. This work involved the design, coding and testing of the components.
In addition to development duties, I undertook the Software Quality Assurance function of the Software Engineering Institute's Capability Maturity Model. The purpose of this function is to advance understanding and promote adherence to the software engineering process and to develop and improve the process.
As a member of the Real Time Technology Group, I was responsible for the development and support of the Concentrator Manager (CMG), a key part of Reuters Integrated Data Network. This system monitors the worldwide use of Reuters software products on the trading floor, enabling current and future consumer needs to be identified. This work was carried out in Vax Pascal, C++ and Java
PhD in Neural Networks
(September 1990 – September 1994)
Original work conducted during the course of this research culminated in the development of a novel self-organising neural network called the 'Gello Model'. The principal concern of this work was to establish the viability of a network architecture in which, in addition to topological considerations, the spatial arrangement of neurons is significant. The model is considered to exist in a growth substrate in which new synaptic connections may grow by tracing 'information pathways' to their origin. As a result, this network not only adapts in the conventional way, by altering synaptic weights, but also grows new dendritic connections to potentially useful inputs. Software for this work was written in C on UNIX platforms. Prototyping was performed with MatLab and much analysis was carried out with the assistance of Maple.
In addition, I presented a paper at the international Neural Information Processing Systems conference in 1991.
While undertaking my PhD, I was employed by the university to tutor undergraduate students and assist with final year projects.
BSc in Electronic Engineering (2:I)
(September 1987 – June 1990)
A - Levels
(September 1985 – June 1987)
| Electronics | 'A' |
| Physics | 'A' |
| Mathematics | 'B' |
I have been practising karate for over seventeen years and currently hold a fourth dan in Goju Ryu Karate, a second dan in Shotokan Karate and a first dan in Iai-Jutsu. While at the University of Kent I taught the university karate club with class sizes of over 200 students. During this time, the club had many successes at the National Student Championships. I personally hold gold, silver and bronze medals for team and individual events at the Student Nationals and national 'open' competitions.
I have played the piano since I was eight years old and for the last twenty years I have developed a keen interest in the theoretical aspects of music. As a result, I have composed many original pieces in the baroque style for piano, harpsichord and small ensembles. Some of these compositions have won awards in national and international competitions.
| Address | Godalming, Surrey |
| Telephone | 07779 026533 |
| Nationality | British |
| Marital Status | Single |
Available upon request.