London, UK
Email contact only (click here)

Enthusiastic, passionate developer with 6 years of software development experience in enterprise and personal projects, including android and web applications.

Software Engineer, BBC
July 2014 - Present
London, UK

Applications Developer, Sony Computer Entertainment Europe
August 2010 - July 2014 (4 years)
London, UK

Main responsibilities

Developing and maintaining enterprise software for the European territories of the SCE group, using a Java/JEE based development stack.

Key technologies
  • Java 1.7
  • J2EE
  • Spring
  • Spring MVC
  • Oracle 11g
  • Weblogic
  • Perforce


The company runs most of its business activity through its own internal suite of applications that deal with sales, legal and financial processing. My role as a developer is to develop and maintain this suite based on the needs of the business.

Notable “greenfield” projects have included:

  • Taking on Lead Developer role on a project to help the business to increase revenue on voucher sales to retailers. This involved designing and building an application using Spring MVC to help retailers and the business engage earlier on upcoming products and manage orders. Since going live the business has put over €12m worth of vouchers through the system
  • Designing and implementing a new logistics application using Spring MVC and MyBatis frameworks to manage shipments and truck movements from a central warehouse located in Tilburg (Netherlands). This was used extensively through the run up to the Playstation 4 launch period, with 300 trucks a week being processed through the system.

Applications Developer, Atos
August 2008 - July 2010 (2 years)
Nottingham, UK

Main responsibilities

Developing and maintaining applications for company clients within the public and private sector

Key technologies
  • Java 1.4
  • C#
  • J2EE
  • .NET
  • Oracle 8i
  • OAS
  • Oracle Reports
  • CVS


Notable projects included:-

Natural England/DEFRA
  • Project utilised Java/J2EE, Eclipse, JMS, Oracle 9g, Tibco Staffware and OAS in a web application that facilitates grant payments to farmers. Involved a 6­month period in London to gain knowledge of the project before it was moved to a Nottingham base.
  • Brief was to port an existing Java/JSP based web application that validates Travellers Cheques to a C# codebase.
Network Rail
  • Involved adding new functionality to an existing system that facilitates compensation payments for train operators in the event of disruption

University of Lincoln
September 2005 - July 2008
BSc (Hons) Games Computing
First Class Honours (1:1)

Dissertation (Final year project)

Is a steering orientated driving agent more effective than those that are pre­trained?

This involved developing an AI system that allows a vehicle to drive around a given track unaided by any prior training. Written C++ and uses the OpenGL API.

Lakeview College Sixth Form Centre, Nottingham
September 2003 - July 2005
Advanced Level (A-Level)
Computing (A), Media Studies (C), Geography (D)

Languages I enjoy using Java Go Haskell
Frameworks/Libraries I've used J2EE Android Spring Spring MVC android-annotations google-guava martini
Testing frameworks/libraries JUnit Hamcrest Mockito
Web technologies jQuery JSP CSS chart.js Javascript
Tools vim IntelliJ Android Studio ack-grep git Perforce gradle ssh
Operating systems I'm comfortable with Mac OSX Ubuntu Linux Windows
Datastores I've had experience with Oracle 11g Postgres 9.3 Redis
Cloud/Web services Heroku Google Play Google Admob Google Adsense

Outside of programming and technical activities, I'd like to emphasise my other interests and pursuits, including: -

  • Travelling to interesting cities, recent trips have included visits to Shanghai and New York.
  • A life long passion for videogames, born from the early days of the Amiga 1200.
  • Being an avid reader of a wide variety of books, both non-fiction and fiction. My favourite book of all time is 1984 by George Orwell.
  • Listening to live radio and podcasts, mainly themed around comedy, documentaries, technology and video games.
  • Going to the gym and swimming to relax.
  • Cooking for myself and others.
  • Winner of "Best application" award at the Guardian "SXSW Hackday" 2011.

Within computing I like to keep up with current trends and news within the technology sector and stride to get to grips with every new development. My current avenues of interest have culminated in the following projects: -


Can I afford to buy? (website)
November 2013 - Present

  • Go
  • chart.js
  • martini
  • jQuery
  • Postgres
  • Redis
  • Heroku

After some frustration with trying to understand the costs surrounding the house purchasing process, I decided to embark on writing a calculator to help me visualise the costs and whether it would be affordable for me.

This turned into a small web application that I've made available to all. During development I learned some front-end technologies like chart.js and jQuery, along with Redis and Postgres in the backend.

The application has been live since November 2013 and I've received some great feedback from users.

If I was given the opportunity to do this again, I would rewrite the backend in Java and use something like Spring MVC to drive it.



Can I afford to buy? (android app)
February 2014 - Present

  • Java 1.7
  • google-guava
  • android-annotations
  • android
  • Android Studio
  • Gradle
  • Google Play
  • Google Admob

In a bid to learn something new, I decided to start learning Android development with a view to creating some applications of my own.

When I was searching for a small project to make into an app, I figured converting the website into an experience optimised for Android devices would be a good project to take on.

The application performs some of the same features as the website and has a rich "native" interface.

During development it quickly became apparent that android is frustrating and fraught with gotchas. Thankfully tools like android-annotations and Genymotion helped alleviate some of the major irritants I was facing.


gomeboycolor (Gameboy Color emulator)
October 2012 - Present

  • Go
  • OpenGL

After reading CODE by Charles Petzold I was inspired to start exploring the idea of learning more about how computers function at a lower level.

As part of this, I started to experiment with writing small systems that emulated simple computer architectures and running programs on them. Given my passion for gaming, emulating an old games system seemed like a natural next step to take.

So this project was born, a functional Gameboy Color emulator, written in the Go programming language.

A cursory overview of the project: -

  • Full emulation of the CPU, Memory Unit and Pixel Processing Unit as close as possible to the real thing
  • Taking input and changing bits in memory to allow user control
  • Rendering output to a window
  • Supports both black and white and color games
  • Ability to read most ROM types
  • Ability to save your game to disk
  • Multi-platform
  • Open source

As part of this, I was invited to do a 30 minute talk to the London golang user group (September 2013)