Location via proxy:   
[Report a bug]   [Manage cookies]                

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

Elastic Senior Software Engineer

Senior Software Engineer in a team of 8 on the Platform DevFlow team, distributed across EMEA, NASA and APJ, under the Engineering Productivity organisation within Elastic's Platform organisation. Delivering and supporting tooling that is "left of the main branch" to improve the developer productivity of teams. Working in a globally distributed team of 8 on the Platform DevFlow team in the Engineering Productivity organisation

  • Working to support + improve services owned by the team, around how we use Buildkite (CI/CD platform), development environments for Elastic Cloud and Elastic Cloud Serverless, Supply Chain Security, and more to support internal customers' expeirence to ship more easily
  • Defining and leading a cross-engineering effort to provide a "golden path" for dependency updates via Renovate, providing a batteries-included setup for teams to keep on top of internal and external dependency updates
    • Working with stakeholders across the organisation from Engineering, Infosec and IT
    • Working with stakeholders across the organisation
    • Providing an in-depth on-call handover + runbook, as well as at-a-glance views of the operational health, as well as a mix of (internal) customer-facing and operator docs
    • Delivered on time, on budget, and worked with Stakeholders to carefully avoid scope creep
    • Working through a revamped new design doc process and was the first IC to receive approval
    • Implemented novel solutions to be able to better test + maintain complex Renovate rules
    • Forseeing a lack of central visibility into usage of Renovate, implemented a novel solution to be able to regularly scan teams' configurations
  • Active member of Platform EngProd's follow-the-sun "Host of the Week" + on-call rota (for in-hours and out-of-hours support) and active driver of feedback around improving our processes, ownership and improving the experience for Operators and Customers
  • Active member + driver of improvement around our process for in-hours and out-of-hours support
  • Active driver of team and organisational process improvements
  • Working to support + improve services owned by the team, around how we use Buildkite (CI/CD platform), development environments for Elastic Cloud and Elastic Cloud Serverless, and to empower engineers across the Platform org to ship more effectively
  • Introducing areas of focus to improve developer experience and resolve papercuts
  • As DevFlow owns Supply Chain Security, working with IT, Infosec and senior stakeholders to highligh and address a number of gaps in controls, or to look at possible risks in our Open Source supply chain
  • Involved in working towards "0 CVEs" initiative at Elastic, with the rollout of Chainguard Images (based on Wolfi) across the organisation
  • Providing novel insights into the End-of-Life status of Chainguard images in use, using dependency-management-data
  • Speaker at the internal Engineering Productivity Lightning Talks
  • Building and maintaining tooling for deploying development environments for Elastic Cloud and Elastic Cloud Serverless
  • Building and maintaining tooling for cleaning up unused cloud resources
  • Building and maintaining tooling for cleaning up unused cloud resources and deploying development environments for Elastic Cloud (Serverless)
  • Invited to join the Open Source Working Group (not yet an Open Source Program Office) at Elastic, working to improve Elastic's consumption of Open Source, giving back to the community + improving outbound Open Source contributions.
  • As part of the Open Source Working Group, using dependency-management-data to gain insights into our use of Open Source and internal dependencies that we didn't have before
  • Improving usage of Renovate across the organisation to better manage keeping on top of dependency updates, by rolling out shared configurations and managing common Elastic-specific dependencies
  • Supporting improvement of teams' usage of OpenAPI, including changes required within the oapi-codegen OpenAPI-to-Go code generator I maintain, which Elastic has been using since before I joined
  • Supporting improvement of teams' usage of OpenAPI, including supporting upstreaming of changes required within oapi-codegen
  • Contributing to conversations around OpenAPI governance + spec visualisation tooling
  • Invited to join as an (internal facing) Elastic Security Champion, due to my continued focus on security of internal software, our software supply chain, and reducing risk of issues earlier in the Software Development Lifecycle
  • Co-organiser of the Go community at Elastic, with twice-monthly meetings of alternating discussions and lightning talks, and improving Go adoption + experience
  • Working asynchronously with a distributed team and company
Deliveroo Senior Software Engineer

Senior Software Engineer in a team of 12 across the UK and India, 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 building internal community around contributing to Open Source, partly 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.
  • Built an event-driven set of services in AWS Lambda with AWS EventBridge to provide real-time data updates for dependency-management-data
  • 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
  • Member of the Go team to help guide and improve usage of Go across Deliveroo
  • 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 and Datadog
  • 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
  • Rebuilt internal (RESTful) API documentation site with a tactical solution using Hugo and Stoplight Elements to replace the existing service, as well as writing a design document to plan for the target state of API documentation at Deliveroo.
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 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
  • Additionally, led work to improve the value provided as part of the partner onboarding process and test environment, improving the documentation for onboarding, and leading work to build in a set of Cucumber tests to provide a human-readable description for the test cases available in the test environment, and championed moving the test environment to its own set of infrastructure, enabling the ability to release requested partner test environment changes within 48 hours of a request (> 5x increase).
  • 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
  • Built a number of Java APIs in AWS Lambda using an in-house microwebframework, which led to learning several good lessons about this architecture
  • Replaced complexity in setup for services and Cucumber tests by introducing Dagger, simplifying configuration and improving developer experience and providing faster feedback with our configuration
  • Noticing a set of shared code across multiple services in the acquisition space for validating the same type of data, with a slightly different shape, I championed the need to have this as a shared library, and worked with stakeholders to roll it out to improve re-use across services and reduce overhead of re-writing very similar code across the services
  • 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
  • Key contributor to internal Java libraries, working to keep libraries consistent for their build/test/deploy lifecycle, introducing Renovate and SonarQube to keep projects more maintainable, and working on improvements to existing libraries as well as finding opportunities for new libraries.
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

  • Go
  • OpenAPI + designing HTTP APIs
  • Renovate
  • Docker
  • Ruby
  • Git
  • Linux
  • Building (internal) tools for automation
  • Shell scripting
  • CI/CD / DevOps Automation
  • Technical writing
  • Software testing
  • OAuth2
  • Coaching + mentoring
  • Production / incident support
  • Building reusable software
  • Code review
  • TypeScript
  • GitHub Actions
  • GitLab CI
  • SQLite
  • Working with Technical Specifications (such as RFCs)

Some Experience (in the last 2 years)

Some Experience

  • CircleCI
  • PostgreSQL
  • Apache Kafka
  • Spring Boot
  • Chef
  • Java
  • AWS
  • AWS CloudFront
  • Terraform
  • Kubernetes
  • Netlify
  • Jenkins
  • Jenkins Job DSL
  • Fly.io
  • GraphQL

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 and writing blog posts
  • 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
  • I'm a strong believer in continuously improving the way a team delivers, focussing on signals to shape better working and improving effectiveness and efficiency.
  • Improving team ways of working to improve effectiveness and efficiency alongside sustainability
  • Free and Open Source
  • Automation
  • Open Standards
  • Hackathons / competitive programming
  • Building inclusive spaces
  • Remote/flexible and async working