I'm Andy! A rather flamboyant writer of code, with a passion for clean testable code, scalable software and architechting elegant solutions to complex problems! I'm very much a go-to kinda guy and love sharing my expertise with junior and senior developers alike! Never afraid to ask a question, challenge or put forward an option to reach an optimal solution to a problem.
Outside of work, I enjoy cycling (Somerset has great hills!), gyming, gaming (who doesn't) and snuggling my two lovely cats!
He/Him/They/Their
I consider myself able to pick up a new technology or language very quickly. Many of the projects that I have worked on outside of work have been in languages that I have self-taught, using my experience of different programming paradigms and languages.
I enjoy a challenge and always strive to make learning a new language a purposeful experience, preferring to apply it to a significant project.
- PHP
- MySQL
- C++
- C#
- JavaScript/TypeScript (React + Node)
- Docker
- Kotlin
- Java
- Python
- Event-driven Systems
- C
- AWS
- Golang
- Serverless / FaaS
- Microservices
- Terraform
- NoSQL
- Distributed Systems
- High performance systems at scale
- Swift
- Android
- AI (Studying for an MSc!)
- Kubernetes
Currently, I'm leading the Chat team at Ably, building Ably Chat and innovative solutions within a distributed systems environment that deliver realtime experiences at scale. I'm also studying for a Master of Sciences in Artificial Intelligence at the University of Bath!
In addition to my paid job, I am a Web Services Developer in the VATSIM United Kingdom Division. All of the code that I write is open source and you can find my work in my pinned repos! Some highlights:
A C++ plugin for EuroScope, used by virtual air traffic controllers on the VATSIM network. This provides additional functionality specific to UK procedures and involves 2D rendering, low-level API calls, threading and a custom JSON-based socket protocol to allow for interaction with other developers plugins! There's also a central Laravel API to coordinate communications between multiple users.
The virtual air traffic controllers need to be able to see what they're doing, right? That's the purpose of the Sector File, it displays a map of UK airfields and airspace. VATSIM UK's version is split out over many hundreds of files and hundreds and thousands of lines. The Sector File Compiler, written in C#, provides a highly configurable mechanism of bringing all this data together, including linting and semantic validation.
Sometimes the VATSIM network gets busy and it's necessary to establish restrictions on how many aircraft can be on the go. The ECFMP platform allows flow managers to publish restrictions, which are then available in a handy API fpr plugins to consume as well as Discord notifications to relevant parties.
As well as all of the above, I'm always up for a challenge and I love to contribute to other packages that I have used and give back to the community in little bits where I can. Examples of this include OpenRCT2 and Filament PHP.
If you didn't already notice... I really love sharing my expertise and passion for technology with anyone who will listen! As well as spending a lot of time growing and mentoring junior developers, I have done a number of guest lectures and lunchtime talks:
As part of my degree, I took Safety Critical Systems. A lot of this involved air accidents. Following my graduation, I have been invited back and delivered several guest lectures on the subject to final year students as the University of Bath!
A tour through MySQL, optimising database queries and generally preventing your queries from melting your database.
After the dev team I was working in decided to look at using Laravel's Eloquent ORM in a project, I used expertise from my open source work to deliver a lunchtime talk with a colleague introducing the wider company to Eloquent. Since then, Eloquent is now a mainstay!
This talk is delivered to students in the first few weeks of their journey at a local Software academy. It covers some of the history behind the new career that they are pursuing, and provides an exciting introduction to the world of programming!