I have extensive knowledge of Object Oriented development, Design patterns, MVC frameworks (including Symfony 1.x, Symfony2, Symfony3, Silex and Zend), High traffic web systems, Continuous Deployment tools and various testing strategies for different platforms.
The ability to administer and configure web servers using automated tools such as salt, puppet and chef. Experience with the set up of vagrant for local development. As well as knowledge on how to generate RPMs for continuous deployment.
The ability to manage an IT team to deliver projects in an agile manor with use of tools including JIRA, Elementool, TRAC and Agilo. Running scrum and burndown within a sprint, including story estimation and sizing, planning poker and retrospectives. Ensuring code quality with GitHub code reviews and TDD with unit tests run on a CI environment.
The ability to mentor, train and get the best out of my team members and therefore improving productivity within the team.
An in depth knowledge of GNU/Linux (mainly Debian based) and Windows.
Initially contracted to work on the migration from RBI to an independant solution. My tasks were mainly around the safe trasition of data from RBI managed AWS to Rackspace managed AWS. This included a rewrite of the deployment scripts and how New Scientist uses AWS to host the website and services.
The contract was extended to manage all of the DevOps requirements for NewScientist including release tools, and processes.
Tools used: PHP 5 & 7, Symfony 3, AWS, MySQL (RDS), Vagrant, PHPUnit, git, gitlab, Jenkins, JIRA & Wordpress (legacy site).
Working within the Core team to maintain the existing REST API written in Symfony2 initially my main task was to create a stats micro-service powered by Symfony3 and ElasticSearch. This service pulls data from the REST-API and then uses aggregations to generate stats for football players & teams.
Tools used: PHP, Symfony 2 & 3, ElasticSearch, AWS, MySQL, Docker, PHPUnit, git, github, Travis, JIRA, & confluence.
Built and delivered a customer reward system based on requirements from the business which was able to track users leaving the website, locate relevant transaction information within affiliate networks, and evaluate eligibility for reward based on CMS controlled qualifiers. The code was written within the custom PHP framework used on their website.
I also spent some time optimising the backend unit tests for the main VoucherCodes websites reducing the execution time of the tests from 30 minutes to 10 seconds.
Developing a custom CMS tool in Symfony3 (3.0.1) to control blocks of content across multiple websites.
Deployed in AWS and using GO-CD for continuous delivery. Developed in an Agile way and using TDD with a mixture of PHPUnit and Behat.
Code Review is conducted on all Pull Requests before they are accepted into the main develop branch. Work is conducted in 2 week sprints with an end demo to stakeholders each iteration.
Consulting on the development a the visible rights video portal. Written in Symfony2 and using an in-house API to transcode videos, the system was a MVP to allow researchers to upload video clips for producers and publishers to shortlist from.
Code Review is conducted on all Pull Requests before they are accepted into the main dev branch. Work is conducted in 1 week agile sprints.
Working as the Technical Lead to the core platform, this included an in-house created MVC framework deployed on AWS instances. Using PostGreSQL and ElasticSearch for storage, as well as Akamai, Cloudfront, Redis and Memcache for caching.
Platform unit tests are written in PHPUnit and run on every GitHub Pull Request by a Jenkins cluster. Code Review and QA is conducted on all Pull Requests before they are accepted into the main dev branch. Work is conducted in 2 week agile sprints.
Projects included the main CMS system for over 30 magazine websites. Bespoke galleries API written for House to Home. Recipe search engine updates including faceted search within SOLR. API service to power mobile optimised versions of 20 magazine websites.
Release Management for serval critial system updates, including the migration of most magazine websites to a new image storage service.
Helped to build and improve the PlayStation Developer Network (SceDev) which allows game developers to download tools and software to developer games on several PlayStation titles including the PSP and PS3 formats. The system also provided an internal bug tracking solution written in PHP and PostGreSQL, which was translated into 3 languages by gettext.
Working with university students to improve the radio station website and introducing best practices including SVN source control and design patterns. Helping with the rebrand and relaunch of the student website as well as provide a framework to allow them to build and maintain their own DJ & Show Profile pages.