| Education | Tier I |
| Years of Experience | 3.5 |
| Prior Experience | Product Based |
| Company | Uber |
| Title/Level | SDE II (L4) |
| Fixed Salary | Rs 44,60,000 (42L base, 2.6L PF) |
| Signon Bonus | Rs 500,000 |
| Gratuity | ~1.1 L |
| Relocation Bonus | 3L |
| Target Bonus / Variable | Rs 600,000 (target) to 12,00,000 (max) |
| Stock bonus/RSU | 79000 USD (Standard 25% vest) 14.5L yearly |
| Total Comp | (Salary + Bonus + Stock): ~71,00,000 first year (66 L onwards) |
| Current Comp | (Salary + Bonus + Stock): ~28L |
Other Benefits
Competing offer: Atlassian
Competing offer: Amazon
Competing offer: Gojek
Competing offer: Cred
Competing offer: Google (Arrived late: 33 base, 2.5 PF, 5 JB, 15% bonus, 17L equity ~63L)
Initial offer did not have any signon bonus. Also, I was awaiting an offer from Google L4 which I told the recruiters outright (with proof). It was hard to not accept Uber immediately though. I mean, it's a good offer from where I am right now. Read the Art of Negotiation if you haven't. It helped me.
Interview structure for Uber
Machine Coding round Medium | Focus on functional correctness and demo-ability. Multi threaded, in memory approach. 1.5 hour discussion. Last 15 minutes were spent in talking about how to scale the "coded" in memory design. Strong focus on concurrency. Especially with race conditions. Had to write unit tests using Countdown latches to prove they were really concurrent and correct (although I couldn't prove it in full). Interviewer seemed impressed.
Data structure round Hard | More focus from the panel on the core algorithm (pseudocode if you will) instead of running working code. 1 Hard question on Graph and connected components. Talked about time/space compexities in depth. Had to walk through my solution on their sample datasets and edge cases.
System Design round Medium | ~ 1 hour: Scaling the system using Quad trees mostly. I even presented an approach where I was able to argue why a linear quad tree = 1D segment tree would work and modelled my APIs, my data model and the data stores accordingly. I focussed on good communication and clarifiying questions no matter how straight the problem might seem to be. For example, I clearly specified what the write path is, what the read/query path is. Did scale calculations upfront and asked them if it was okay to continue with my calculations.
Hiring Manager Easy | ~ 1 hour. Past projects. What I did specifically. What was my ownership. Standard behavioural round. I researched on the interviewer's profile prior and had a few interesting questions to ask of them and their work at Uber. I think they talked more about themselves than I did about myself, mostly because I had intriguing questions, in this round. Good on me :)
Bar raiser Medium | 1 hour. My professional journey. Why I did what I did. Why this project and not that. Favourite projects. 20 mins in depth technical discussion on my favourite project. Why Uber. Why not any other. Why are you leaving current org. What's your long term plan and short term plan. Difficult coworkers? How did you react when X, Y...Z ? How aware are you of Uber as a company, Which colleagues inspired you and why. Instances where you received critical feedback. What would you change at your current org..
Strong company research, Uber's IPO, Uber's post IPO plan, Uber's balance sheet. I read about it all. Extensive research into these areas helped in making an impression. And naturally, I really care for Uber as a company. My nani uses it. My mother uses it. I have deep respect for Uber.
Edit. Wow, I see people downvoting left and right without specifying why :(