experience
professional journey
My professional experience in software development, from self-taught beginnings to working across diverse companies and learning new skills with each role.
Senior Software Engineer
PensionBee
Jan 2024 - Present
- Led AI adoption initiatives across engineering — developed AI-powered documentation and test-generation tooling, demonstrated AI-assisted workflows to engineers, and co-ran an AI-focused hackday that catalysed cross-team adoption
- Led architecture and delivery of the complete customer withdrawals journey rewrite (legacy → React/Next.js), leading two mid-level developers and collaborating across Product, UX, Banking, and Compliance. Delivered a company-wide architecture presentation
- Diagnosed organisational issues from technical symptoms — an eight-page report shared with engineering leadership on joining. Championed psychological safety and advocated for mislevelled engineers (both progressed); subsequently redeployed across teams as a senior resource on the strength of the pattern
- Architected the Node.js v16→v20 migration strategy for a platform serving 30+ developers; co-created the shared React component library replacing fragmented UK/US libraries; introduced the first E2E tests to the hybrid mobile app via a containerised Docker test flow
ReactTypeScriptNext.jsReact NativeNode.jsGoPythonHerokuBitrisePostgresDockerCloudflare Workers
Software Engineering Manager
PensionBee
Aug 2023 - Jan 2024
- A deliberate five-month exploration of the management track: organised an engineering-function-wide hackathon, led mini-hackdays exploring new business problems, and contributed to engineering management strategy and salary benchmarking
- Chose to return to senior IC work afterwards — management was useful context, but depth is where I compound
Team LeadershipAgile MethodologiesEngineering ManagementTechnical StrategyCross-functional Collaboration
Senior Software Engineer
PensionBee
Oct 2022 - Aug 2023
- Led development of key product features including mandatory two-factor authentication and regular drawdown options; strengthened login security against brute-force and DDoS vulnerabilities
- Designed and led React, Redux, and React Native training, and maintained an engineering problem-areas report fed back to leadership
JavaScriptReactReact NativeTypeScriptCSSSCSS/SassNode.jsHerokuBitrisePostgresSalesforceRactive
Software Engineer II
Puppet
Apr 2021 - Oct 2022
- Built and maintained React applications with GraphQL APIs for enterprise configuration management tools
- Worked with containerized applications deployed on Kubernetes in GCP environments
- Implemented comprehensive testing strategies using Jest, Enzyme, and Nightwatch.js for reliable deployments
JavaScriptReactJestWebpackGraphQLApolloNode.jsCSSSCSS/SassJenkinsDockerKubernetesGCPEnzymeNightwatch.js
Software Engineer II
BazaarVoice
Mar 2020 - Mar 2021
- Built React applications for customer review and rating platforms using Redux for state management
- Implemented robust testing strategies with Jest, Enzyme, Jasmine, and WebdriverIO for reliable product releases
- Worked with GraphQL APIs and Apollo client to deliver smooth user experiences
JavaScriptReactReduxRedux SagaJestEnzymeJasmineWebdriverIOWebpackGraphQLApolloNode.jsCSSSCSS/SassLernaJenkinsDocker
Software Engineer
ShopKeep
Jan 2019 - Mar 2020
- Built React applications for point-of-sale systems serving thousands of small businesses
- Developed backend services using Ruby, Sinatra, and Rails for payment processing and inventory management
- Implemented AWS Lambda functions and ElasticSearch integrations for real-time data processing
JavaScriptReactJestEnzymeJasmineWebpackGraphQLApolloNode.jsCSSSCSS/SassJenkinsDockerElasticSearchAWSLambdasPythonRubySinatraRailsRspec
Junior Software Engineer
ShopKeep
Jun 2017 - Dec 2018
- Started my journey building JavaScript and React applications for retail technology solutions
- Collaborated with backend teams on API integrations and learned the ropes of professional software development
- Participated in agile development processes and got hands-on experience with continuous integration workflows
JavaScriptReactJestEnzymeJasmineWebpackNode.jsCSSSCSS/SassJenkinsDockerPythonRuby