Personal Details
Personal Profile
I am a senior
developer with additional skills as a team/technical lead
and technical and software architecture. My
core interests involving designing and developing Enterprise
Java
(j2ee), Corba and
XML solutions and their role in enterprise
application integration (eai).
I have been a senior
developer, technical architect, technical lead and/or
team leader on a number of projects, and have a total of over 6
years experience in the IT industry.
I am looking to be a
senior developer in a small or medium company, with additional
responsibilities in software design. I wish to remain in
‘hands-on’ development whilst facing new business and technical
challenges, broadening my knowledge across new areas of industry
and technology.
Outside of work I enjoy rowing,
Scuba diving,
snowboarding and cycling.
Education
|
1989—1995 |
Diploma in Computer Science,
B.A. Hons. 1st Class in
Electrical and Information Sciences
All at St. John’s College, Cambridge
University, England. |
|
1982—1987 |
|
Occupational
Qualifications
I am currently studying for the Sun Certified
Enterprise Architect for
j2ee qualification.
Skill
Summary
Role
|
Months Experience
|
|
Technical Architect |
39 |
|
Software Architect |
43 |
|
Technical Lead |
26 |
|
Software Developer |
74 |
|
Mentor |
38 |
Technical
Skills
Skill
|
Months Experience
|
Analysis and Design Skills
|
|
Requirements Analysis |
45 |
|
Domain Modelling |
35 |
|
Use Case Modelling |
38 |
|
Object Modelling (uml/omt) |
40 |
|
Data Modelling |
40 |
|
Robustness Analysis |
30 |
|
Prototyping |
37 |
Analysis and Design Tools
|
|
Rational Rose |
36 |
|
Select
omt |
7 |
Application Technologies/Tools
|
|
J2EE/EJB |
44 |
|
corba |
39 |
|
Messaging (jms) |
12 |
|
soap |
3 |
|
jboss |
10 |
|
BEA Weblogic |
3 |
|
Borland Enterprise Server |
29 |
|
Tomcat |
37 |
|
com |
7 |
Development Languages
|
|
Java/j2ee/j2se |
46 |
|
jsp/Servlets/Struts |
39 |
|
xml/xsl/xslt |
26 |
|
sql |
35 |
|
C++ |
38 |
|
html/dhtml/xhtml/css |
7 |
|
Visual Basic |
7 |
Development Tools
|
|
Eclipse |
24 |
|
Jbuilder |
40 |
|
SourceSafe |
70 |
|
CVS |
6 |
|
Visual J++ |
12 |
|
Visual Café |
2 |
|
C#/Visual Studio .NET |
2 |
Databases
|
|
Oracle & PL/SQL |
23 |
|
Informix |
32 |
|
Sybase |
6 |
|
SQL Server |
7 |
Employment
History
Employer: MWS
Consulting Ltd Cambridge, England.
Client: Fleetwood Electronics Ltd,
Cambridge, England
Project: Mobile Network Terminal, Feb
2003—
Role: Senior Developer
Fleetwood Electronics
provide a mobile networking and messaging solution to companies
that manage fleets of vehicles. The mobile device runs Java
on Linux and the central communications hub runs Java
on NT. The device/server communications can be
http,
sms or
gprs.
My responsibilities include:
·
Designing and developing Java
applications that run on the mobile device
·
Evaluating and developing
communications protocols between devices and server
·
Designing and developing Java
servlets for http
communications
Client: Video Networks Ltd, Stevenage,
England
Project: Core Separation Project, Mar
2002—Feb 2003
Role: Senior Developer, Technical
Lead, Technical and Software Architect
My responsibilities have included:
The generic
sme e-commerce
platform is a collection of simple, pluggable layers of software
that allow an sme
to quickly create and then maintain an e-commerce presence. It’s
primary objectives are to be inexpensive to run and simple to
maintain; the platform achieves this by using a combination of
open source software and well established e-commerce
ui paradigms.
The platform is implemented with JSP’s,
servlets,
Struts, JavaBeans and
ejb’s using
Tomcat, jboss
and MySql.
Development of the system is ongoing.
Client: Video Networks Ltd, Stevenage,
England
Project:
Customer Relationship Management Integration, Jan 2001—Mar 2002
Video Networks Ltd (vnl)
is the IT company behind the HomeChoice Video-On-Demand digital
TV service. vnl
were replacing their bespoke 500 user call centre
crm software
with the Siebel
crm package. The project involved the design and
development of a collection of
corba
servers to wrap
vnl’s legacy systems. These server components realize
vnl’s business use
cases and are invoked by Siebel. The
corba servers are
implemented as ejbs,
with xml
being used as the communications protocol between Siebel
and corba. These
components needed to be high availability and be
highly scaleable. JBuilder and Inprise Application Server
were used in conjunction with the Apache Xerces
xml parser and
Xalan xslt
library. The test harness
gui to the servers was written using servlets and
jsps
within a struts
framework.
I worked on this project through its whole
lifecycle. My responsibilities included:
·
Being the technical
architect and technical lead. This included all the
items listed below, as well as being responsible for the
technical success of the project. It also included resolving
technical problems for the team and reporting to management
where appropriate.
·
Hardware and software choice
for the corba/ejb
servers.
·
Designing and implementing a
proof of concept to demonstrate security, scaleability,
reliability, robustness, load balancing and
throughput of a sample
corba/ejb server.
·
Interface design of the
corba/ejb servers.
·
Low level design and
implementation of one of the
corba/ejb servers.
·
Writing high and low level
technical and functional specifications
·
Coaching/mentoring/code
reviewing other team members
·
Designing and developing the
server test harnesses in
jsps and servlets using the
struts
framework.
Employer: Access Gaming Systems, Sydney, Australia.
Duration: 1 year, April 1999—March 2000.
Project: ACES Online Casino
Role: Technical Architect, Team
Leader and Senior Developer
Access is a product-based company that writes
software for companies that wish to operate internet casinos.
The software allows players to play games for cash and provides
a variety of different games (e.g. slot machines, card games and
other traditional casino games).
The software has a client side that is
Jsp and
Java applets, and a server side written using J2EE
technologies (ejbs
and servlets) and C++ that is distributed across
pcs and Unix
machines. The server side components communicate via
corba
(Iona’s Orbix).
An Oracle database is used.
I was involved on the server side of the
product, my tasks including:
·
Analysis and redesign of the
high-level games’ architecture so that the writing of server
side game logic could become part of a development kit. This
allowed Access to sell the server side software to third party
games' developers and was achieved by defining a hierarchy of
Java interfaces and abstract classes.
·
Analysis and design of a
sub-system to provide ‘linked jackpot’ functionality: a concept
where separate players contribute to a common jackpot whilst
playing normal games, each player having an equal chance of
winning the linked jackpot. Technically challenging from a
player-fairness point of view.
·
Analysis and redesign of a
mechanism to decouple the front end and server side game logic
into one component and the remaining server side logic into
another component so that each component would be back- and
forward-compatible with each other.
·
Design and implementation of a
new game based on dice rolling.
·
Design and implementation of a
mechanism to customise game availability as perceived by a
player according to the location of the player and their
currencies.
Employer: CMG UK Ltd
Client: Shell Oil Products
International, London, England.
Project:
cross: Customisable Routing/Scheduling Software, 1
year Sep 97-Sep 98
Role:
Consultant, Software Architect, Senior Developer, Researcher
The
cross system is a globally deployed piece of logistics
software that allows Shell to schedule delivery of petroleum
products to petrol stations. The system optimises the routing
for a fleet of vehicles, taking into account constraints such as
vehicle loading restrictions and time.
cross uses a
Powerbuilder front end, C++ and Java business
logic, and an Oracle database.
I researched, designed and developed the
calculation engine that optimised the routing of the vehicle
fleet, instructing drivers where and when to collect petrol
products and where and when to deliver them via a specified
route.
My tasks included:
·
Improving the performance of
the calculation engine. I reduced the average run time from over
an hour to six minutes.
·
Restructuring and refactoring
the code to make it object based and easier to maintain.
·
Analysing, designing and
implementing extensions to the routing logic to handle
locale-specific restrictions.
Employer: Quidnunc Ltd, London, England.
Duration: 2 years, August 1995—August 1997
I worked on a
number of projects during my time at Quidnunc and was part of
the team that determined the technical direction of the company.
I was also the technical expert on a number of project bids
(presales).
Client: Financial
Times Information (FTI), London, England.
Project: World
Reporter, 6 months, Jan 1997—Aug 1997
Role: Consultant
World Reporter is a document processing and
cross referencing system that receives documents from around the
world in a variety of formats (e.g. raw text, photocopied
document); it then parses, indexes and cross references the
documents according to customer-specific keywords. Relevant
documents are then collated and sent to the customer.
The application is deployed as a collection
of C++ corba
components and allows different parsers to be plugged in
(e.g. pdf,
ms Word
documents). The cross-referencing is performed by Verity.
I was a technical consultant on this project,
performing the analysis and design of the system architecture
and the interfaces that defined how
fti could write
their own server-side parsers as new document formats were
handled by the system.
Client: Goldman Sachs Asset
Management, London, England.
Project:
Fxfe—Foreign Exchange Front End, 8 months, March
1996—Nov 1996
Role:
Developer
Fxfe
enables Fx traders
to automate the management trades throughout their lifecycle. An
extension of the application enables the grouping of similar
trades together into a block trade. This is significantly
reduces the workload of the traders and is a very complex
algorithm.
The application is written as a collection of
C++ components running on Unix and uses a Sybase
database. The components allow different data feeds to be
plugged into a core block-trade generation component that is
then manipulated via the
gui component.
I was the analyst, designer and developer on
the gui component
and the block trade generation component.
References
References are available upon request. |