Uber is an American mobility as a service provider, allowing users to book a car and driver to transport them in a way similar to a taxi. It is based in San Francisco with operations in approximately 72 countries and 10,500 cities in 2021. Its services include ride-hailing, food delivery (Uber Eats and Postmates), package delivery, couriers, freight transportation, electric bicycle and motorized scooter rental.
Android and mobile development as a whole is something I'm very interested in. For example, I see the Taro Android app, and it's pretty smooth and performant while being built quickly. What can I do to get to this level?
This half I've been assigned to a new greenfield project and I'm having a tough time believing in the product idea and I think the product team is being overly optimistic.
I'm concerned the problem the product solves isn't important enough, that the solution won't be adopted and that the business value isn't clear. They're also pushing for rushed timelines even before we've decided on what will be delivered.
I'm worried if this thing doesn't get traction and we end up having layoffs that it would make our team a target.
How should I think about this situation? Try to make the best out of it? Try to get out of it?
Here are some thoughts from me:
Do these make sense or is there something I'm missing?
My goal is get promoted to senior [5A], and I'm currently working remotely. My manager is okay with me working remote only, but the promo committee might not be as Uber leadership overall is investing into RTO, and my team has gone back to the office for the most part. Do you think this will hurt my chances, and if so, any tips on how to navigate the situation?
My work will often times span across multiple services within Uber, which means that I need to write code in codebases outside of my team's. Sometimes when I do this, it takes a long time for my commit to land as there's many rounds of follow-up questions, leading to a lot of rebases, revisions, and time spent on my end. I understand that they're trying to be the best stewards of their codebase, but this can be a bit frustrating sometimes. How can I make this process smoother and land these kinds of changes more quickly?
So within my own area of the codebase and tech stack I own, I'm very comfortable and confident leaving feedback and sharing thoughts. However, I know that in order to grow to senior, I need to expand past my immediate area into other spaces like the components and services built by other teams in my org like sister teams. For those areas, I'm unsure how to share my thoughts since I'm not an expert in those codebases. So let's say I come across a code review from one of these more "separate" areas from my own and the engineer behind the diff is more senior than me - How can I leave my feedback in a way that respects the situation?