Software Engineer
UK-based fintech company • Nov 2024 – Present
- Develop backend features in Go, including building services from scratch, deploying to Kubernetes, and adding post-deployment tests to improve reliability
- Take ownership of backend changes from design review through implementation, release to customers, and post-release support
- Build and maintain features within a microservices architecture, applying patterns such as Event Sourcing, CQRS, and State Machines
- Debug issues found through automated testing, manual testing, and production incidents to maintain system stability
- Improved team quality practices by introducing practical testing approaches that strengthened collaboration and software quality
- Actively use and share AI-assisted workflows with the team, including agent-based approaches, to improve collaboration and productivity
Software Engineer in Test
UK-based fintech company • Oct 2023 – Nov 2024
- Defined and implemented test strategies across multiple teams to support new feature development
- Built a Playwright test framework in TypeScript, reducing test-writing time compared to the previous framework
- Developed an internal web app to collect and display failed Playwright test results, saving thousands of dollars in third-party reporting subscriptions
- Maintained and expanded existing Cypress test framework coverage to improve release confidence
- Mentored developers across teams on effectively using the team's test frameworks
Software Engineer in Test
Global workforce management software company • Jul 2019 – Oct 2023
- Built out the team's test strategy for new feature developments
- Customised a JavaScript test tool that enabled the team to deliver a large-scale project on time
- Built a test framework in TypeScript to accelerate developer-led testing
- Maintained existing test frameworks written in JavaScript, PHP, and Go to keep regression tests running
- Assisted in migration of UI (WebDriverIO to Playwright) and API (Behat to PHPUnit) test frameworks
- Set up Jenkins jobs to make tests more accessible to the development team
- Mentored developers and product managers on the use of available testing tools
Technical Automated Test Analyst
New Zealand-based data visualisation company • Jan 2018 – Jul 2019
- Implemented an API test automation framework using Jest
- Added automated tests in Protractor to support new and existing features
- Created Continuous Integration pipelines to support build releases
- Performed manual and automated tests across UI and API layers
- Mentored other test analysts on the different test frameworks in use
- Improved software development practices by embedding testing into planning and backlog grooming
Senior Performance Engineer
Technology consultancy • Apr 2014 – Dec 2016
- Heavily involved in shaping the performance testing strategy for a high-traffic online gaming platform
- Built and executed performance test scripts using WebLoad and JMeter
- Performed load tests, stress tests, and application and DB failover tests
QA Automation Developer
Technology consultancy • Mar 2013 – Apr 2014
- Added automated UI and API tests to an existing test framework using Robot Framework with JSpringBot libraries
- Set up Jenkins jobs to make tests accessible to the wider team
Senior Software Quality Engineer / Automation Engineer
Cybersecurity company • Jun 2011 – Mar 2013
- Implemented a UI test automation framework using Robot Framework
- Created and executed automated test scripts on an email messaging web application
- Improved product quality through manual testing across secure email messaging and vulnerability management products
- Conducted training sessions on basic testing principles and test automation for junior QA engineers
Software Quality Engineer
Financial technology company • Nov 2008 – May 2011
- Conducted user acceptance testing and managed deployment of DB objects across test environments
- Responsible for identification and creation of test cases to cover feature requirements
- Performed regression testing across a wide range of products including CRM systems, financial transactions, a website portal, and a multiplayer game
- Identified, documented, and tracked bugs through to production release
- Maintained close collaboration with stakeholders on test status throughout projects