Who Am I?
I am a freelance software engineer living in London. With 10 years industry experience, I’m always looking for new challenges and projects, and it’s important for me to work on projects that align with my values, and maybe even with my non-work interests, which include music, food, art, society & social justice, public infrastructure and environmental sustainability.
Employment History
Current
Self-employed and working with a variety of clients, mostly in the music and art world. Examples of my work can be found here
VivaCity Labs, London 2019 - 2025
Principal full-stack engineer, Cloud Team
- Scale-up (~100 people) working in the sustainable transport technology space (traffic monitoring, smart signal control, road safety analytics)
- I’ve worked in and led various iterations of the ‘Cloud Team’, whose responsibilities include client-facing front-end products, APIs and backend services, cloud data processing, data storage, and any other cloud infrastructure directly used by our team
- Have been the technical lead on multiple successful large projects, through the scoping, architecting, estimating, development and release phases:
- Migrated authN and authZ stacks to a centralised, scalable and robust solution
- Migrated core data processing pipeline from Firebase to Kafka Streams apps
- Multiple new frontend applications and backend services, built from scratch
- A reusable React component library that other teams have also adopted
- Developed an automated reporting service, aggregating data and generating PDFs for clients on a regular basis
- Shared responsibility for the central database (Postgres with TimescaleDB), including schema design, data ingestion, data modelling and query optimisation
- Regularly built and improved dev tooling to solve pain points and help tackle tech debt
- Contributed to our custom message-processing framework, written in Go, which provides most of the backend tech stack across the company
- Primarily responsible for key slices of the tech stack and architecture, providing detailed documentation, and developer guides, presenting my solutions to the wider tech team, and training colleagues
- Member of ‘architects’ cross-team group, giving each other advice and sanity checking each other’s ideas, with the responsibility for overseeing key architectural decisions across the company
- Presented business cases for pieces of work to stakeholders & decision makers
- Previously managed my team for 18 months, taking on people and process management, as well as direct communication with external clients
- Acted as hiring manager, successfully hiring and mentoring 2 new engineers
- Involved in diversity committee, helping plan and execute initiatives
Snap Technology, London 2016 - 2019
Full-stack software developer
- Start-up making computer vision AI technology for the fashion retail industry
- Joined as a graduate engineer, working on the website, API, data storage and processing
- Learned to work as part of an agile development team, and lead SCRUM duties regularly
- Delivered multiple frontend and backend solutions according to customer requirements
- Presented work to external clients, doing live demos using physical hardware
Education
University of Southampton 2012 - 2016
B.Sc. Computer Science
- Graduated with first class honours
- 84% in final project titled ’Estimating Rhythmic Similarity of Electronic Music’
Royal Grammar School, High Wycombe 2005 - 2012
- A Levels - Maths - A, English Language - B, Economics - B
- GCSE - 7A* including Maths, Physics, Chemistry, English. 4A
Skills & Competencies
Core Languages & Technologies
→ React, Typescript, NodeJS, CSS
← Golang, Postgres, Kubernetes, Terraform, Kafka, Java
In addition to the listed technologies, I am comfortable with a wide range of languages, frameworks and ways of working, and am always interested to learn more. I feel compelled to stay up to date with new developments, try out different approaches to problems, and push myself to understand areas which are unfamiliar to me. I’m particularly motivated by finding solutions that are as straight-forward as possible - ergonomic and approachable whilst being robust and maintainable. It’s key to get these trade-offs right when building anything significant.
Non-technical
I’m happy in various working environments, team or solo. I enjoy sharing and critiquing ideas, and building a common understanding of what the overall problem-solving approach should be. When appropriate I will contribute ideas and take the lead on how to improve our processes and communication. I also have experience leading a team and managing other developers.
I get a lot of pleasure out of explaining technical concepts in an accessible way, which I think is super important to improve inter-team communications, especially between less technical colleagues and clients. I think this usually comes down to a combination of making approachable and thorough documentation, having a clear written communication style for online conversation, and an ability to present ideas/solutions face-to-face.
Personal Interests
Outside of work, I spend a lot of time on music-related activities; producing music, attending and occasionally organising gigs/events, audio and sound engineering, digging for new music and DJing when I get the opportunity. I’m also passionate about food, enjoy cooking and exploring the vast array of global cuisine that London has to offer.