About
Uber
Job Description
Uber Overview
At Uber, we ignite opportunity by setting the world in motion. We take on big problems to help drivers, riders, delivery partners, and eaters get moving in more than 600 cities around the world.
We welcome people from all backgrounds who seek the opportunity to help build a future where everyone and everything can move independently. If you have the curiosity, passion, and collaborative spirit, work with us, and let's move the world forward, together.
Job Description
About the Role
As a Sr Software Engineer, you will help define a holistic vision and build core systems across a variety of focus areas such as capacity planning/management, forecasting, fleet-wide usage monitoring, distributed tracing, benchmarking, budgeting and ordering of hardware. All to help grow Uber's infrastructure while interfacing with shared platform teams, service owners, finance, data scientists and infra leaders.
What You'll Do / What You'll Need / Bonus Points / About the Team
What You'll Do
* Work with teams across Uber to identify, model and project capacity needs over time, help scale services and platforms within our capacity budget and find opportunities to make Uber more efficient.
* Architect, design and build software solutions to help with all aspects of capacity planning/management/ engineering to scale Uber's infrastructure across a variety of complex workflows and business processes.
* Guide the team (and wider organization) by collecting and using data to build insights and determine the highest impact work to focus on.
* Contribute to ensuring Uber's SOA efficiently uses the resources in our data centers and cloud.
* Mentor junior members on the team and provide technical guidance for best practices in software development.
What You'll Need
* BS or MS in Computer Science or equivalent field.
* 5+ years of industry experience.
* Experience with Go, Java, JavaScript, Python and/or other similar languages.
* Systematic approach to problem-solving.
* High EQ and ability to collaborate with other teams and executives.
* Experience identifying and executing on high impact technical opportunities.
* Experience mentoring junior engineers.
Bonus Points if
* Experience with full-stack development.
* Experience with forecasting, data engineering, data pipelines, big data systems, data science, SQL, analytics, statistics and/or machine learning.
* Experience with SOAs running in managed clusters (e.g., Mesos) on dedicated hardware.
* Experience with diagnosing and monitoring systems, as well as distributed tracing and cpu/memory profiling.
* System level and/or kernel experience.
About the TeamUber is one of the fastest growing tech companies in history. Supporting this rapid business growth while developers add features creates a variety of capacity planning, reliability, performance and efficiency challenges. We must ensure that we have enough resources to operate the business and that our software is stable and performant.
The team achieves this by modeling, forecasting and planning for the growth of services and platforms. Budgeting, ordering and deploying capacity in our data centers to support that forecasted growth. Developing strategic insights to help guide the business on how to grow and manage Uber's infrastructure, including data analytics, machine learning and monitoring of resource utilization across the fleet, just to name a few focus areas. Engineers on the Capacity Engineering team come from a variety of backgrounds including (but not limited to): software engineering, application/backend/ full-stack development, data engineering, data science, infrastructure engineering, performance engineering, analytics, capacity planning and distributed systems.
About Uber
Uber is a provider of a mobile application connecting passengers with drivers for hire.