Home

TransferWise (now Wise)

New York, USA · Oct 2018 – Oct 2020

Having worked in FX for some time, I was familiar with TransferWise as a mission-driven company that puts customers first. I had a smooth interview process with them and resonated with their ambitious plan to expand in the US, so I packed my bags and moved to New York City.

The Work

Software Engineer - US Expansion (Oct 2018 – Jan 2019)

Java Spring Boot PostgreSQL REST

This was my first job at the senior engineer level. Partly because of the elevated expectations, I had a difficult onboarding.

  • TransferWise had by far the largest codebase I’d worked with by that point.
  • The company’s technology was going through some rapid changes, and documentation had not caught up.
  • The NYC office only had a few engineers. Much of the knowledge resided in the European offices, in a timezone 3-5 hours away, including my Eastern European manager, who I had not yet learned to communicate with effectively.

Despite the challenges, I got along well with the close-knit NYC office crew, and implemented a few features to help the US operations team, including one that sped up chargeback recovery.

Software Engineer - Engineering Experience (Jan 2019 – Oct 2020)

Java Spring Boot Kubernetes Microservices Python Grafana Prometheus

The company was migrating from a rented data center to the cloud, from monolith to microservices, and onboarding to Kubernetes (k8s) as the orchestration layer. As a result, the development process was in constant flux, and was a major source of frustration for much of the engineering org, myself included.

By chance, I came across Andrei’s slightly controversial yet inspiring talk about his vision of the development workflow in the new cloud & microservices era. So when Andrei was tasked to start the Engineering Experience team to focus on engineering productivity & welfare, I was eager to join, and leadership was kind enough to approve, despite my short tenure.

We immediately got to work. Joining forces with the cloud infra org, we built a slack bot that, in 6 minutes, would provision an individual development environment on k8s that contained all the core backend microservices of TransferWise. An engineer could easily swap out any of these to one they were running locally, so they could test major features end-to-end. This exact process used to take 2 hours and fail half the time.

As part of expanding this effort to 50+ services, we, working as consultants, helped many teams across the global offices to migrate their services onto k8s and the cloud. This gave me exposure to a large surface area of TransferWise’s backend, which I greatly appreciated. We even worked with the microservices expert, Sam Newman, who advised us on our architecture and the migration.

As more services moved to k8s, even more services were being created. To help with efficiency, I created a service template that included the scaffolding of a typical TransferWise backend service, with all the standard libraries and configurations set up out of the box. To my delight, this quickly became the default way of creating new services, and saved a tremendous amount of engineering time.

Exit

Takeaways

People

This is the first job where I had meaningful interactions with too many great people to name them all, but a few had long-lasting impact on my career.