Basic Information

About Me

A PHP developer with 5 years experience and a love of APIs. He’s been lucky enough to be able to be full stack on some major projects gaining hands on experience in front-end, back-end and even a little DevOps. He’s mostly been doing PHP (Zend, Silex, Symfony) but plays with other languages too (Java, Scala, Python, Ruby). A regular attendee at conferences and meet ups to keep up to date with the latest trends.

He's currently getting back into running and recently passed the 5k mark. Interests include old movies, motor sports and can occasionally be spotted at the football.

Latest Projects

BBC Programme finder

Uses the BBCs public metadata API to search for programmes.

  • Environment - Vagrant, Puppet, Debian
  • Back-end - PHP, Zend Framework
  • Front-end - Javascript, RequireJS, jQuery
  • Testing - Behat, Selenium, PHPUnit
  • Source - Git, Github, Composer

Billing Prototype

An example of using the Specification pattern to bill select customers to be invoiced.

Pair Generator

A simple front-end web app that lets you randomly assign coding pairs.

Work Experience

Software Engineer - BBC iPlayer Radio (2014 - Present)

Lead Developer on the project to migrate all BBC podcasts into their standard data model and refresh the website and data feeds to power the native app.

  • Development in PHP (Zend Framework), Javascript.
  • Management and deployment to Amazon Web Services (AWS) using Jenkins.
  • Environment virtualization using Vagrant, VirtualBox and Chef.
  • Cross-browser multi-device automated testing using Ruby Cucumber, Capybara, on BrowserStack.
  • Analysis and profiling using Xhprof, xDebug and Charles proxy.
  • Source control using Git Flow and SVN.
  • The team have utilised both Kanban and Scrum methodologies.

Software Engineer - BBC Digital (2013 - 2014)

iBroadcast is an internal system used by editorial staff at the BBC to create and manage content and associated meta data. Examples include schedules, programmes, images, clips, streaming. Requirements ranged from minor improvements and bug fixes to the creation of large often complex systems.


  • Rights & Scheduling - A system to manage the availability of media limiting it based on location, device and duration.
  • Radio Scheduling - An interactive broadcast schedule editing system.


  • RESTful APIs in XML and Json
  • PHP development in Zend Framework
  • Javascript (jQuery, requireJs), CSS (Less & SASS) front-end
  • Testing in PHPUnit, Cucumber
  • Build automation and deployment using Jenkins, Source control in SVN
  • Iterative development managed by SCRUM

Technical Developer - CentralNic (2013 - 2013)

CentralNic uses their in-house developed IT platform to distribute their own portfolio of 24 domain names including, and (China) to a global network of "1500 registrars" (retailers such as Network Solutions, LLC), which sell these to end users.

I developed customer and product management solutions using the CodeIgniter PHP framework. Font-end UX was created using Javascript, jQuery and CSS. The development environment was virtualized CentOS and source control was CVS.

Software Engineer - Entanet International Ltd (2012 - 2013)

Entanet International is a Wholesale ISP that provides products and services to resellers nationwide. Offering networking services including ADSL, FTTC, FTTP, Leased lines, Co-location and Voice.


  • Trade Accounts - A site for partner applications.
  • Bonded Broadband - Allows the management of multiple merged internet connections.
  • Synergi Partner Portal - Partner account management console.
  • NetSuite to Salesforce Migration - Migration of partner and customer data.


  • PHP (CakePHP)
  • Front-end Javascript (jQuery), HTML, CSS
  • Data migrations and web back-end in SQL
  • Testing using Jenkins and PHPUnit, source control in SVN and Git

Web Developer - Gloversure (2008 - 2009)

Gloversure is a small local web development company providing full stack solutions ranging from static browser sites to full E-commerce solutions. Gloversure specialised in SMS marketing.


  • Full stack development using PHP, Javascript, HTML & CSS.
  • Developing an interactive SMS based game in Flash utilising XML data feeds.


PhD Biomechatronics

University of Bristol (2010-2012)

BSc Computer Science

Aberystwyth University(2006-2010)

1st class