Uber is looking to solve complex business problems and improve product performance by developing and optimizing algorithms and systems that match supply (drivers) with demand (riders) in real-time, specifically focusing on supporting matching in a hybrid marketplace including various supply classes such as Autonomous Vehicles (AV), fleet, taxis, and Uber IOs.
Requirements
- 4+ years of experience in professional software development experience, developing and deploying systems in production environments
- Experience in developer tooling or developer productivity spaces
- Knowledge of different compilation steps (and ability to fix) in languages such as Go, C, C++, or Java.
- Experience using metrics to measure and improve developer experience.
- 6+ years of experience in in professional software development experience, developing and deploying systems in production environments
- Experience building and iterating on code review (Phabricator, GitHub), automation test infrastructure (unit, integration, E2E), and build systems (Bazel / buck)
- Strong knowledge of backend development, distributed systems
Responsibilities
- Design, develop, and deploy systems/platform/algorithms to solve complex business problems and improve product performance
- Collaborate with applied/data scientists, software engineers, and product managers to understand requirements, define project goals, and deliver high-quality solutions
- Deliver and review technical design, code and documentation
- Drive ongoing efficiency and reliability improvements through design and automation: availability, performance, scaling, monitoring and capacity.
- Tackle sophisticated technical challenges involving multiple technology stacks
- Mentor and support your interns/fellow team members
- Collaborate with cross-functional teams to drive best practices in data management, data quality, and service deployment
Other
- A Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field
- Masters or Ph.D. degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field
- Strong motivation to grow and continuously develop new skills
- Excellent communication skills and the ability to collaborate effectively with cross-functional teams
- Strong analytical and problem-solving skills are necessary to tackle complex challenges