Apple vs Uber: Culture, Processes, Salary, and more...

Apple Chronicles. New weekly segment about my life as a Software Engineer @Apple from 2014 to 2020 - I'll share with you bits and pieces of my ~6 years tenure.

I worked for Apple for six years before leaving in 2020 to join Uber. My main reason for quitting Apple was to try something different and gain a broader experience by working for another company. I have been at Uber for the last four years, and I thought it would be interesting to discuss the main differences, specifically from a software engineer's perspective, between working at Apple and Uber.

All the information in this article is based on my personal experience. This does not necessarily apply to all teams and individuals working at Apple and Uber.

Salary, Levels, & Promotion

If you are interested for a more in depth overview of leveling and performance at Apple, I wrote about it in Leveling & Performance Reviews at Apple.

I left Apple as a senior software engineer and joined Uber in the same role. Last year, I was promoted to staff engineer, giving me several data points for comparison. Overall, I found Uber's salaries to be more competitive than Apple's for the same level. I was fortunate that Uber matched my unvested Apple stocks as part of my initial grant, so I might be a bit of an outlier in this regard.

When it comes to stock, however, one has to consider future growth. Looking at trends over the last few years, Apple is unbeatable. While your base salary and cash bonus are likely to be higher at Uber, Apple's stock tends to grow more over time.

One of the core values I love about Uber is transparency. Internally, your job title is part of your profile in the directory, salary ranges for your level are available, and well-written guidelines help you understand the expectations at each level. This transparency aids in understanding what it takes to get promoted.

Unfortunately, my experience and that of many friends at Apple suggest that career and promotion conversations are often taboo. This might vary depending on your manager. If you are an Apple employee and your manager regularly checks in on your career growth and has honest discussions about promotions, you are in luck and should never leave them.

Processes: Planning, Top Down, Bottom Up

As an engineer, you join the tech company of your dreams, eager to contribute your ideas, only to realize that in a large corporation, you are an ant. It’s rare—unless your reputation precedes you—that you will have the chance to build what you think users want. This is not to say you cannot express your opinion.

Most of the planning at Apple is top-down. New features, areas of interest, and KPIs (key performance indicators) are discussed and decided by leadership. There is rarely a way to build anything outside of that framework, especially if you work in product development. This does not mean you won't be greatly challenged or build cool stuff; it just means you don’t get to decide what you build. Exceptions exist—high-level key performers may not find this true—but it applies to 99% of engineers.

Planning at Uber is much better, in my opinion. We use a top-down and bottom-up approach. In the top-down process, leadership informs teams about the company's high-level objectives for the year or longer term. In the bottom-up process, each team and engineer can come up with ideas, efforts, and projects to contribute to leadership's goals and the company's vision. As an engineer, this is pretty cool since it means you get to pick what you work on, as long as it aligns with the overarching company goals.

Perks

This is a cool one. Everybody hears about the perks tech companies give their employees, from Google's massages and bowling alley to the Michelin-star food at LinkedIn.

I think the perks at Apple are actually better in terms of value. This might vary depending on your stage in life, honestly, but I miss the convenience of having a wellness center where I could visit my family doctor, dentist, physiotherapist, and get massages, all on site. Of course, you have to pay for it, but trust me, the older you get, the more appealing it becomes.

And yes, Uber has plenty of perks: free food, snacks, a barista and smoothie bar, gym, and classes.

Both Apple and Uber offer discounts. Apple provides a 25% personal discount on each product, while Uber gives you $200 monthly and a 17% discount on each ride and Eats order.

Bear in mind that many of these perks depend on location. Not all offices offer the same benefits. Here, I am specifically comparing Apple’s Infinite Loop / Apple Park locations and Uber’s Mission Bay location.

Actually I changed my mind lol. I think as perks go they are both pretty good.

Technologies

And last but not least, technology. I have worked in Europe and know what it’s like to work on legacy technology that nobody cares about or uses anymore—it just sucks.

From what I have seen, Apple primarily uses Objective-C and Swift for the client side, TypeScript/JavaScript for the front end (I didn’t do much of this, so don’t quote me), and mostly Java with some Golang for the backend.

Uber is fully Swift on the client side, TypeScript/JavaScript for the front end (again, I didn’t do much of this, so don’t quote me), and mostly Golang with some Java (for Maps) on the backend.

So, they are pretty similar. However, I have come to the realization that engineering standards and quality are much higher at Uber. One of the main reasons is that we have no manual testers, while Apple has hundreds if not thousands of employees dedicated solely to that.

That’s it for this week!

Forward this email to a friend who needs to read this 🚀 

And if you are that awesome friend - Subscribe here to get weekly emails on Apple & Tech from an ex-Apple engineer.

If you are looking to launch your app faster, check out shipappfast.com.

If you are applying for new position and need a resume review, check out roastmyresume.services.

Hit reply and let me know what you found most helpful this week—I’d love to hear from you!

See you next Week!

Luca