Dr. Stephen Freeman - Curriculum Vitae

Mobile +44 (0) 797 179 4105 Email [email protected]

An experienced software professional with a proven record in:

Achievements


Current Position

Software Architect, Thomson Financial

I was recruited by some ex-colleagues to take over the development and support of a system for targetting content distribution (Java applets and Oracle). The system was in production with several major banks, but development had been chaotic and the remaining members of the team were frustrated; there were also major issues with the system design. I introduced measures to improve quality, such as: proper development tools, automated build, test-driven development, and pair programming. I mentored the members of the team to improve their development skills and understanding of object-oriented design. We have reduced our maintenance overhead by improving deployment, setting up a clean development and test environment, and removing redundant code; we have also started migrating the product to a more flexible design.

On the management side, I moved the culture of the team away from "command and control", pushing decision-making to the most appropriate people. For example, I moved the choice of which features to implement from development to support and product management, so that our business requirements drive our development priorities. I introduced an iterative development cycle that keeps us in touch with our internal customers, and ensures that our development effort remains focussed. I also arranged a facilitated Retrospective workshop to initiate a culture of Process Improvement within the team as a whole. An early outcome was that developers became more involved in the estimating of new work so that it could be more accurately specified and costed.

Later, I was chosen as one of the team leads during a corporate process reengineering and was nominated to join a company-wide Innovation group. Since then I have been involved in the technical preparation for a major bid. My current role includes technical review and coaching development staff in Agile techniques.

Technical Skills

Employment

April 2001 - December 2001 Splashplastic Ltd Web architect
June 2000 - March 2001 Big Blue Steel Tiger Ltd Principal Consultant
April 1999 - April 2000 Lombard Risk Systems Senior Software Architect
October 1998 - March 1999 Reuters Software Architect
July 1996 - September 1998 Object Technology International Senior Programmer
January 1996 - June 1996 Citymax Managing Consultant, Technical Strategy Group
November 1995 - December 1995 Digital Equipment Corp. Visiting Researcher, Systems Research Center, Palo Alto
June 1994 - October 1995 Rank Xerox Computer Scientist, Rank Xerox Research Centre, Grenoble.
July 1993 - September 1993 Digital Equipment Corp. Summer Internship, Systems Research Center, Palo Alto
Throughout 1992 Rank Xerox Contractor, EuroPARC, Cambridge, UK
July 1990 - September 1990 Xerox Corporation Summer Internship, PARC, Palo Alto
1987 TCAM System Consultant
1987 Software Sciences Ltd. Senior Programmer
1985
Programmer
1984
Junior Programmer

Education

Miscellaneous

Publications

Personal Details

Experience

Web Architect, Splash Plastic Ltd.
Technical lead for development of website and on-line systems: ATG Dynamo 5, Tomcat, SOAP, Oracle. Responsible for improving development and deployment processes. Coaching and mentoring
Principal Consultant, Big Blue Steel Tiger Ltd.
Project lead on pilot for talkingfamilies.com: ATG Dynamo 5. Technical coaching on various projects, including lastminute.com and beerislife.com: Dynamo 4.5 Sales presentations and documentation Improving company engagement process Extreme programming coach.
Senior Software Architect, Lombard Risk Systems
Responsible for development process and architecture for distributed risk management system (Java and CORBA)
Joint lead of a project of 12 people to build a derivatives pricing engine. First stage completed within 3 months, including a set of Excel spreadsheets for functional testing and demonstrations. First experience implementing Extreme Programming.
Software Architect, Reuters
Java architect within the Client Site Development Group. Coordinating and consulting for Java-based development within Reuters.
Senior Software Engineer, Object Technology International (OTI), London
OTI is an advanced software engineering company based in Ottawa, Canada, wholly owned by IBM. Its best known products are IBM's VisualAge for Smalltalk and Java. I was part of a small team in London that developed an object-oriented modelling tool to be included in IBM's VisualAge for Smalltalk. I was responsible for components concerned with hypertext, publishing and code generation, and for other tasks such as recruiting our student interns.
Member of Technical Strategy Group, Citymax, London
This role included membership of teams to select infrastructure for the next generation of product, to introduce object orientation across the company, and to re-engineer development process. Also provided project mentoring on object-oriented design and implementation.
Visiting Researcher, Digital Equipment Corporation, Systems Research Center, Palo Alto
I worked on the Millicent project for internet micro-payments. Wrote concrete specification of HTTP protocol and worked on a reference implementation for micro payments over the World-Wide Web.
Computer Scientist, Rank Xerox Research Centre, Grenoble
Technical architect for implementation of Coordination Language Facility (CLF), a rule-based language for the coordination of distributed applications. Role included responsibility for design and implementation of the system, team leading, and supervision of a visiting PhD student.
Summer Intern, Digital Equipment Corporation, Systems Research Center, Palo Alto
Summer internship to implement digital video in Trestle, an object-oriented user interface toolkit for the X window system written in Modula-3. The system exploited Modula-3's threads and type system to provide a clean and flexible architecture. The library was then integrated into higher-level tools so that programmers can easily assemble video applications.
Contract programmer, Rank Xerox EuroPARC, Cambridge
Part of a team implementing a database for a research project to record people's movement and activity over time. I designed the database structures, which had to support rapid querying of the current state and archiving of long-term data, and wrote a number of tools for entering, manipulating and retrieving information.
Summer Intern, Xerox Palo Alto Research Center (PARC), Palo Alto
Summer internship to build a user interface system to support multiple users sharing a single display. Features of the system were later folded back into the development environment and a paper was published at a major user interface conference.
TCAM Systems Ltd., London
Designer and Team Leader on Traded Options system built within a tight deadline. Responsible for sub-system for broadcasting prices in real-time.
Project Leader on substantial modification of Gilts dealing-room system to acquire compatibility with related system. Rebuilt processes for real-time updating of prices on screen.
Software Sciences Ltd.
Development and Maintenance on COLT (Continuous On-Line Trading) Equities dealing system, including: time at customer site writing programs to interpret feeds from Stock Exchange; on-site maintenance for customers; preparation of demonstration systems.
Analysis and Documentation of NSTS (National Securities Trading System) from Cincinnati Stock Exchange: building demonstration systems; giving demonstrations to customers; assistance in preparation of bids.
Part of team building system to route cables through telephone exchanges. Responsible for module to calculate cable lengths. GEC, Coventry.
Testing proprietary packages on new PC's and workstations at IBM Research Laboratories, Hursley.
Built functioning prototype of COLT from system specification during initial bid on IBM PC.
Part of Programme Support Team for Alvey ECLIPSE programme: built spreadsheet to model programme budget; liaison between programme manager and project managers; assistant to Systems Manager.