7 Years at Uber
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.
- 2022-2023: bootstrapping arm64 for compute. I wrote a bit about this. 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, 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.
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 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, 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 finished1 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”. 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.
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.
The last host in the “legacy stack” was decommissioned. ↩︎