Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time
174 lines (138 sloc) 7.94 KB



A full stack developer with 14 years professional experience building bespoke systems using mostly Java and Python. An excellent problem solver with the ability to engineer systems using multiple technology stacks and drive projects to successful completion. Now seeking new software engineering challenges and career development prospects.


August 2015 - present

Senior Developer
NHS Digital / Health and Social Care Information Centre

Currently a member of the Spine 2 Devops team. Developing and supporting a high availability, highly concurrent, national scale system. Spine 2 is the central messaging and demographic / clinical / prescription data record storage system for the NHS, joining together over 23,000 healthcare IT systems in 20,500 organisations.

In addition to designing, implementing and testing new features, extending current functionality and debugging issues in the existing codebase, I have the responsibility of taking part in the triage (3rd line support), weekend on call, and out of hours live deployment rotas.

SC clearance granted for this role.

Methodologies: Scrum, Devops, TDD
Languages: Python 2, Bash
Python: Flask, Tornado
NoSQL Databases: Riak, Redis
Operating Systems: Linux (Ubuntu)
Testing / CI: PyUnit, Nose, Selenium, Jenkins
Web Services: REST + JSON / XML
Source Control: Git
Orchestration: Puppet
IDEs: PyDev / Eclipse
Other: RabbitMQ, Splunk, FHIR messaging

Previously a member of the Architecture, Standards and Innovation team. Developing systems and tools to author and support the creation, conversion, mapping and search of clinical terminologies and classifications.

Extending and developing open source projects to manage large clinical data sets such as SNOMED CT, ICD-10, OPCS-4 and DM+D, for internal customers and collaborating with external partners, Snomed International.

Methodologies: Scrum
Languages: Java 7 - 8, JavaScript
Enterprise Java: JAXB, JAX-RS, JPA (Hibernate, EclipseLink), JQL, JDBC, Apache Tomcat, Spring Core, Hibernate, HQL
Relational Databases: Oracle, MySQL, ANSI SQL
NoSQL Databases: MongoDB
Operating Systems: Linux (Debian)
Testing / CI: JUnit, DBUnit, Jenkins
Web: HTML, CSS, AJAX, jQuery, AngularJS, Bootstrap
Web Services: REST + JSON / XML
Source Control: Subversion (SVN)
Orchestration: Ansible
Build Systems: Apache Maven
IDEs: Netbeans

August 2010 - August 2015

Lead Developer
Piksel / KIT Digital / ioko

Designing building and hosting web applications, desktop applications and data processing systems for our client, IMS Health. Programming systems responsible for the secure delivery, storage, processing and reporting of global data streams. Using agile development practices to produce data delivery solutions for deployment to pharmacies, internally and externally managed Linux environments, and workflow tools for data processing and manipulation.

Methodologies: Scrum
Languages: Java 1.4 - 6, Python 2, TCL, C, JavaScript
Enterprise Java: EJB 2/3, JSP/Servlet, JDBC, Apache Tomcat, Jboss, Spring Core, Spring MVC, Spring Web, Spring Data, Hibernate, HQL, AOP, AspectJ
Relational Databases: Oracle, Postgres, MySQL, ANSI SQL, PL/SQL
Web: XHTML, CSS, AJAX, jQuery
Web Services: REST + JSON / XML
Operating Systems: Linux (RedHat, Debian)
Testing / CI: JUnit, DBUnit, Selenium, Jenkins
Source Control: Subversion (SVN)
Build Systems: Apache Maven
IDEs: Netbeans, Eclipse
Other: Swing UI

April 2009 - August 2010

Systems Developer
The Food and Environment Research Agency

Developing commercial and in-house computer systems to further the Science of FERA and a range of internal and external stakeholders e.g. DEFRA, the EU and other government bodies. Responsible for the design and development of web applications, mobile applications, databases and information systems.

SC clearance granted for this role.

Languages: ColdFusion 8, Java 6, Java ME Personal Profile 1.0/1.1, JavaScript, Python 2
Web: XHTML, CSS, AJAX, prototype.js, Scriptaculous, jQuery
Web Services: REST + JSON / XML
Relational Databases: Microsoft SQL Server, Oracle, MySQL, Apache Derby, ANSI SQL, PL/SQL
Operating Systems: Linux (Debian)
Testing: JUnit
Source Control: Subversion (SVN)
IDEs: ColdFusion Builder, CFEclipse

July 2008 - April 2009

Java Developer

Developer on customer projects in education, commercial and government sectors. Using agile and extreme programming techniques to deliver high quality, innovative systems to meet tight deadlines. Also working on the latest release of the company’s product the ‘Behaviour Engine’ - a test driven rule engine and graphical authoring environment.

SC clearance requested and granted for this role.

Methodologies: Scrum, XP, Kanban, TDD
Languages: Java 6
Enterprise Java: JSP/Servlet, JDBC, Spring Core, Spring Data, Hibernate, HQL
Relational Databases: Oracle, HSQLDB, ANSI SQL
Operating Systems: Linux (CentOS)
Testing / CI: JUnit, DBUnit, Mockito, Hamcrest, Hudson
Source Control: CVS, Subversion
IDEs: Eclipse

Dec. 2007 – July 2008

Information Systems Developer
The University Of York

Sole developer for the Department of Biology, responsible for the implementation of the department’s electronic information strategy. Developing bespoke, data driven, interactive web sites in to manage and increase the availability of dynamic information. Extending and deploying Alfresco open source Enterprise Content Management system to hold the Department's administration and research data.

Languages: Java 6
Enterprise Java: EJB 3, JSF 1, JSP/Servlet, JPA (Toplink), JQL, JDBC, Glassfish, Apache Tomcat
Relational Databases: MySQL, ANSI SQL
Operating Systems: Linux (Suse)
Testing: JUnit, DBUnit
Source Control: Subversion (SVN)
IDEs: Netbeans
Build Systems: Apache Maven, Apache Ant
Other: Alfresco CMS

May 2004 - Dec. 2007

Analyst Programmer
The British Library

Part of the remote document supply team, working mainly on search, ordering, processing and payment systems, fronted with web interfaces. Designing, developing and deploying applications making use of large customer and bibliographic information databases.

Languages: Java 1.4 - 5, Python 2, Perl, Bash
Enterprise Java: JSP/Servlet, JDBC, Apache Tomcat, Apache Struts, Apache Axis
Web Services: SOAP, WSDL, XML, XSD, XSLT
Relational Databases: Microsoft SQL Server, Apache Derby, ANSI SQL, Stored procedures
NoSQL Databases: BRS / Livelink Discovery Server
Operating Systems: Linux (RedHat), Windows 2000, Solaris, Tru64 UNIX, VAX VMS
Testing: JUnit
Source Control: Subversion (SVN), Microsoft Source Safe
IDEs: Netbeans, Eclipse, jEdit
Build Systems: Apache Maven, Apache Ant
Other: Netbanx credit card payment integration, Z39.50 protocol


2000 – 2003

BEng Hons, Computer Systems Engineering (2:ii)
University Of Warwick

3-year course taught by the Department of Computer Science and the School of Engineering. This course combined study of both the hardware and software aspects of computers, with study of the engineering systems in which they are used.

1998 – 2000

AS Level Computing (A), A Level Physics (A), Mathematics (B), Chemistry (C), General Studies (C)
Fulford School, York

2004 – present

The British Computer Society
Professional Membership (MBCS)

2008 – present

Security Clearance
Security Check (SC) Cleared


References available on request.