Telephone: 01473 273621  Mobile: 07734 592693
CV Date Feb 2020

Curriculum Vitae

62 Tomline Road
Suffolk IP3 8DB


I am an experienced research and development consultant, familiar with business, process and data modelling as well as all aspects of software development, including object-oriented technologies, user-interface design, network and internet protocols, web and mobile technology, development process and software version control systems. I have evaluated a wide variety of computer and software systems and am confident in specifying architectures and solutions for real-world problems. I have teaching, training, organisational and management experience as well as military and leadership training. I am especially familiar with service and system integration including REST, XML, XSLT, JSON, JSP, JDBC and Web Services as well as binary and textual interfaces and protocols. I have a deep understanding of HTTP and web frameworks, dynamic web page generation and the integration of modern web and server-side technologies with legacy software. For more details of my technical skills, see my development resumé at

I am a qualified, experienced and flexible teacher and trainer, familiar with classroom teaching, on-the-job training, and distance learning. I have good communication, collaboration and mentoring skills and work well in a team.


2017-2023 PhD in Computing, University of Suffolk / University of East Anglia (in progress, part time)

    Research on the impact of choices in software development, as exemplified by template engine libraries.

2018-2019 PGCAP, University of Suffolk (in progress, part time)

    A combined practical and theoretical course completed while working as a lecturer in computing at University of Suffolk. Included modules in: Learning Theory in Higher Education, Curriculum Design and Assessment, and educational research.

1998-2010 MSc in Computing for Commerce and Industry, Open University

    Dissertation: The impact of computer-mediated textual message routing on communication in a distributed extended family.

2003-2005 PGCE in adult and post-compulsory learning, Suffolk College, University of East Anglia

    A combined practical and theoretical course completed while working as a lecturer in computing at Suffolk College. Included curriculum and lesson planning, classroom management and learning theory

1983-1986 BSc (hons) in Computer Systems Engineering, University of Warwick (2.ii)

    Courses in Pascal, C, C++, Unix, Object-Oriented Design, Operating Systems, Database Theory etc. My final year project was a software package to create, display and simulate random 'fractal' terrain (C++ under Unix on a VAX) as part of a larger project to research low-level missile guidance algorithms.

Industry Qualifications and Memberships

Fellow of the Higher Education Academy
Member of the British Computer Society
Member of the Association for Computing Machinery
Member of the Institute of Electrical and Electronics Engineers

Sun Certified Java Programmer
City & Guilds 7407, Teaching Adults in Further Education (Suffolk College 2003)

I also hold 'A' Levels in Mathematics, Physics, Design and Technology, English, History, German, Accounting, Philosophy and Geography; 'O' Levels in Biology, Chemistry, Mathematics, English Language, English Literature, French, German, Technical Drawing and General Studies; and have completed many industry and leisure courses.


Journal Articles:

The Design and use of Characters, in Interactive Fantasy, The Journal of Role-Playing and Story-Making Systems volume 4, 1995


British Telecommunications plc, 2013, Triple Buffer Key Handling, European patent Application EP13250107.3

Conference Presentations:

"Long Term Video Blogging" at Vlog Europe 2005, Amsterdam
"Storytelling and the Design of Software" Storytelling 2018, Ipswich

Other Public Presentations

Template Engines and Template Languages for Dynamic Page Generation, Suffolk Developers Group, March 2018
A Year on the Go, Suffolk Developers Group, October 2017
ARMed and Dangerous - Microcontroller Development, Ipswich Makerspace, September 2015
Moore for Less - Agile Wisdom from the 1960s, Ipswich Ruby User Group, March 2013
Introduction to Gamification, Ipswich Ruby User Group, September 2012

Research Experience

Jul 2015 - Nov 2017: Guidesmiths Limited, London
Consultant with a research and development team investigating data models to unify pricing and billing for disparate domains such as telecommunications, energy, broadband, credit cards and insurance.

Oct 2015 - Apr 2016: Conga Limited, Ipswich
I was brought in to this client to work with a team from Essex University on a genetic algorithm approach to planning and scheduling on-demand public transport. I built upon the Essex team's work to develop a series of experimental prototypes and evaluate their effectiveness against publicly available rail and road transport data. I also mentored a student from University Campus Suffolk who was working part-time

Jun 2014 - Oct 2015: Guidesmiths Limited, London
Guidesmiths placed me with TES (Times Education Supplement) who were developing a system for peer-to-peer sales of teaching resources and needed someone to study the interactions between prices, currencies and taxes for a service with both sellers and buyers anywhere in the world. In particular I developed a financial and data model which included the complex provisions of EU VAT on intangible goods

Nov 2012 - Jul 2013: BT Vision, Adastral Park, Ipswich
I was part of a team developing a key component in a cutting-edge simultaneous multi-standard video encryption system for the high-profile launch of BT Sport. This role included supporting and mentoring the rest of the team, particularly in the areas of TDD, iterative design, and high-reliability development practices. Our component was such a success that the team, the software, and the way we developed it are now being held up as reference examples for other parts of British Telecom. BT also applied for a patent on one aspect of our work.

Apr 2011 - Jan 2012: Smart 421 Limited, Ipswich
As part of a mobile billing initiative for O2, I was responsible for researching reliability strategies for distributed systems, ultimately producing and documenting a general approach for service unavailability and service availability notification

Dec 2009 - Mar 2011: STL Technologies Limited, Bury St Edmunds
A significant research project into the possibilities of Radio-Frequency Identification (RFID) for tracking very hard to replace items (such as blood or evidence samples in a laboratory, or documents during a police investigation). Initially we were working in conjunction with a research team in the USA who were looking into novel physical architectures for RFID reading. When their research proved fruitless we broadened the scope of the project to include a range of potential tag reading technologies and produced several prototype systems. We ran many experiments on the effectiveness of different approaches to reading multiple moving tagged objects and developed useful statistical models for representing object position and status in the face of unreliable presence data.

Teaching Experience

Sep 2017 - Jan 2020: University of Suffolk, Ipswich
Lecturer in Computing: Teaching software development to undergraduates. Lesson planning and delivery, classroom management, mentoring, marking and moderation of work (part-time).

Nov 2002 - Mar 2006: Suffolk College, Rope Walk, Ipswich
Lecturer in Office Technology and Computing: Teaching software development, web technologies, and expert systems to late teenage and adult learners. Course and lesson planning and delivery, classroom management, mentoring, marking and moderation of work (part-time).

1999 - present Moderator, Mentor, Reviewer and "Sheriff" at (voluntary)
JavaRanch has over 500,000 unique visitors per month, and is one of the most popular Java-related web sites in the world. I was brought on to the project at the start to help scale the site beyond a "one man band". Working with JavaRanch I learned how to build a successful, effective and scalable community, including attracting and retaining visitors and mentoring large numbers of volunteer staff.

1997 - 2016 Regional Director at Steve Jackson Games demonstration team (voluntary)
A demonstration team is primarily educational, and in my time with this team I represented Steve Jackson Games at many conferences, conventions, games stores and clubs and taught hundreds of games to innumerable people. I have absorbed the detail of preparation and organisation as well as how to present well and interact with a wide range of potential customers, often over very long working days. My particular responsibility since the launch of the volunteer demonstration programme has been to run the European operation, spread across several countries. Just as with JavaRanch, coordinating and motivating volunteers is a complex process requiring subtle skills to get the best from very diverse people.

Other Work Experience

Jun 2014 - Nov 2017: Guidesmiths Limited, London
Associate Consultant: As an associate consultant I work closely with Guidesmith's clients to solve technology and business problems as well as implement, deliver and maintain solutions. Major projects have included billing systems for Times Educational Supplement and Utility Warehouse

Feb 2014 - May 2014: Smart 421 Limited, Ipswich
Senior Software Developer: Maintenance, continued development and mentoring new team members on the mobile billing system I worked on two years ago. (3 month contract, extended 4/14)

Sep 2013 - Feb 2014: Follow The Van, Ipswich
Development Lead: Architecture, design and prototype production for a "stealth" startup business.

Jul 2009 - Sep 2009: Smart 421 Limited, Ipswich
Consultant Software Developer: Design, implementation and maintenance of server software and XSLT page templates for customer-facing.unified login and registration system for a major mobile telephone operator. Mentoring of development team and review of associated code.

Sep 2006 - Apr 2009: iO Global Limited, Ipswich
Senior Software Developer: Design, implementation and maintenance of customer-facing systems for management, aggregation and sale of mobile downloads such as ringtones, music and Java games. Design and implementation of trial system for personalization of content and advertising across web, mobile and TV. Design, implementation and maintenance of initial deployment of location-based web/mobile service integration portal for BT and Westminster City Council. Mentoring of development team and process improvements to handle complex multi-customer workload.

Mar 2006 - Sep 2006: Smart 421 Limited, Ipswich
Consultant: Specification, architecture, design, and implementation of an enterprise licence key management component for a large Dutch media and telecomms company.

Jan 2004 - Mar 2006: Efficacy Solutions Limited, Ipswich
Consultant: Specification, design, and implementation of systems for local businesses and individuals including: improvements to an enterprise message-based system; configuration and management of corporate web sites; design, implementation and testing of drivers for legacy industrial hardware. (Several fixed price contracts)

Nov 2002 - Jan 2004: BT Ignite Global Solutions, Adastral Park, Ipswich
Software Engineer: Enhancements and maintenance of complex network monitoring and provisioning system consisting of a servlet/JSP/HTML/JavaScript front-end to custom Java middleware running under iPlanet application server on Solaris and communicating with an Oracle database using JDBC and SQL. Training a team to outsource future development. (Several fixed price contracts)

Oct 2001 - Jul 2002: BT eXact, Adastral Park, Ipswich
Software Engineer: Enhancements to Enterprise Knowledge Repository: User Interface process reengineering and the complete architecture, design and development of a distributable, scalable, caching "middleware" web application using JSP, custom tags, servlets and JDBC. Provision of flexible website branding and user experience customization using XML and XSLT. Acting as a Java, Object-Oriented Software, Web Services, Software Quality and Extreme Programming mentor for other team members. (Fixed price contract)

Apr 2000 - Jul 2001: British Telecom, Adastral Park, Ipswich.
Software Engineer: Maintenance of legacy Enterprise Knowledge Repository in C++/CGI/HTML/JavaScript, development of replacement web application in Java. Implementation of new SCM system and development process. (Initially a 6 month contract, Extended 10/00, 04/01)

Feb 2000 - Mar 2000: British Telecom, Martlesham Heath, Ipswich.
Software Engineer: Architecture, design, implementation and support of a prototype Java/HTML/JavaScript replacement for the complex multi-page paper forms used by sales account managers. Training the team who will take the project into deployment. (1 month contract)

Oct 1998 - Feb 2000: British Telecom, Bibb Way, Ipswich.
Software Engineer: Maintenance and development of a distributed C++ middleware system to perform real-time system tests for "Home Highway" ISDN service. Included AION knowledgebase on Solaris Unix. (Initially a 6 month contract, Extended 4/99)

Apr 1995 - Oct 1998: British Telecom, Martlesham Heath, Ipswich.
Software Engineer: Design, implementation and maintenance of a distributed multi-platform Java system for work scheduling and data-gathering. Design and maintenance of the previous version in C++ and C on a DOS-based Husky FS2 hand-held terminal. Writing a serial device driver in 8086 assembler for the FS2. Acting as a Java, C++ and object-oriented software mentor for other team members. (Initially a 6 month contract, Extended 10/95, 4/96, 4/97, 4/98)

Sep 1994 - Jan 1995: Telemarketing Link Ltd, Slough
Systems Manager: Management of a department of five people and a 50-user Pyramid Unix system. Creation and maintenance of telemarketing applications

Apr 1990 - Sep 1994: Lindos Electronics, Melton, Suffolk.
Purchasing Manager: Management of one employee. Design and implementation of combined computer/manual system for tracking and predicting stock shortages, automated component ordering, stocktaking and goods despatch.

Mar 1988 - Mar 1990: Lindos Electronics, Melton, Suffolk
Software Engineer: Design, implementation and support of software in C++ and Assembler under DOS including UI, graphics, language interpreter and device drivers to control the Lindos LA100 Audio analyser. Writing and production of the accompanying manual.

Jul 1986 - Mar 1988: Kuma Computers Ltd, Pangbourne, Berks.
Programmer: Porting of a word processing package from C and Assembler under GEM on the Atari ST, to C under GEM on the PC. Design and implementation of an indexing package for the above. Design and implementation of a word processing package in C under AmigaDos on the Amiga.

Jan 1983 - Sep 1983: Marconi Space and Defence Systems (Command and Control), Camberley, Surrey.
Electronics Assistant Assistance in the manufacture of military computer system prototypes, and writing of test programs in 8086 assembler to evaluate the hardware, a service not provided by the main software contractors.

Jan 1980 - Oct 1982: Royal Navy, various ships and shore stations.
Weapons Engineer Officer: General and Navy-specific engineering training, both theoretical and practical. Leadership and management training.