Work

Below you'll find a selection of key highlights of work and project I've been involved with across my career.


Mettle

The bank account built for the self-employed, by NatWest

At Mettle, I joined as a Senior Mobile Engineer and quickly transitioned into multiple leadership roles. My primary focus was on improving developer experience and product quality across teams. Initially, I enhanced our onboarding journey by simplifying the proprietary state-machine, which significantly improved testing and iteration speeds. This optimization continues to benefit new engineers integrating into the onboarding team.

As Technical Lead on the Mettle Web App team, I led a cross-functional team of six engineers to build a new customer-facing web product from scratch. My role involved coordinating with various departments such as security, architecture, and infrastructure to ensure the project's success. I transferred the successful strategies from this project to Mettle's more complex mobile codebase, utilizing the RFC process to document, share, and gather consensus on significant changes.

I took the initiative to become the Technical Lead of our Design Systems working group, overseeing the collaboration between engineers and designers to create a unified design system for our customer-facing products. Key achievements include introducing design tokens, theming, component architecture, and visual testing. I advocated strongly for the benefits of design systems, emphasizing their impact on customer experience, developer efficiency, and safer product development. My responsibilities included planning and executing the project, often implementing foundational components myself.

In my role as a Senior Software Engineer, I consistently championed technical quality and led by example through extensive use of the RFC process. Notable achievements include leading a codebase-wide migration from FlowType to TypeScript, championing an output-driven testing strategy with a focus on integration testing, improving navigation architecture, and defining a feature-based directory structure to clarify ownership.

My leadership philosophy centers on maintaining technical excellence through a strong, widely accepted vision with clear milestones. I stay current with the technology ecosystem, advocate for the graceful degradation of deprecated code/patterns, and use proof-of-concepts to introduce new techniques that align with our vision.

As a technical leader, I actively participate in the hiring process, often leading coding interviews. I have onboarded many new hires and mentored several junior colleagues, fostering their growth and integration into the team.


Fantastec

Leading digital collectibles for sports fans

At Fantastec, I joined as Lead Front-End Engineer, tasked with defining a front-end architecture to support rapid prototyping for multiple digital products in a brand-new start-up environment. I made a strategic decision to shift from a proprietary framework to open-source frameworks, drafting a technology strategy that highlighted the long-term benefits of using TypeScript, React, and Redux. This strategy was well-received by the CTO, allowing us to build more scalable and maintainable products.

In my leadership role, I was responsible for the hiring, onboarding, and development of the front-end engineering team. I collaborated with the CTO to establish our working philosophy, create hiring guides, select recruitment partners, and design technical interviews. I personally interviewed every engineer and played a key role in onboarding and mentoring junior colleagues, fostering a strong and cohesive team.

I spearheaded the decision to use React Native for our mobile applications at a time when the technology was still emerging. I dedicated significant time to mastering its fundamental architecture and up-skilled web-focused engineers to become proficient in our mobile stack. This strategic move was pivotal in securing investment for our mobile product. A key achievement was developing our CI/CD pipelines and release strategy, ensuring efficient and reliable product delivery.

Towards the later part of my tenure, I worked closely with the Head of Product to define a long-term roadmap for our mobile product. This involved creating a comprehensive technical architecture roadmap to guide the migration of our legacy back-end systems.

Working at Fantastec, a small start-up focused on greenfield projects, provided me with invaluable lessons in leadership within a fast-paced and rapidly growing company.


Goodlord

Simplify lettings, maximise revenue

At Goodlord, I joined as a Senior Front-End Engineer during a period of high growth following the company's Series B funding. I was a key contributor to the re-architecture of the aging V1 product, building many customer-facing features. I also played a significant role in iterating on our front-end architecture and leading the migration from Vue.js to React to facilitate better hiring prospects.

Previously a mid-level engineer, my time at Goodlord rapidly advanced my technical skills. I expanded my understanding of back-end development, architecture, security, monitoring, resilience, and deployment. This experience taught me the importance of robust software architecture in enabling teams to thrive, aiding new engineer onboarding, and enhancing customer experience. I developed a strong appreciation for functional programming and how its patterns can create codebases that are easy to test and evolve.

When Goodlord faced the challenge of failing to secure Series C funding, the company had to pivot back to improving the V1 product. During this difficult time, many engineers, designers, and product managers were let go. I was fortunate to retain my position and was tasked with splitting the unfinished V2 product into multiple components that could be integrated into the live V1 system. I developed a front-end microservices architecture, which allowed us to embed V2 micro applications into the legacy PHP monolith.

My tenure at Goodlord was pivotal in developing my technical expertise, particularly in software architecture and functional programming. It demonstrated how strong technical foundations can drive both team success and excellent customer experiences.


Commusoft

Field service management software

My first position in software engineering was as a Junior Engineer at Commusoft, where I contributed to building features for a rapidly growing CRM platform. This role was foundational in developing my front-end software engineering skills.

At Commusoft, I quickly transitioned from basic self-taught skills in HTML, CSS, JavaScript, and PHP to mastering modern front-end development tools. Working with AngularJS and various open-source and home-grown libraries, I rapidly gained proficiency in the JavaScript ecosystem and version control with Git.

My development as an engineer accelerated, and I soon led my own project. I built a set of customer-facing "portals" micro-applications that allowed clients to invoice and accept payments from their customers. I designed the user interface, selected libraries and technical architecture, and collaborated closely with our off-shore back-end development team to bring the project to production. This project provided me with a comprehensive understanding of the entire stack, from UI design to supporting infrastructure.

During my time at Commusoft, I was promoted to Mid-Level Engineer and took on the responsibility of hiring and mentoring a junior engineer. This experience solidified my technical skills and prepared me for more advanced roles in software engineering.