Personal skills
A fast learner, creative and self motivating - I work well alone or as part
of a team. My main skills are in architecture and development of large
and distributed software systems. I am eager to learn new skills, increase my knowledge
and remain technically focused. I interact well with other members of the team
and enjoy taking on a mentoring role. I have experience of managing small projects
on a technical level. I can offer consultancy in my areas of expertise.
Technical skills
- Over 15 years of C++
programming experience in Windows
and UNIX environments,
- Over 10 years of COM programming, i.e. ATL, VBA etc.
- Over 5 years of .NET programming experience on
Windows NT/2000/XP,
- 4 years of C programming
experience on UNIX (Solaris, SunOS)
- Design and implementation of applications which rely heavily on
object technologies
(Microsoft's COM)
and networking.
- Considerable experience in most stages of the
software development life cycle:
from early requirements capture and specification to deployment and support.
- Systems and application programming: design and implementation of distributed (and
cross-platform) object-oriented
systems and high performance
multi-threaded applications.
- Design and development of applications which take advantage of
large compute farms (or grids).
- Thorough understanding of and a lot of hands on experience in:
XML,
XML Schema,
XSL,
Web Services and
WSDL,
SOAP,
HTTP.
- Over 10 years of Investment Banking experience,
mainly Fixed Income and Equities Derivatives
IT systems.
- Over 7 years of designing and implementing distributed, high-performance pricing and
Market Risk systems.
Employment
The list below is project-oriented, rather than being a company-centred time line. This means that
to reconstruct such a time line you must aggregate by company. The entries are already sorted in
reverse-chronological order.
Credit Suisse
One Cabot Square,
London EC14 4QJ
U.K.
August 2008 to June 2009
|
|
Skills used: C++, C#,.NET, TCP/IP, COM, ATL, STL, boost
|
|
I held the position of Vice President in the Derivatives IT department. A senior member of the DiVA team, we developed software for a high-performance distributed calculation system, also known as a farm or grid. Its main uses are in Monte Carlo valuations (establishing values of products), but risk valuations (future market scenarios) are making an increased demand on available infrastructure and compute power. I was also tasked with improving parts of the system through better code quality and test coverage. One of my more specific projects was to improve end-to-end performance by using compression within the networking subsystem.
|
Credit Suisse
One Cabot Square,
London EC14 4QJ
U.K.
September 2006 to August 2008
|
|
Skills used: C#, .NET, C++, Excel, COM, ATL, STL, boost
|
|
My main responsibility was to improve the design and implementation of an Exotic Equities Portfolio Risk Management System. The system started as a Microsoft Excel automation framework. To meet increased demand, in early 2008, work started on a prototype for a replacement system. After successful demos to traders and senior management, we delivered a first working version, covering a limited set of product types. I was involved with the overall design, architecture and implementation, due to my extensive knowledge of the bank's systems in particular, and technology in general. Subsequently, my efforts concentrated on improving calculation performance through better handling of market data.
|
Credit Suisse
previously Credit Suisse First Boston
One Cabot Square,
London EC14 4QJ
U.K.
July 2004 to August 2006
|
|
Skills used: C++, Windows 2000, XP, Excel, COM, ATL, STL, XML, C#, .NET
|
|
I worked in the Hydra Core Development team, improving performance and
scalability of this strategic Equity Derivatives Portfolio Management system. My main achievements were in improving performance of the system through task parallelization, better CPU utilization, re factoring and removal of COM from performance critical parts of the system. Another important project involved automation of Microsoft Excel, by the new system, to allow the prototyping of pricing models for exotic equity products. We spent considerable effort on encapsulating pockets of system functionality as services exchanging messages. One result of this was the implementation of a reporting system for senior management. Mainly
bridging and changing old systems and spreadsheets to use the new messaging services, we enabled better reporting of risk aggregated across books, desks and business units.
|
Credit Suisse First Boston
One Cabot Square,
London EC14 4QJ
U.K.
March 2002 to June 2004
|
|
Skills used: C++, Windows 2000, COM, ATL, STL, XML, C#, .NET, ACE toolkit
|
|
I worked in the Fixed Income
Derivatives Core Technology team. CoreTech provided, amongst other things, a high-performance, distributed valuation
engine. The main use of such a system is for Market Risk calculations. However, due to its architecture, it can also be used as a pricing engine (responding to market data changes in near-real-time). I was involved with maintenance and development of a market risk valuation system, the re-design of the market data parts of system, and re-factoring of existing components. This mainly involved the encapsulation of functionality behind COM interfaces and through web services.
|
Barclays Capital
5 The North Colonnade
London E14 4BB
U.K.
Sept 2001 to March 2002
|
|
Skills used: C++, Windows NT, COM, ATL, MSMQ, STL, XML
|
|
I was a Manager Level Developer with the Emerging Markets group. We were tasked with releasing a
trading system to the company's offices in South Korea. Subsequent to the release we
re factored the application
and its modules in anticipation of more releases around the world.
|
Credit Suisse First Boston
One Cabot Square
London EC14 4QJ
U.K.
June 2000 to June 2001
|
|
Skills used: C++, Windows NT, COM, ATL, STL, XML, XSLT, HTTP, ASP
|
|
I worked in the Fixed
Income Derivatives (FID) Core Technology team, as an Analyst Developer. This team provided core frameworks
and applications for other FID development teams. My main task was to develop a high-performance,
multi-threaded
pricing engine in C++, for use with the bank's analytics in pricing calculations. I was also
involved in modelling bonds for use in the
engine and many other applications within FID.
|
Credit Suisse First Boston and
Credit Suisse Financial Products
One Cabot Square
London EC14 4QJ
U.K.
September 1997 to March 2000
|
|
Skills used: Windows NT, Unix, C++, Sybase, Visual Basic, COM, ATL, ODBC, OLE-DB, STL, RogueWave, LDAP, shell
scripts.
|
|
I worked as a Consultant in the Tools and Technology Team. This team provided
the core code for other development teams, examined new
technologies to see how they can be used within the bank. We also helped mentor
and train other teams to use appropriate technology to solve their
problems. In addition to working within the team we were sent out to
other teams within the bank, to provide assistance in project delivery and training.
Key projects:
- core technology, C++, NT COM development: providing COM interfaces onto our in-house C++
libraries.
- data access from our in-memory database, 3-tier
servers and a custom Generic ODBC Driver - all the way up to VB and external
web sites.
- Real-Time Data Server (Solaris) for providing access to
live Reuters Market Data using Tibco's
Teknekron and Rendezvous feeds.
- design of an access control model for our server
security library. Evaluated the use of Directory Services and LDAP for
this purpose.
- code generation for a working client-server pair based on an IDL
specification of the server's API. This level of code generation was
made possible through an in-house COM-to-RPC mechanism using
RogueWave's streaming classes (found in Tools.h++) and a custom implementation of the IDispatch COM interface.
|
Fidelity Investment Management Limited
Oakhill House
Hildenborough
Tonbridge, Kent TN11 9DZ
U.K.
1996 to 1997
|
|
Skills used: Windows NT, UNIX, C++, STL, MFC, Sybase SQL, COM
|
|
Held the position of Analyst Programmer in the Multi-Currency Deal Management System and Application
Support Teams. My responsibility was to help develop and maintain client-server, 2-tier applications
used by the company for its foreign exchange dealings and numerous investment products. I worked on a number of projects using my skills in C++, MFC, SQL on Sybase, Windows 98, NT 3.51 and UNIX.
|
Philips Research Laboratories
Cross Oak Lane,
Redhill,
Surrey RH1 5HA
U.K.
1994 to 1996
|
|
Skills used: Workflow Analysis, OOA/OOD
|
|
Held the position of Research Scientist in the Software
Engineering and Applications Group. My main objective was to generate new
ideas to improve the company's software and systems development. Apart
from this pure research role, my responsibility was also to act as a
consultant to various product divisions, within the Philips Group, in the
area of object-oriented development, requirements capture, analysis and
design. One of the projects I worked on was chosen for presentation to the
Board of Management of Philips at the Concern Research Exhibition in Holland.
|
Department of Computer Science
University of Manchester
Oxford Road, Manchester M13 9PL
U.K.
1991
|
|
Skills used: Unix, C
|
|
My task was to design and implement (in C) a mapping between the
EDIF and CFI formats for transferring CAD data.
We presented the working programs at the EURO DAC `92 conference in Hamburg, Germany.
|
Department of Computer Science
University of Manchester
Oxford Road, Manchester M13 9PL
U.K.
1991
|
|
Skills used: Unix, C, X Windows
|
|
My task was to design and implement (in C) a Printed Circuit Board routing algorithm with a graphical interface,
to serve as a demonstration program for a CAD course.
|
Education
Department of Computer Science
and Department of Mathematics
University of Manchester
Oxford Road, Manchester M13 9PL
U.K.
1990 to 1993 First Class Joint Honours, Bachelor of Science in Computer Science and Mathematics
|
|
Final year project: parallel programming in C. This project involved the design and implementation of a
parallel version of the ray tracing
algorithm - an image rendering technique. The working program was developed within a C environment running on
a rack of 64 transputers.
|
Formal training
Publications
- S. A. Higgins, P. A. Gough, F. Fodemski, "Exploitation of Hypermedia in Software
Requirements Engineering", Multimedia Toolbook Conference, August 1994. Download proceedings from
here.
- P. A. Gough, F. Fodemski, S. A. Higgins, S. J. Ray, "Scenarios? An Industrial
Case Study and Hypermedia Extensions", Proceedings of
the Requirements Engineering Conference RE95, April 1995. More information can be found
here
or from Philips Research.
Interests
My interests include travel, hiking, swimming, badminton,
squash, tennis, pedal- and motor-cycling. I also enjoy mixing and DJ'ing (played techno
and house music in London and Warsaw clubs). I try to spend most of my holidays travelling.
You can read my blog or visit my LinkedIn Profile.
|