Carl Casbolt

Hockley, Essex, UK || +44 (0) 7905 323 168 || carl.casbolt@gmail.com

Highly skilled Symfony & ElasticSearch Developer with exceptional insight and knowledge of Symfony and ElasticSearch on physical machines and AWS Cloud Environments. High attention to detail with all the code I write as well as a TDD and BDD advocate as tests before code mean you can have a high confidence your code will work when it gets out to the user. This is enhanced by my love for CI and automated tests running before every merge is acceptable. Also a skilled SRE with an active interest in Kubernetes and IaC, because managing 100 servers by hand was never a fun job, even at the best of times.


Experience

Symfony & DevOps Consultant

Journey Travel
  • Initially worked on the new version 2 of the API system built using DDD with Symfony as a toolbox. Primarily responsible for docker configuration used on local development and shell scripts to get the code working in ECS.
  • Built a new set of clients to talk to third parties via REST and SOAP using the HttpClient and SOAP libraries available in Symfony5 and PHP8 Code quality tools include PHPUnit, Behat, CodeSniffer and PHPStan. All run on github workflows when Pull Requests were opened.
  • The later half of my time with Journey was spent improving the DevOps tool chain and assisted on the migration from ECS to K8s on EKS using helm charts.
  • Also assisted in speeding up the PR workflows on several projects with parallel workers where possible to reduce the one-at-a-time build and test pipelines.
July 2021 - September 2023

Laravel & PHP Contractor

Tickr (now Circa 5000)
  • Improving and refactoring code around their Carbon Offset system.
  • Fully TDD as there is no QA within the team.
  • Laravel 6 project integrating with TrueLayer APIs to access customer accounts via OpenBanking, Tercero for shares and savings, and Checkout for purchases.
  • Code quality tools include Travis and Code Climate
  • My wider knowledge of DevOps has been useful for their DB migration project as well as improvements to their docker local environment.
October 2020 - July 2021

Contract Symfony & DevOps Consultant

New Scientist

Symfony Developer and DevOps Documentation (Contract)

  • AWS infrastructure diagram updates
  • Documentation updates
  • New WSL developer setup scripts
  • Full replacement of the subscription micro site written in Symfony 4.4
  • Application updates for JIRA, gitlab & jenkins to the latest versions

Performance & DevOps Engineer (Contract)

  • More of website needed to be migrated from Wordpress into Symfony
  • Symfony version was upgraded from 3.4 to 4.4
  • Performance tweaking to the Fastly configuration to improve site speed.
  • Assets domain was added to have a cookieless images domain and to make use of the fastly image processing edge.
  • Static assets domain created to build and server CSS, JS and other site furniture. Full rollout was put on hold as developers had issues to resolve in some of the JS which is still to be resolved.

ElasticSearch & DevOps Engineer (Contract)

  • Introduced Master Slave to the production database setup to improve performance
  • Introduced ELK for application logging. access logs, error logs, and application logs are pushed by beats into logstash and piped to elastic search, and then developers were able to build their own dashboards in kibana to visualise the information.
  • Elastic search was also added to the main New Scientist website to replace the google search (which did not have access to any information behind the paywall) this allowed for an improved search to be written which filtered results based on user auth level.

Technical Consultant & DevOps Engineer (Contract)

  • Introduction of NewRelic into the tech stack to monitor the deployed applications and highlight places that could be improved in the code
  • Introduction of Fastly CDN to offload a large chunk of the traffic and improve first time to byte load times
  • Improvements were made to the infrastructure to reduce costs. Audits of all applications to make sure they were running the best hardware and not over-spec'd as much as possible.
  • A cache micro service was written to purge the CDN and flat file cache when changes were made in the CMS by editors as the old logic tried to clear cache on every save. New system was queue based and allowed CMS saves to take milli seconds rather than waiting for a cache purge confirmation on every save.

Infrastructure Migration & GDPR Update (Contract)

  • Coordinated the transition from RBI hosted solutions in a new AWS setup managed by Rackspace
  • Replacement deployment tools and systems using Jenkins to deploy applications into AWS for the main website, micro sites and internal micro services.
  • Code reviews of other developers work to improve code quality
  • Security review of internal log systems to remove personal data in line with GDPR
  • Replacement FTP solutions within AWS using terraform to create machines with custom configuration on EC2 machines that could not be handled with AWS Transfer
  • Setup Jenkins, JIRA & Gitlab on on EC2 instances with terraform
July 2017 - October 2020

Symfony & ElasticSearch Contractor

Squawka
  • Developed and Designed a stats micro-service & API written in ElasticSearch and Symfony3
  • The service pulls data from the existing REST API and converts them into a document for storage in ElasticSearch.
  • Stats were generated by a mixture of ElasticSearch aggregations and some post-logic processing was done in Symfony before generating a REST response for consumption by the new website team.
  • I also spent time working on the Feed processor service that accepts XML files from Opta and converts them into MySQL for the internal REST API to use as well as 2 CMS's written in Symfony3 that were used to contract smaller websites within the network.
July 2016 - July 2017

Contract PHP Developer

VoucherCodes.co.uk, RetailMeNot Inc
  • Developing a high CPA reward system where a user can be tracked leaving the website and making a retail purchase via affiliate networks.
  • Pulling data from multiple networks, converting it into a standardised format and storing it in a local database.
  • Transactions can be evaluated and scored to determine if a reward is due based on qualifiers set by VoucherCodes staff.
March 2016 - July 2016

Contract Symfony Developer

Kurt Geiger
  • 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.
January 2016 - February 2016

Contract Symfony Developer

BAFTA Research
  • Working as a consultant in a small team of 3 developers to build and deliver an MVP video portal.
  • Written in Symfony2 with Doctrine as the ORM the development process involved a Jenkins CI instance that I set up to process and build all pull requests submitted via GitHub.
  • The code has a mixture of PHPUnit tests and Behat integra on tests for code quality, which run with every build.
November 2015 - December 2015

Technical Team Lead

Rightster (now Brave Bison)
  • 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.
July 2013 - November 2015

Education

Elastic

Core Elastic Search
2 day training course with engineers from Elastic Team

University of Portsmouth

BSc (Hons) Internet Technology

Upper Second Class degree ( 2:1 )


Skills

Programming Languages & Tools
Workflow
  • DevOps in mind at all times
  • Test / Business / Domain Driven Design (depending on project)
  • CQRS Design Pattern
  • SOLID Principles
  • Cross Functional Teams
  • Agile Development & Scrum
  • Strong problem-solving abilities, passion, and attention to detail
  • Self-driven, motivated, and capable of taking full ownership of tasks and deliverables

Testimonials

Andrew Brooke-Reid

DevOps Engineer

Carl is a highly skilled developer and his breadth of knowledge across disciplines is envious. His contributions to the DevOps team at Journey have been invaluable and it's been a pleasure to gain an insight into his experience and absorb a fraction of his knowledge in this field. He is meticulous, methodical and his attention to detail is matched by very few I have worked with in the past. Carl is a true asset to any client/business and I do hope our paths cross again in the not to distant future.

Steve Marvell

Tech Lead Architect / Engineer

In nutshell... If it's Symfony, you want Carl.

His depth of knowledge is astounding. Combined with his tight grasp on supporting technologies, he is the quintessential Symfony developer.

Tom Croft

Senior PHP / Elasticsearch developer

Carl is an exceptional developer. His attention to detail is almost unmatched in any developer I have worked with. His passion for technology shines through in the quality of his work.

Carl is an enthusiastic advocate of open source technologies, and regularly attends meetups and conferences to keep his knowledge up to date. He is also helping to maintain my Elasticsearch client library on Github, a subject he has extensive knowledge in.

Always willing to go the extra distance to deliver robust, scalable and maintainable code, Carl is a developer I would happily work with again.

Jeremy Burns

Senior Director Of Engineering

I worked with Carl on a brief, time sensitive project to deliver the MVP of a product. Even though it was completed in time, below budget and above spec it still had ~90% code testing coverage, behaviour driven testing and full continuous integration. Carl has very high attention to detail, drive and determination to complete set tasks and an in depth technical knowledge. I learned a lot from Carl in the short time we worked together. I'd have no hesitation in recommending Carl to anyone considering taking him on.

Michael Blake

VP Engineering and Architecture

Carl rapidly became a cornerstone of the engineering team at Rightster. His expertise and experience within software and infrastructure development, and their associated best practices, was instrumental in the success of the strong engineering team that Carl helped to build at Rightster. Carl was always eager to learn new skills and continuously expanded his skillset to include technical leadership, infrastructure-as-code, search and distributed cloud-based software architecture.

Carl is possessed with hawk-like attention to detail, and has a knack of discovering the logic holes and security flaws that most others tend to miss. He's a great technologist and a huge asset to any team lucky enough to have him.