Hi, I'm Jamie 👋! I'm a passionate tech lead with experience in back-end software development and infrastructure management, interested in solving problems, sharing knowledge and enabling great customer outcomes. I strongly believe in building reusable, Open Source first, software components with a high quality bar, and improving team ways of working so we can deliver better, and more effectively over time.
If you fancy learning a bit more about me, you may be interested in my README, and my /now page.
Senior Software Engineer in a team of 10, working on software that connects consumers, riders, restaurants and agents, making sure everyone has a great experience with Deliveroo
- Led work to build a new Go API, with a heavy focus on design-first OpenAPI, with integration into a TypeScript consumer codebase, as well as retrofitting OpenAPI into a Rails codebase to improve speed of integration as well as improving the documentation around the service. The pattern for design-first OpenAPI has been adopted across several other projects in the org. Involved working with the Open Source project to upstream changes to allow it to work with different functional requirements, and through continued development on the library, I am now a maintainer on the project
- Working across a team of 12 engineers, leading on features and supporting engineers on a mix of Go, Ruby on Rails, (Full Stack) Typescript codebases
- Working to raise the bar on quality, consistency and maintainability of shared libraries across the organisation, including working on internal tools for better automation and code generation for Go projects, as well as tooling around OpenAPI.
- Single-handedly driving the rollout of Renovate across the ~2100 repositories across the organisation as a better fit for keeping our dependencies up-to-date as an Enterprise
- Champion of supporting Open Source projects we use, through understanding how we use our projects (through the dependency-management-data project mentioned below, initially for Hacktoberfest but also for cross-organisation capabilities, including heavily enabling the Product Security and Release Engineering teams to more effectively target changes.
- Improving the community around Open Source at Deliveroo, through events such as Hacktoberfest and running several team discussions around Open Source sustainability
- Championing Open Source sustainability and community around contributing to Open Source through Hacktoberfest
- Built a set of tooling, in an Open Source first approach, under dependency-management-data for providing a queryable database of how your projects use Open Source and internal dependencies, allowing for querying of software using end-of-life versions or packages that have been deprecated.
- Took ownership of an unmaintained, but heavily used, developer tool ("Marvin the paranoid staging android") for ensuring deployments to staging environments were performed, building up domain knowledge and implementing features to improve the developer experience, as well as ongoing maintainence and onboarding.
- Led improvements in the team's ways of working to improve team effectiveness, increasing predictability of sprint delivery by a minimum of 25% in the first 6 months of following these practices.
- Building internal tooling for improving efficiency and developer experience with various internal and external tools
- Regularly contributing to the internal libraries and tooling, with a particular focus on the Go ecosystem
- Regular contributor to the Deliveroo Engineering blog (writing, editing and finding opportunities for new posts) and the Deliveroo Engineering Twitter account.
Tech lead of a team of 2 formed in October 2021, leading the team technically as part of our journey to build capabilities for improving cross-government API discovery, as well as producing better guidance and standards for API delivery, while being inside a policy-driven organisation.
- Building a Federated API Discovery model to enable easier, programmatic sharing of API metadata between teams within agencies and between different agencies
- Leading work to automate manual API assessments and API guidance, with automated tooling including a novel novel Open Source tooling
- Building up a community around improving Public Sector APIs, involving sharing recommended reading, discussing best practices, supporting workshops and talks, and working with Public and Private Sector SMEs
- Writing and improving API usage guidance for use across the Public Sector
Tech lead of a team of 10 formed in September 2020, leading the team technically as part of our journey to move the on-premises platform for acquiring new credit card customers to the Cloud, using a mix of AWS Lambda and Spring Boot.
- Improved supportability of production services responsible for Capital One customer acquisition by improving information provided in the service's logging and monitoring, prioritising technical debt , which has led to improving experience of third party API consumers and reducing open incidents
- Leading work to invest in cross-team support rota and performing proactive knowledge-sharing sessions, called learning reviews, and promoting a blameless culture when we think about incidents
- Rolling out patterns for API versioning in custom HTTP layer for AWS Lambda, and improving the maintainability of our Acceptance Tests
- I have been a key driver in cross-team standardisation of build/test/deploy pipelines for Java services across multiple teams, and single-handedly rebuilding the Chef configuration management pipelines for the UK
One of the more senior engineers working on Open Banking compliance.
Led and worked on, as well as coached junior engineers on:
- A number of epics to meet Open Banking API compliance, writing new functionality for APIs to support new OAuth2 authentication types and supporting multiple types of certificates for Mutual TLS
- Key driver in cross-team standardisation of build/test/deploy pipelines for Java services across multiple teams, building upon Enterprise-driven technology requirements
- Worked on proving a high-priority Cyber requirement for Java services to implement a draft RFC, HTTP Signatures to ensure message integrity on integration between services and the API gateway
Lead Quality Engineer on Consumer Identity, owning test strategy as well as stepping into ownership of Open Banking compliance.
- Introduced patterns for Acceptance Tests to improve maintainability, as well as moving common functionality into an innersourced library which is being used across many teams
- One of the leads on leading portions of implementation and End-to-End testing of Capital One's Open Banking (PSD2) platform, including strategy, ensuring conformance to the Open Banking, Financial API (FAPI) Read/Write, and a number of OAuth2 and OpenID Connect specifications
- Experience defining test strategies for complex systems of services, defining quality gates and conformance
- Coached junior Quality Engineers on better automation testing, problem decomposition and shifting of testing left
Joined Capital One as a Graduate, working on building the Consumer Identity service as part of Capital One's move of its customer web servicing platform to the cloud
- Working with Commercial Off The Shelf identity solution, and configuring and testing the fulfilment of business requirements
- Championed the use of Chef as our configuration management tool, investing in personal learning about how to use ChefSpec for unit testing, and becoming the Subject Matter Expert within Capital One, and running lunchtime workshops
Independently decided to take a placement year in order to gain real world experience ahead of graduating, working as part of the Developer Relations Division on the UltraMobile Software Enabling (UMSE) team to help enable Windows and Android applications for Intel Architecture on smartphones, tablets and 2-in-1s.
- One of the leads for a large UK tablet project, working on remediating 3rd Party App issues, and becoming the expert for all internal technical questions
- Developed a system built on Docker that allowed isolation of different build environments, which was then adopted by the company behind the tablet project as the basis for their build infrastructure
- Assisted the Network Manager with essential maintenance over the summer holidays, and secured an additional week in December
- Spring Boot
- Shell scripting
- CI/CD / DevOps Automation
- Technical writing
- Software testing
- Production / incident support
- Building reusable software
- Code review
Some Experience (in the last 2 years)
- Working with Technical Specifications
- Persistent data using databases/LDAP
- AWS CloudFront
- Jenkins Job DSL
Interests + projects
- Where I have the time, I actively pursue bettering my skills in and out of work with side projects, and reading about how other engineers approach similar problems with different technologies, to give me a more balanced and well-rounded viewpoint
- Building side projects to solve my needs
- Attending tech meetups, conferences
- Being an active part of the local tech community
- I really enjoy sharing knowledge, and improving my communication skills, and as well as speaking at national conferences and meetups about various topics, I have a blog, www.jvt.me, which I use to blog as a form of documentation for myself, but due to the breadth of topics, my site receives roughly 30000 views a month
- Knowledge sharing - blogging, public speaking
- I am part of the IndieWeb movement, which means I pursue owning my data, and means I have a number of side projects on the go at any time around this
- The IndieWeb movement
- I maintain a number of Open Source projects including some well-used projects, as well as maintaining a number of sample projects to support my blog's content, and I actively contribute back to Open Source I use
- Maintaining and contributing to Open Source
- Free and Open Source
- Open Standards
- Hackathons / competitive programming
- Building inclusive spaces
- Remote/flexible working