A very enthusiastic and adaptable professional interested in delivering quality software using agile approaches

Skill Summary

Web Development

Web Application Design and Programming using Ruby On Rails, Sinatra, Hanami and related technologies

Agile/XP practices including TDD/BDD, Continuous Integration/Deployment, Version Control (Git), refactoring, DRY, YAGNI

Web Application Design and Programming using ColdFusion, Fusebox 3


Scrum master

Kanban - Facilitator/Coach for retrospectives, estimation, planning, etc

Developing User Stories and Acceptance Criteria with stakeholders

Server Systems Administration

Linux (Ubuntu), including Bind, SSL certs, Chef, Amazon EC2, cron

System VR4 System Administration (Sequent Dynix/PTX and SUNOS/Solaris)

TCP/IP network configuration and implementation

Korn and Bourne shell scripting

Desktop OS

Mac OSX, Ubuntu, Windows


Scrum Certified Scrummaster (May '09)

Programming: Certified Advanced Cold Fusion 5.0 Developer

Professional Body: MBCS (Member of British Computer Society)

B.Sc. Degree: Mathematics (Honours) at University College London

GCSE A-Levels: Computer Science, Maths, Further Maths, Physics

On the Web

You can find my blog and my github account.


Interests: Music, both listening and playing (Bass Guitar), Cinema, Dining, Travel, Diving

Employment History

Macmillan Publishing / Springer Nature

Senior Developer (Web, Ruby & Rails)

June 2015 - Present

Key Activities

Taking the 'nature' brand home page app from a skeleton proof of concept to a robust, reliable, fast, production service. Since this replaced a static html page, particular emphasis placed on relibility, the app will surivive backend outages by relying on cache and will survive cache outages by relying on the backend.

Coding 'Subject Pages' application (showing subjects across all journals). Application taken from scratch to launch.

Enhancing Beta Search application to include advanced search including filtering.

Lonely Planet


October 2011 - March 2015

Key Activities

New development and maintenance/enhancement coding in the LP Online team, supporting the applications providing the main content of the Lonely Planet website.

  • Tools used included: Elastic Search, Postgres, AWS services, Ruby and Rails, Redis
  • Agile (blended with Kanban and Lean) practices used throughout, shared code ownership, retrospectives, weekly goal-setting meetings, etc.

Integration of "Ultimate Lists" (from books applicaton) into main LP online Rails application.

Integration of news blog (Wordpress) data into main LP online Rails application.

  • Tools used included: Grape API to expose WP data

Integration of "Need To Know" data (from books applicaton) into main LP online Rails application.

Development of background data pipeline in Ruby, pulling data from multiple partners and internal sources.

Redevelopment of legacy java applications (Hotels, Destinations) in Ruby On Rails


Development Team Leader

April 2009 - September 2011

Key Activities

Changed team from Scrum to Kanban on my own initiative, driven by wanting to make the team responsive to business demands, because scrum was not working well in a predominantly support and maintenance environment.

Fostered a Continuous Improvement culture by encouraging team to talk about pain-points and wishlist items on a regular basis and addressing those items within a week at the team meeting.

Negotiated for developers to have a 'google day', one day per month per developer on an activity of the developers choosing.

Running scrum team as Scrum master, both doing conventional scrum and then our own adaptations for a mixed maintenance/new development environment

Facilitating retrospectives (team meeting) often adapting our process as a result.

Advocating Agile principles (including Lean/Kanban/Scrum) both with the Team and the rest of the organisation

Promoting good development practices within the Team, including refactoring, BDD/TDD, Design Patterns, XP practices, etc

Used Agilezen to co-ordinate distributed team.

Continued as active developer alongside these activities

Adopted replacement technolgies where appropriate, e.g. Jenkins/Hudson (for Cruise Control), Confluence (for Mediawiki), Bundler and RVM (for in-house bundling solution) and Cucumber

Improved automation between Github, Lighthouse (ticketing) and Jenkins (CI)

Web Application Developer

April 2002 - April 2009

Key Activities

Supported and Maintenance for core business app including

  • Adoption of new technologies: Git (for Subversion) and SOLR (for ferret)
  • Developed new features, driven by business requirements.

Re-development of core business application (Public Sector Recruitment application driving over a hundred websites) using Ruby On Rails.

  • Contributed to this project at all levels of design and coding.
  • Applied domain knowledge of pubic sector recruitment to creation of user stories, where the business could not supply them.
  • APIs were developed, for instance to enable migration from the legacy application.
  • Technology in use included Ruby, Ruby On Rails, mongrel, Apache, passenger, Subversion, ferret, rspec, Cruise control, Capistrano, BackgroundRB, MySQL, AJAX.
  • Techniques applied included TDD/BDD, and Scrum.

Developed spike project (for new technologies and techniques) combining the freecycle functionality and ethos in a website not unlike an online auction site.

  • Explored new technologies including Ruby, Ruby On Rails, MySQL.
  • Explored new techniques including TDD, and Scrum.

Re-development of core business application (Recruitment application)

  • Design and implementation of a layered software architecture since ColdFusion 6 was new and there was no recognised best practice.
  • Integrated Fusebox 3 framework as the main component of the presentation layer.
  • Technology used included COLDFUSION 6.0, FUSEBOX 3, PostgreSQL, Javascript

Development of bespoke Recruitment website using Cold Fusion 5.0 with the Fusebox 3 framework.

  • Architected and designed the application, based on supplied functional specifications.
  • Coded the major part of the application and manage the delegation of some coding to other Cold Fusion programmers.
  • Application features included candidate registration, job search, roles based security for administrators and integration with a legacy database.
  • Implemented a flexible presentation layer using the Fusebox framework, allowing easy collaboration between HTML/graphics designers and coders.
  • Technology used included COLDFUSION 5.0, FUSEBOX 3, SQL-Server, HTML, Javascript

Study Break

Self Training

January 2002 - March 2002

Key Activities

Personal development and training, including Cold Fusion Certification exam, Java refresher course and Java Server Pages (JSP).

Bamber Forsyth

Web Application Developer

April 2001 - December 2001

Key Activities

Development of Website and Content management system using Spectra.

  • My contribution to this site was the object-based infrastructure and the content management system (using Spectra and Cold Fusion)
  • Coded a solution which allowed new CMS object types to be created without the need for a specific CRUD UI for each one, saving considerable coder effort as the final app had over 80 object types.
  • Contributed to the front-end (HTML integration) including RSS newsfeeds.
  • The site prompted this comment (to the project team) from one of the developers of Spectra: "CIM is an impressive site and you should be proud of your work. It is one of the largest and most sophisticated Spectra applications I have seen." (Details on request.)
  • Technology used included SPECTRA 1.5, COLDFUSION 4.5, SQL-Server, HTML, Javascript, CVS.

Pixelpark UK

Web Application Developer

April 2000 - March 2001

Key Activities

Development of Website and Content management system using Spectra. My role in project included complete responsibility for backend development, and integration into front-end HTML. Technology used included SPECTRA, COLDFUSION 4.5, SQL-Server, Oracle 8, HTML, Javascript.

DHTML development for Broadband portal site. Technology used included DREAMWEAVER, FIREWORKS, HTML, Javascript, CSS.


Web Application Developer

March 2000

Key Activities

Development of Purchase Order system. System output produced on-screen or via Excel spreadsheet. WDDX used to get database results to javascript, thus providing an active input form with minimal database interaction. Other technology used includes COLDFUSION 4.5, SQL-Server, HTML, Javascript, IE 5.0.

Acer Europe

Web Application Developer

June 1999 - February 2000

Key Activities

Development and Support of Order Tracking System, to enable Customers and Employees to track the progress of sales orders through the supply chain (Sales, Manufacturing and Shipping Agent). Technology used includes, COLDFUSION 4.0, SQL, INFORMIX, HTML, CSS, Javascript, IE 4.0 and SCO Unix shell scripts.

Development of Serial Number Tracking System, to enable Customer Support staff to determine the components in a customers PC based on Serial Number or related information. Technology used includes, COLDFUSION 4.0 (including WDDX), SQL, INFORMIX, HTML, CSS, Javascript, IE 4.0

Reuters Ltd

Web Application Developer

August 1998 - June 1999

Key Activities

Enhancing web prototype (Scan) to produce robust application for rollout. Application monitors Helpdesk activity (via database) in real time and reports on exceptional events requiring attention. Technology includes COLDFUSION, HTML, JAVASCRIPT, SQL, ORACLE, Netscape 4.0 and IE 4.0.

Updating Intranet Web Application to be Millennium Compliant. Application (WebCalls) serves Customer-facing Helpdesks and uses COLDFUSION, HTML, JAVASCRIPT, SQL and ORACLE.

Use of XML for Web Content management, separating content from presentation, and so reducing maintenance overheads. Implemented at the server side using COLD FUSION (v.4) Custom Tags, thus deliverable to any web-browser, in contrast to some other XML approaches.

Additionally some exposure to: CSS, Perl, ASP and MS.Access

Career Break

Travel Project

October 1997 - July 1998

Cycling in France, Thailand and Malaysia

Reuters Ltd

Web Application Developer

June 1996 - September 1997

Key Activities

Design and Programming of Intranet Telephone Directory application using COLDFUSION, HTML, JAVASCRIPT and SQL to access Oracle databases.

Maintenance programming of Intranet Management Reporting application using JAVA APPLET, COLD FUSION, JAVASCRIPT and SQL.

Design of Intranet Sales Reporting application using JAVA, JDBC, SQL, WEBLOGIC. Three-tier client server architecture, using Java APPLETS and APPLICATIONS and accessing Oracle databases.

Total Redesign of Departmental Website (Intranet). Use of HTML and graphical design using Paintshop Pro and Visual Reality 2.

Unix Systems Administrator

January 1994 - June 1996

Key Activities

Rollout of new Operating System release to multiple Sequent Servers

Complete responsibility for network interfacing project, including network design, router configuration, hardware ordering and installation, problem diagnosis, using TCP/IP and DECNET protocols.

Development of Shell script application to manage and report on disk space.

Thorough documentation of projects using HTML.

MVS Systems Programmer

June 1991 - January 1994

Key Activities

Installation, Maintenance and Support of Operating System Software (MVS/ESA) on large IBM mainframes (9021, 3090)

Integration of Third-party software into Operating System

Thorough documentation of projects using WORDS ONLINE, an hypertext repository.

Assembly Language Programming (IBM/370).

Synapse Computer Services PLC

MVS Systems Programmer

January 1990 - May 1991

Key Activities: Similar to Reuters (above) providing services to Company Clients.

McDermott Engineering London

MVS Systems Programmer

May 1988 - January 1990

Key Activities: Similar to Reuters (above)

DP Consultant

January 1987 - April 1998

Key Activities

Disaster Recovery Planning

IBM Mainframe Security Project

Editing "Data Centre Profile", a standards and procedures document, some sections authored by myself.

Problem and Change Management Project

Technical DP Analyst

October 1983 - December 1986

Key Activities

Engineering Program Development in FORTRAN.

Lloyd's Register of Shipping

Senior Programmer

October 1977 - September 1983

Key Activities

Engineering Program Development in FORTRAN.

Micro Consultants Ltd


July 1973 - August 1974

Key Activities

Development of programs (high level languages and assembler) in support of the company's hardware products

Electronic Hardware diagnosis.