jakstys.lt/content/log/2023/7-years-at-uber.md

118 lines
6.1 KiB
Markdown
Raw Normal View History

2023-02-10 09:20:59 +02:00
---
title: "7 Years at Uber"
date: 2023-02-10T01:54:23+02:00
slug: 7-years-at-uber
2023-02-20 16:51:40 +02:00
description: "My last day at Uber will be (was, depending on when you read this) on 2023-06-30. This is a retrospective of the last 7+ years working at Uber's infrastructure."
2023-02-10 09:20:59 +02:00
---
This month turned 7 years since I joined Uber. Since it will be the last (a bit
more on it in the next paragraph), I though it's good to write a retrospective
on how it looked like.
On 2022-09-07 it was announced that Uber engineering site will be shut down on
2023-06-30. Whoever is willing to relocate are welcome to do so. The rest will
be laid off. The "easiest" offices for relocation are where our organization
is: Aarhus, Amsterdam, Seattle, New York, Sunnyvale and San Francisco. In my
case, I have a good life in Vilnius and want to keep it that way. So my days
are numbered.
Note that this started *before* the "layoffs of 2023" in the industry. Given
the conditions (9 months notice!), it does seem like a strategic move, not a
cost-saving one.
Chronological summary of my employment and projects at Uber:
- 2016-02-01: joined in Amsterdam, Marketplace Topology team.
- 2016-10-30: moved to Vilnius, Lithuania. Joined "Foundatoins Platform" team
(probably it had a different name back then).
- 2017-2018: worked on an internal project in infrastructure. Not much to say
about it, it is gone now.
- 2019-2021: worked on interesting and important infrastructure work: OS, host
access, user+groups NSS module and distribution layer. An exploratory
personal project with the same theme is [turbonss][turbonss].
- 2022-2023: bootstrapping arm64 for compute. [I wrote a bit about this]({{<
ref "log/2022/how-uber-uses-zig" >}}). There were many past-2022-April
developments, and I am working on an official Uber engineering blog about
this. Should come out in a couple of weeks.
What was so noteworthy?
-----------------------
I met and worked with many amazing people. If I were to single out *one*, that
would be Dan Heller, who hired me in Amsterdam, and who I've been working on
and off ever since. Among other things (a book!), he wrote [10
tenets](https://medium.com/@daniel.heller/ten-principles-for-growth-69015e08c35b),
which I regularly use and recommend to others. I am not putting a second name
here, because where do I stop?
I used to do 2-3 yearly 5-12 day US trips. At the beginning almost exclusively
San Francisco. After ~5'th trip or so I started to look for things to do during
the weekends and (quite by accident!) found likeminded individuals who are
willing to join for crazy drives/flights/weekend trips with me. And oh the fun
we had together during those short stunts.
{{<img src="_/2023/7-years-new-mexico.jpg"
alt="A selfie of two male individuals with two parked cars and a desert in the background."
2023-02-10 11:28:00 +02:00
caption="One of the best weekend trips with Rick Boone (right) and Bob Nugman (not in the picture) in New Mexico just before a hike in the desert."
2023-02-10 09:20:59 +02:00
class="half right"
half="true"
hint="photo"
>}}
The engineering culture is very strong, I learned many valuable lessons: both
from anecdotes and actual experience of:
- Built something that nobody needs. I spent my sweat, blood and tears doing
it. I had a small child at a time, and, unfortunately, sometimes my
priorities were not chosen wisely. I am older now and hopefully wiser.
- Built something the organization really needs: an [NSS][nss] module with a
distribution layer. I saw the steady uptick in use. The edge cases, scaling
problems, lots of customer support (and documentation improvements). Lessons
of ossification, client-side metrics, privy of my dependencies.
- Tried the corporate promotion lottery. 3 times! The third time was
successful. I originally thought it was a lottery (when I "lost" it). Turns
out it does not matter how much competence I show, or work I do, on a project
that does not matter as much for the rest of the organization. I got my
promotion for NSS and host access, things that others actually needed and
valued.
- We did [Crane][crane], god damn it. A 5-year org-wide project that completely
changed how we do infrastructure. Lots of technical and organizational
complexities. We had very strong leaders, a clear vision and stamina to keep
going. Crane was finished[^1] on the week of this blog post.
- Onboarded a new novel technology (zig) and established a relationship between
Uber and the Zig Software Foundation. Zig is currently on critical path at
Uber, *probably* the second most-invoked compiler after Go. I am proud of
that and hope it will serve as a beachhead for the conservatives. If the
previous sentence does not make sense, look up ["crossing the chasm
beachhead"][ddg]. Thanks to my weekend drive during the previous business
trip (probably my last with Uber), I met Andrew Kelley in his home town
Portland. We had lunch in the food court and went for an exactly 2-hour hike.
Besides learning and onboarding new technology, I feel very much part of the
community.
{{<img src="_/2023/7-years-portland.jpg"
alt="Three people eating in a busy foot court outside."
caption="A weekend in Portland from my last business trip. From the left: Andrew Kelley, Rick Boone and my manager Rolandas Tamašauskas."
2023-02-10 09:20:59 +02:00
hint="photo"
>}}
The end is near
---------------
There is much, much more to cover than the above, I had a great time. Great
people, experiences and organizational awareness. I even did 5 trips as a
driver during working hours, and this was encouraged by my manager and the
team. I am still having a good time, but, given the expiry date, it is
different: the office is shrinking, colleagues either leave the company or
relocate to Amsterdam or the US.
I will take the summer off. I may do some consulting in Autumn. So if you want
to talk build systems, systems programming or arm64, [contact me]({{< ref
"contact" >}}).
[^1]: The last host in the "legacy stack" was decommissioned.
[nss]: https://en.wikipedia.org/wiki/Name_Service_Switch
[ddg]: https://duckduckgo.com/?q=crossing+the+chasm+beachhead
[turbonss]: https://git.jakstys.lt/motiejus/turbonss
[crane]: https://www.uber.com/en-ES/blog/crane-ubers-next-gen-infrastructure-stack/