Meet Uber Engineering Amsterdam

What’s it like to be at Uber Engineering Amsterdam? We’ve come a long way since we started a year and a half ago, when our first engineering team joined the pre-existing Uber Amsterdam office. Initially, we focused on building the international product experience. As we’ve grown, we’ve evolved to three main areas:

Rider payments, focused on enabling riders worldwide to use their preferred payment methods. This team works on our next & existing payment integrations, maintaining an always-on payment experience that works for Uber’s scale.

Mobile tooling platform, building the next generation of mobile engineering tooling and technology to empower mobile engineers at Uber and make them as productive as possible.

Here are three key members of those teams: Mustafa, engineering manager on the mobile tooling platform team; Eva, Android engineer on the rider payments team; Nils, backend engineer on the marketplace continuity team, on what it’s like to be an Uber engineer in Amsterdam.

Mustafa, Uber Engineering Amsterdam Site Lead

What do you do at Uber?

I am the lead for Uber Engineering’s Amsterdam office and also head up our mobile platform teams focused on internal tooling and developer experience. Essentially, I ensure that the Amsterdam office grows to be Uber’s central hub of engineering excellence in Europe while also building engineering teams that help shape the future of mobile engineering at Uber.

What’s something about your role that most people wouldn’t know?

People outside Uber don’t realize the complexity and creativity involved in taking the hundreds of features worked on and tested every week by our mobile engineering teams (using frameworks like Octopus). We ship a new mobile release every week, and our iOS and Android applications continuously evolve. We end up building some pretty cool technology to ensure we move quickly while still building a world-class mobile platform.

Take us through a typical day.

Most days start with coffee, a flat white to be precise. (Yes, I am from Australia, and yes I did live in Melbourne!) Currently within the mobile platform area, we focus on our build systems and code infrastructure to ensure that the technology that powers our engineers is capable of supporting our scale. This translates to a lot of technical discussions around our build technology, mobile engineering infrastructure, and what we can be doing to let our builders build with the least amount of friction. I’ll sit with people regularly to ensure our teams and engineers are motivated and enjoying their work. Retrospective meetings are a great way of doing this with teams. Since growing our office is key, a big part of my day-to-day activities are hiring interviews and discussions. (We even have an article on how to get noticed in the Uber Engineering application process.)

Why engineering in Amsterdam?

Over the last few years, Amsterdam has become one of Europe’s tech hubs in our increasingly active startup scene. Full of talent and neighbored by countries with equally healthy tech markets, Amsterdam has lots of great innovation coming out of the city and talent pouring in. Uber is a global company, so it’s important for us to have a global engineering presence and continue growth in the organization to help achieve our mission of transportation as reliable as running water, everywhere and for everyone.

Why Amsterdam?

I love to travel. I’m originally from Australia. Amsterdam in particular feels small and charming but really alive. There’s always something happening somewhere, and if I feel like going anywhere in Europe I can jump on a plane from Schiphol and be there in a single flight. Being able to combine this with my passion for engineering and help grow an engineering office with talented, smart people is a winning combination.

Mustafa Sezgin, Uber engineering manager and Amsterdam site lead.

Eva, Software Engineer on Rider Payments

What do you do at Uber?

I’m an Android software engineer on the Rider Payments team in Amsterdam. Currently I maintain the high quality of software solutions regarding payments in the Android Rider app, implement new payment integrations, and add payment related features.

Eva Stos, Uber Android engineer.

What’s something about your role that most people wouldn’t know?

The most important thing that people never guess is how much influence an engineer at Uber has. Programming is only a part of our work here. We are highly involved in the product decision-making processes. We are encouraged to communicate with other teams and gain as much knowledge as we can outside our specific domain.

Take us through a typical day.

I’m as far from a morning person as one can be, so I try to get to work around 10am. Soon after, we have a daily stand-up meeting and then go upstairs for lunch. During the afternoon, I mostly code and ping teammates to review my code. Sometimes I have meetings. They’re kept short and interesting.

Around 6pm local time, San Francisco teams wake up, and that is a good time to initiate some design and architecture discussions with them. Around that time, we order dinner for the office. If I was struggling with an issue for most of the day, at 7pm sharp—like clockwork—I experience some sort of epiphany and fix the issue. I then walk home along the canals thinking about how another day went by so fast.

I first fell in love with Amsterdam on a high school trip when I was 17 years old: the unique architecture and cultural heritage and the beautiful canals. The magical feeling like you are in a fairytale—cheesy but equally true. I like the cultural diversity. The city is lively and feels small. Few cars are on the streets.

You can walk around almost the whole city. It’s never too hot or too cold. No matter where you’re from or what you like, you will find something for yourself here in Amsterdam.

Nils, Software Engineer at Marketplace Continuity

What do you do at Uber?

I am a backend engineer at the Marketplace Continuity team. Together with the Marketplace team in Amsterdam, I maintain and extend Ringpop, one of Uber’s open source projects. The project started with the Geospatial service’s need for an ephemeral yet scalable data solution. Geospatial originally kept all active Uber locations in memory, which was better than calling to storage in a database, but that system couldn’t scale as the number of driver partners on the road increased.

Ringpop enabled Geospatial’s load distribution, worker coordination, and horizontal scalability. Now, teams throughout Uber use Ringpop for similar cooperation in distributed systems. With the momentum in adoption of Ringpop among engineers at Uber, we focus primarily on stability and measuring the behavior of the system. However, every new team that starts using Ringpop brings new use cases to the software. We talk with those teams to understand their requirements and implement new features in Ringpop to accommodate our users.

Nils Dijk, Uber software engineer.

What’s something about your role that most people wouldn’t know?

Most people don’t know the level of creativity it requires to work on the backend. Even though we do not produce fancy graphics or nice interfaces, we exercise creativity in problem solving.

For example, shutting down the software and upgrading is simply not an option. Introducing features for a new version without interfering with any running versions of Ringpop is like solving a big puzzle. We recently went through this process while building features for the latest release. The moment when you solve this complex puzzle with the team it feels like magic!

Take us through a typical day.

When I get into the office, I start sifting through the emails. Since we operate globally, a lot of communication happens overnight. I automated my inbox to sort incoming emails. This helps me to work in groups of emails at a time. A couple of times a week there will be an email from our internal users from San Francisco with questions or a feature request. I prioritize these emails to have a solution for them by the end of day in Amsterdam. That means that even if they emailed when it was midnight for them, they will have it solved by their morning. This is a big benefit of working on a global scale.

For lunch most of the engineers eat around the same time, so we take multiple tables and rearrange the cafeteria so we can all sit together. After lunch I schedule Make Time. I hide myself, go to an isolated booth, or just simply put on my noise canceling headphones. In this time I start working on the problems at hand. This could be anything from tracking down a bug, making a design document for a new feature, or implementing the feature itself. It is amazing what you can achieve in a couple of hours when you are not disturbed! After such a focused period, I unwind by finding someone in the office to play a game of table tennis.

We have our stand-up meeting in the afternoon so we can loop in people from San Francisco. We go over the findings of the day and keep track of our progress. This is a good moment to get your thoughts lined up with the rest of the team.

In the evenings, I attend a tech meetup in Amsterdam at least once a week. Besides hearing about new technologies, it’s a good way to meet and talk to people from the industry.

Why Amsterdam?

Amsterdam is small enough to get everywhere by bike and still big enough that everyone knows where it is. I really enjoy walking over the canals and am amazed by the old buildings in the city center. And when the weather is nice, you can float the canals by boat. It gives a whole new perspective on a city, seeing it from the water.

Once, I had the opportunity to go ice skating on the canals, which was a magical moment. Now that the tech industry is growing so vibrant in Amsterdam, it is hard for me to believe that I will ever leave.

Charles Axel-Dein is an Uber engineering manager in Amsterdam. He joined Uber as a software engineer in July 2012, originally hails from France, and loves both toast and toasters. Check out our microsite for more info on the Uber Amsterdam Engineering team.