CV

Experience

Senior Software Engineering Manager, Microsoft • March 2021 - present

Led implementation of project to develop a new core telephony network function in Rust on Kubernetes, with a team of 15-20 engineers over multiple semesters, directly managing 8.

  • Collaborated closely with architects and PMs to define, schedule and deliver per-semester roadmap, with a focus on high availability and resilience. Communicated status to executive leadership using a format which was well received for its clarity and reused by neighbouring teams.
  • Defined and agreed processes and expectations for this new team, based on a lightweight agile framework, and adapted approach in response to ongoing feedback and changing team size and priorities.
  • Designed the product’s observability strategy, aligning with and influencing direction of cross-product approach to metrics, telemetry and alerting through cross-team collaboration. Owned compliance and product lifecycle requirements, ensuring we met our obligations to deliver a secure, compliant product to schedule.
  • Managed a team ranging from new graduate hires to senior engineers. Developed career plans for all my reports and through regular feedback and coaching helped them achieve their professional goals and increased the performance of the team. Promoted and modelled an inclusive, psychologically safe team environment; received consistently positive feedback from my reports on my management and leadership.

Product owner of three operations/monitoring products, and manager of a team of 12 including another manager.

  • Owned delivering customer-committed features alongside maintaining decades-old Java and JavaScript code with complex and critical cross-product interactions. Adapted these acquired products to new stringent security and accessibility requirements introduced by Microsoft.
  • Delivered a rewrite of a Teams integration app using React, rolled out by 100+ telco customers. By deciding to pivot to a greenfield architecture built on Azure services and open-source libraries, we shipped an initial release within four months that was richer in function, much quicker to deploy and easier to manage than the original version.
  • Coached a new manager through the challenges of her role and ensured her team were happy and effective through regular checkins and encouraging feedback; later I was able to hand over my role to this manager and move to a new team.

Strong reputation for taking ownership and solving cross-functional problems outside of my core role.

  • Drove cross-org effort to build a $1m+ lab environment for new target platform; collated requirements from multiple engineering teams and worked with platform PM and site managers to develop a solution managing cost, available resources and flexibility to meet the needs of the team.
  • Recognised as a champion of learning in my organisation: I led intern and graduate hire training courses reaching 100+ new joiners over three years, receiving consistently positive feedback; I also organised an engineering team conference for 300+ local and remote team members, cited by multiple attendees as a highlight of their year.

Software Engineering Manager, Metaswitch Networks • July 2018 - March 2021

Manager and tech lead for teams of FTEs and contractors working on enhancements to core network products written in C, Java and JavaScript.

  • Delivered multi-month projects including enhancements to legacy products to meet new requirements, and a migration of our code management and CI to a new platform which required substantial engagement with stakeholders across the organisation.
  • Onboarded and managed a team of remote contractors, requiring me to develop comprehensive training material to introduce them to our complex legacy codebase and architecture; this material was later reused to train new cohorts. Through mentoring and coaching, I was able to build their independence and ability to take on more complete ownership of their projects.
  • I continued in this role after Metaswitch was acquired by Microsoft in 2021.

Software Engineer, Metaswitch Networks • September 2014 - July 2018

  • Designed and developed new function in legacy core network products written in C, building knowledge of a large product codebase and relevant telecoms standards. Owned projects of ~100 days to refine requirements, define specifications, and design, deliver and test these enhancements.
  • L3 Support engineer responsible for triaging, debugging and fixing issues found in the field; owned several functional areas of a large product, and the process to proactively communicate significant issues to customers; achieved a bug fix rate 50% higher than the team average as its most junior member.
  • Commissioning engineer delivering projects to set up and configure new customer deployments; required broad knowledge of Metaswitch’s product set and the structure of a telecoms network as well as excellent communications skills.

Skills and achievements

Technical

  • Working fluency in Python, Rust, C, JavaScript; some experience with Java and C#
  • Certified Kubernetes Application Developer (CKAD)
  • Platform experience: Microsoft Azure, VMware, CentOS and Ubuntu Linux, Docker, Kubernetes
  • Continuous Integration (CI) tools: GitLab, Azure DevOps
  • Extensive debugging experience in development and production scenarios
  • Ensuring quality through automated and manual testing

Project and people management

  • People management of ICs and managers across varied experience and performance levels
  • Agile (scrum, kanban) and waterfall project methodologies and associated tools (Jira, Azure DevOps)
  • Coaching and mentoring of engineers with a wide range of experience, including a new manager
  • Working across teams and functions to deliver organisation-wide projects
  • Technical and competency-based interviewing

Education

University of Cambridge, Christ’s College - MA (Cantab.), Natural Sciences