๐ hello, world
I'm Charlie, a principal engineer.
Principal Engineer & Engineering Manager at PerchPeek. I build the systems that move money and people around reliably, and gadgets that don't need to exist.
currently: rebuilding billingโ
Welcome! Type help to look around.
## about
I'm a Principal Engineer and Engineering Manager at PerchPeek, where we help companies relocate their people around the world. I lead engineering across the whole stack, from our PHP API to our TypeScript web app. A big part of the job is reviewing and shaping other people's work, not just writing my own.
I started programming around 2004, writing an MSN Messenger bot in VB6. After that came a Computing degree at Loughborough, and more than a decade of building and leading web teams.
## work
PerchPeek
May 2022 โ present ยท London ยท Remote
- Principal Full Stack Engineer & Engineering ManagerJan 2023 โ present
- Principal React EngineerMay 2022 โ Jan 2023
Relocation platform that helps companies move their people around the world. I joined to build out the web products and now lead engineering across the stack, from the PHP API to the React web app.
- Rebuilt client billing from the ground up as an event-driven system: rate cards, a rules engine and an auditable event ledger
- Moved the team to continuous delivery, with frequent, highly stable releases
- Set up our AI-assisted, cross-repository development workflow with Claude
PHPReactTypeScriptReact QueryViteLaunchDarklyCypress
Common Surface
Jul 2021 โ May 2022 ยท London
- Engineering Lead
Joined at post-seed to lead engineering on a hybrid-workplace product that helped people decide when it was worth going into the office.
- Led the team building the core web app, microservices and a Slack app
- Introduced agile practices and release management, taking releases from monthly to several a week
ReactNode.jsAWS Lambda
LifeWorks
Aug 2018 โ Jul 2021 ยท London
- Web Team LeadMay 2019 โ Jul 2021
- Senior Web DeveloperAug 2018 โ May 2019
Joined as a senior developer on the LifeWorks employee wellbeing platform and was promoted to lead the web team of 10 developers.
- Localised the platform into 52 languages, and built the tooling to keep it that way
- Launched a new internal admin tool and took our MS Teams app from proof of concept to launch
- Moved the frontend off EC2 onto CloudFront and S3
- Ran the team with the highest engagement scores in the business
ReactTypeScriptGraphQLNode.jsAWS
Warwick International
Nov 2011 โ Aug 2018 ยท Derby
- Full Stack Developer & Team LeadSep 2015 โ Aug 2018
- Software DeveloperJun 2014 โ Sep 2015
- Senior Software Support EngineerApr 2013 โ May 2014
- Software Support EngineerNov 2011 โ Apr 2013
Where it all started. I began supporting the eOPAS occupational health software, moved on to developing it, and went on to lead a team building full-stack JavaScript products.
- Owned our own build, test and release pipelines across Azure and IBM Bluemix
- Set up automated unit, integration and UI testing with Mocha, Karma and Selenium
Node.jsReactMongoDBC#ASP.NETSQL
Loughborough University ๐
2008 โ 2011
BSc Computing and Management. My dissertation was an online peer-assessment system for group projects. I spent a lot of the rest of my time with the ski & snowboard club.
## side quests
things I build for fun
rgb-matrix-spotifyโ
Spins the current album art as a vinyl record on a 64ร64 LED matrix. C++ on a Raspberry Pi Zero.
C++Raspberry Pi
matrix-flight-trackerโ
Shows the nearest plane on approach to Heathrow, with flight, origin, altitude and ETA, on the same matrix.
C++LED matrix
f1-smartlightโ
Turns the living room lights yellow, red or green to match live F1 race-control flags.
NodeOpenF1
web-usb-etch-a-sketchโ
A canvas Etch A Sketch that prints your masterpiece on a thermal printer over WebUSB.
WebUSBCanvas
botson-2.0โ
My first ever program, an MSN Messenger bot from 2004, revived for Facebook Messenger.
Nostalgia