I am a full stack developer with a wide variety of experience with
many different technologies and industries, including retail, finance,
hospitality and the public sector, both at consultancies and an early
stage startup. I’m always keen to learn new skills and adapt quickly
to new challenges.
Developed and deployed a sophisticated platform for remotely
controlling and live-streaming video from DJI drones for Skybound Rescuer. This included exploration and testing of different
combinations of video streaming technologies (such as HLS and
HTTP-FLV) and server configurations to achieve the best possible
latency and video quality in an economical way. The technology
used for this complex platform included Kubernetes, Docker,
Terraform, Redis, MySQL, WebSockets, MQTT, Nginx and FFmpeg.
Led a team to develop from scratch a career and events platform
for military veterans. We were able to ship this project in just a
few months and it is currently accessible at Troopr.co.uk. This platform was created using Next.js, Typescript, Postgres
and integrated with Stripe for secure payments.
Resolved major performance issues with The Racing Manager’s website and React Native mobile apps through a combination of
profiling, improving SQL queries to fetch data in batches and
avoid the N+1 query problem, GraphQL query improvements, and caching. This massively
improved the user experience for large teams on key screens from
several minutes of load time to under 10-15 seconds.
Provided technical leadership for The Racing Manager on a roadmap for developing the next major iteration of the
platform to help open it up to a wider audience. This was
simultaneously balanced with necessary improvements and fixes to
the existing platform.
Led the development of multiple sites for SilverRail (such as Train over Plane) and the successful migration of their existing Wordpress
website to a much more reliable React-based site using Sanity CMS
as the backend. This helped dramatically improve site reliability,
lowered maintenance costs and improved the authoring experience
for new site content.
Oversaw the integration of Freshsales CRM and Mews hospitality
management system for Desert Springs to improve and simplify their existing business processes. This
integration was built using TypeScript and AWS DynamoDB.
I proactively identified current and future skills gaps in our
team and addressed them by mentoring developers to improve their
skills and experience, and additionally worked with upper
management to hire new team members.
Developed an internal tool for Levi’s merchants to develop and
collaborate on product lines throughout the various stages of
the product season
As the feature team lead for our “brief” feature, I:
Collaborated with stakeholders to gather requirements and
decide which features would best fit user needs during the
“brief stage” of product line development
Led a spike exploring different free and paid data grid
libraries to determine which would best fit user needs,
and then we presented this information back to the client
and discussed which tool we would use going forward
Participated in user engagement sessions to hear
first-hand from users what the pain points of their
current process are
Collaborated with UX and UI designers to break down work
into user stories and tickets with clear acceptance
criteria, with a focus on providing value to users
Demoed new features to users to increase adoption of the tool
and gather feedback on what we could improve
Interviewed senior and mid-level engineering candidates
Nando’s
Collaborated closely with other teams as we transitioned
identity provider to improve uptime and security of the
Nando’s app and websites
Developed a GraphQL API in Rust for other Nando’s apps and
services to consume
Mentored more junior developers on how to work with the
Nando’s mono-repo and Kubernetes platform
MHRA
Helped create an internal micro-services platform using
Kubernetes with Istio as the service mesh, ArgoCD for
continuous deployment and Terraform for provisioning
infrastructure. The code for this project is open source and
available at github.com/MHRA/products
Set up monitoring and alerting using Prometheus and Azure
monitor, along with documentation on how this set up worked
Created continuous integration and deployment pipelines for
multiple Rust micro-services
Rapidly built upon the pre-existing prototype to create a high
quality iOS podcast app and publishing platform.
Developed various backend services that interact with Redis, AWS
DynamoDB and Elasticsearch to support the diverse range of
features offered by the Entale platform.
Created and maintained several React web apps and a React Native
mobile app which involved improving performance and fixing
difficult to debug issues, such as failed podcast downloads, based
upon user feedback.
Pushed for higher quality in our products whilst still maintaining
a high pace of development through automated testing, static type
checking using Flow, code review, and continuous integration to
ensure broken code was not released to users.
Engaged in regular retrospectives to improve our product
development process where I suggested and implemented many
improvements, such as a transition from two week to one week long
sprints to reduce the amount of wasted planning effort we
undertook.
Made changes to our AWS infrastructure using Terraform and
deployed services using Docker to ensure all of our environments
and deployments were easily reproducible and version-controlled.
Debugged and fixed production outages and various issues ranging
from DynamoDB throttling to EC2
instances reaching CPU limits.
Created a service to scrape the entire iTunes podcast directory &
load it into ElasticSearch in a timely manner.
Developed both the server-side and front-end code of the ePayfact2
payroll system which serves many commercial and public sector
clients.
Worked in a team to integrate a complex banking system using a
mixture of technologies, such as message queues, web services and
managed file transfers.
Developed an insurance message processing web service written in
Python, deployed it on Azure, and created a UI in Angular JS which
consumed the web service’s api.
Raised money for The Prince’s Trust as part of a team in the
Million Makers competition.