A senior software engineer based in Manchester, UK, experienced in leading development teams through a range of projects and languages.

Over 15 years of experience developing software for desktop, browser, tablet, mobile, TV and Set Top Box (STB).

A recent focus on IPTV, streaming and video on demand (VOD) including an EPG for Sky Deutschland, CraveTV for Bell Media and iPlayer, News, Sport and Events for the BBC.

Also experienced in developing educational software including and a number of successful RM Education projects.

Possesses an unwavering passion for developing high-quality, tested, scalable software that adheres to recognised software engineering principles and design patterns.

  • Haxe
  • ActionScript 3 (AS3)
  • ActionScript 2 (AS2)
  • Objective-C / iOS
  • C#
  • C++
  • Java
  • Design Patterns & OOP
  • Test Driven Development (TDD)

Software Engineer (Contract) @ Cisco Systems, Southampton
March 2016 – Present

  • Part of a team delivering EPG and middleware for Sky Deutschland.
  • Responsible for delivering key features involving HDR and Dash.
  • Responsible for developing an automated, behaviour-driven (BDD) test harness for testing the EPG and the AS2/C API.
  • Responsible for developing a manual test application to assist in the development of ABR (adaptable bitrate) functionality for HSS and Dash.
  • Improved the EPG build process with a bespoke Java application that removed dependencies on bloated 3rd party tools.
  • Improved the quality of the EPG codebase by introducing and implementing unit tests.
  • Extensive use of ActionScript 2 (AS2).
  • Extensive use of Bluestreak MachBlue.
  • Extensive use of Java.

UI Engineer (Remote) @ Massive Interactive, London
June 2014 – March 2016

  • Part of an international team who developed CraveTV, a Netflix-style application for Bell Media of Canada across browser, tablet, mobile and TV.
  • Lead developer on the iOS target.
  • Solely responsible for Chromecast integration on the iOS target.
  • Solely responsible for integrating Bell-supplied media player with minimal documentation on the iOS target.
  • Consistently biggest contributor to the project’s repositories out of a total team size of 12.
  • Extensive use of Haxe and Objective-C.
  • Extensive use of Robotlegs, Signals and Promises.

Senior Software Engineer @ BBC, Salford
November 2011 – June 2014

  • Development lead with a team of 4 on Events app which delivered Radio 1 Big Weekend, Glastonbury, Reading & Leeds and The Proms on Virgin TiVo.
  • Solely responsible for the MVC framework on which the Events app was built which used half as much memory as the framework used to build Connected Red Button (CRB).
  • Part of a team who developed the Sports app which delivered the London 2012 Olympics on Virgin TiVo with up to 24 simultaneous live streams.
  • Then led the continued development of the Sports app to deliver Wimbledon and F1.
  • Developed a new media player spike in my own time which had 10x the performance of the previous media player. Impressed managers gave it the green light as a full-blown project and it became the media player now used by several BBC products like iPlayer, News, Sports and Events on Virgin TiVo, Popcorn, WD and Boxee devices.
  • Became the ‘go-to’ guy for all things Flash-related at the BBC’s TV and Mobile Platforms department.
  • Part of a team who developed ‘Sportacus’ – the Java back-end that powered the Flash and JavaScript front-ends.
  • Identified and documented a number of issues with Virgin TiVo’s StageCraft implementation which were later fixed by TiVo in the US.
  • Identified, documented and helped to diagnose issues with Virgin Media’s TiVo network.
  • Contributed to the HTML version of the Sports app when development was complete on the Flash version.
  • Extensive use of ActionScript 2 (AS2), ActionScript 3 (AS3), JavaScript and Java.

Software Developer @ Freelance
August 2007 – Present

  • Developed the Learnalot portal which includes 50 educational games and 10 larger game-based learning resources.
  • Managed a team of 6.
  • Sole developer on Funky Pigeon’s Video Greetings Card service.
  • Sole developer on Solihull College’s digital prospectus for 2012.
  • Extensive use of ActionScript 2 (AS2), ActionScript 3 (AS3) and Objective-C.
  • Extensive use of Robotlegs, Signals and my own custom dependency-injected (DI) framework.

Software Developer @ Oliver Wyman, Wilmslow
March 2008 – September 2009

  • Worked in both a leading and supporting capacity on a number of £50,000-£250,000 eLearning projects for clients such as AstraZeneca, Betfair, Cambridge-Hitachi, Diageo, Fujitsu Services, Heinemann, Hilton Hotels and SpecSavers.
  • Designed and developed eLearning courseware that allowed the creation of eLearning materials purely from XML which allowed clients to update and maintain the content themselves.
  • Said courseware was directly responsible for the company winning at least two major contracts.
  • Sole developer on a client-server business simulation used by SpecSavers to train their staff.
  • Extensive use of ActionScript 2 (AS2).

Software Developer @ RM Education, Cheadle
January 2007 – March 2008

  • Worked on a number of £50,000-£250,000 eLearning projects for clients such as BNF, Bowland Trust and the BBC.
  • Extensive use of ActionScript 2 (AS2) and ActionScript 3 (AS3).

E-learning Developer @ Meirion-Dwyfor College, Dolgellau
September 2001 – January 2007

  • Designed and implemented a database-driven, multi-user, 5-campus Interactive Desktop that staff would use to communicate with students.
  • Developed hundreds of hours of eLearning content from teacher’s notes for use on Virtual Learning Environments (VLEs) and Interactive White Boards (IWBs).
  • Solely responsible for the creation, maintenance and deployment of 12 specialised computer hard drive images over 700 computers.
  • Deputy network manager, responsible for managing the network of the second largest of the four campuses.
  • Developed over 50 hours of learning resources for the North Wales tourism sector under a KEF-funded project.
  • Extensive use of ActionScript 2 (AS2), PHP, MySQL, Linux and Apache.