Jamie Tanna's profile photo Jamie Tanna

Hi, I'm Jamie 👋! I'm a passionate Senior Software Engineer 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.

Want to get in touch? Drop me an email at cv@jamietanna.co.uk.

A PDF copy of my CV can be generated by trying to print the page (or using Ctrl-P / Cmd-P).

Experience

Deliveroo Senior Software Engineer

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 developer 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
  • Editor of and regular contributor to the Deliveroo Engineering blog (writing, editing and finding opportunities for new posts) and the Deliveroo Engineering Twitter account.
  • Building and supporting infrastructure in AWS using Terraform
  • Making changes to existing (monolithic) Ruby on Rails codebases, with a focus on decomposing as scaling limits are hit, or as considerable performance benefits could be achieved
  • Led internal investigations around the archiving of gorilla/mux and the Gorilla toolkit, and its impact on Deliveroo's usage of the library, aided by the dependency-management-data project, and encouraging important conversations about the sustainability of our Open Source dependencies
Data Standards Authority Senior Software Engineer

Tech lead (individual contributor) 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
Capital One Software Development Engineer 3

Tech lead (individual contributor) 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
  • Discovered a means to run Wiremock inside serverless environments like AWS Lambda, and then worked with upstream to contribute this to the core library
  • 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
Capital One Software Development Engineer 2

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
Capital One Software Quality Engineer 2

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
Capital One Software Development Engineer 1

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
Intel Application Engineer
(Placement Year)

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
Westfield Academy Assistant to the Network Manager
,
  • Assisted the Network Manager with essential maintenance over the summer holidays, and secured an additional week in December

Accolades

Education

Bachelor of Computer Science, First Class, The University of Nottingham, 20122016

Skills

Regularly Practice

Some Experience (in the last 2 years)

Some Experience

Interests + projects