Carl Casbolt

London, United Kingdom

PHP7, Symfony3, ElasticSearch and AWS consultant working on projects in the London area.
Carl's Skills
Programming
Technical
Operations
Design
Management
Product Management
Recruiting
Strategy
User Experience
Background

Age Group

25-35

About Carl

Contract Developer
Web Application Development Specialist. Specialising in PHP5, Symfony and MVC frameworks.

The ability to develop using a wide range of technologies. I have advanced knowledge of PHP, MySQL, PostGreSQL, Apache, NginX, AWS, Elasticsearch, Redis, Memcache, SVN and git. I have good knowledge of Akamai, ZTM, SOLR, MongoDB, bash scripting, CSS, XML, XSLT. I have basic knowledge of Java, Ruby, Python, and Javascript.

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 consitant 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 git hub 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.

Work Experience

Director

Platinum Tech Solutions Ltd

October 2015 - Today

Contract Developer Specialising in PHP, Symfony3, ElasticSearch, AWS, PostGreSQL, Git, SVN and Agile based in London.

Technical Team Lead (Contract)

New Scientist

June 2017 - Today

Managing the transition from RBI hosted solutions into a new AWS system managed by Rackspace. As well as conducting code reviews and improving processes within the existing New Scientist development team. Ownership of the existing release process in Jenkins to build create Elastic Beanstalk containers for the web platform as well as implementing a new CI system to improve development processes and procedures. Tools & Skills used: ElasticSearch, AWS, Elastic Beanstalk, CentOS, RackSpace, DevOps, PHP, RDS, Jenkins, JIRA & GitLab

Contract Developer - Core Dev Team

Squawka

July 2016 - May 2017

Working within the Core team to maintain the existing REST API written in Symfony3 my main task was to create a stats micro-service powered by Symfony3 and ElasticSearch 5. This service pulls data from the REST-API and then uses aggregations to generate stats for football players & teams. I also handled the deployment and server configuration of the Elastic Search machines via a collection of ansible scripts. I also made a number of improvements to the ansible deployment scripts for other projects include Slack notification integration and version logging when code was deployed to DEV or PROD. Tools used: PHP, Symfony 2 & 3, ElasticSearch, AWS, MySQL, Docker, PHPUnit, git, github, Ansible, Travis, JIRA, & confluence.

ElasticSearch Consultant & Advisor (Remote)

CognitionX

October 2016 - January 2017

Providing advise and support to the development team on ElasticSearch including best practices, and techniques to get the most from the technology.

Contract Developer - UK Consumer Engagement

VoucherCodes.co.uk

March 2016 - July 2016

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. Tools used: PHP, MySQL, Docker, PHPUnit, jQuery, Javascript, SOAP, git, stash, JIRA, & confluence.

Contract Developer - EComm CMS

Kurt Geiger

January 2016 - February 2016

Developing an MVP CMS tool in Symfony3 (3.0.2) to control blocks of content across multiple websites, including the in-store website. This small MVP project uses bootstrap most of the UI, and jQuery for any additional JS logic. The CMS is separate to the main Magento system that powers the main sites, but is used to enhance the content on them without the need to re-deploy the main 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.

Contract Developer - Visible Rights Project

BAFTA Research

November 2015 - December 2015

Consulted on the build for an MVP video portal. Researchers can upload video clips into the system and produce playlists of clips to share with producers to review. The producer can short list from the clips and request access to the full versions. This system is built with the latest version of Symfony2 and Doctrine2. Deployed on AWS running PHP 5.6 and MySQL. All code is stored in github, and development was done on local vagrant instances. All code changes are processed via pull requests on github, and I set up a Jenkins node to automatically run the PHPUnit and Behat tests. Code was not allowed into the main branch if tests failed to run. Sprints were quick 1 week blocks as this MVP was needed before Christmas, and the end of the year.

Technical Lead, Core Platform

Rightster

March 2014 - November 2015

Lead Developer for the Provisioning side of the platform. Low-level database communications and search. Team includes developers in the London office and Bangalore office. Technologies used: PostGreSQL, PHP 5.4, Git, Memcache, Elasticsearch, JSON, JSONP & XML, Salt, PHPUnit, Jenkins (CI), NginX, AWS, Redis, Akamai. My roles includes weekly 1-2-1s with developers within my team and line manager responsibility for 2 permanent developers.

Senior Platform Engineer

Rightster

July 2013 - February 2014

Part of a team of developers responsible for building an REST API for a second generation system. Technologies used: PostGreSQL, PHP 5.4, Git, Memcache, SOLR, JSON, JSONP & XML, Puppet, PHPUnit, Jenkins (CI), NginX, AWS.

Lead Developer - Southbank Team

IPC Media

September 2012 - June 2013

Lead Developer for the Southbank Team, working on the Homes Network websites including House to Home. Line Manager to 3 developers, who I hold regular 1-2-1 meetings with. Working with the Tester in the team to plan sprints, including task break down and sizing as well as backlog sizing.

Senior Developer - Core Systems Team

IPC Media

November 2009 - August 2012

Lead Backend Developer for a content management system, built in house with the Symfony framework for a number of IPC Media brand magazines. Assumed the role of the release co-ordinator for the CMS and ensured that all of the BETA and LIVE releases we conducted during non-peak times, and with issue. Built and maintained a QA portal website which lists QA instances of the CMS for the test team to easily find and test our website. This was later rolled out into the wider department to aid test teams on all the magazine websites. Worked on improvements to our database upgrade/migration systems reducing the amount of work needed for each database change for releases of our CMS. Conducted 1-2-1 meetings with the other backend developer to discuss their current thought and ideas about the work, and to offer any advice or support they may have needed. Built a content API with MongoDB and Symfony2 to serve content from our top brands to a mobile app available from the Android Market Place and Apple iTunes. Worked on improvements to a Release Management tool written in Zend Framework. Which communicated with SVN and Jenkins to create release packages for our brand websites. Applied Coding Standards across multiple projects within the department with regular code reviews with other developers as well as reviewing SVN commit emails on a periodic basis. Became the goto person for all things TDD related because of my passion for automated testing and effective code coverage.

Education

University of Portsmouth

BSc (Hons) Internet Technology

2002 - 2005