Software Engineer, Cluster Management
Uber's Compute Platform Engineering team is seeking experienced software engineers to help build the future of urban transportation. We've already built the foundational components of a cohesive, loosely coupled service-oriented architecture. What's next is to build new infrastructure platforms on top of this groundwork and transition existing services to them. This architecture will propel us into a future of 10x-100x growth — which will come pretty soon, considering we're doubling in size every six months.
The Compute Platform Team is building the orchestration layer for Uber's datacenters. Our vision is to make other Uber engineers' lives easier by providing them simple access to the resources they need to iterate on awesome products, by quietly blending into the background of their daily life. While we're at it, we'll also drive significant efficiency improvements through multi-tenancy and efficient resource isolation. Our plan is to leverage existing, proven open source technologies (such as Docker , Apache Aurora and Apache Mesos) as the seed of this layer—we will stand on the shoulders of their success to build both Uber-specific additions and core open source features to help future adopters. The impact of this team will be nothing short of a critical contribution to Uber's global transformation of transportation.
Who are we
We are running the "private cloud" for Uber infrastructure, and our vision is to be able to run everything (including stateless, stateful and batch workload) on a shared platform efficiently and reliably. The team has brought the container infrastructure to Uber and has drastically changed the way how binaries are run. Right now we are leveraging open source technologies and working on the next generation of scheduling / containerization / automation solutions to manage large scale clusters. We are the abstraction layer that bridges physical world (datacenter / machine etc.) and logical computation resources (CPU/Memory/Disk etc.).
We are responsible for:
- Serve as a foundation to power Uber service infrastructure
- Design and implement resource isolation primitives for containers
- Automate cluster management operations with code instead of human
- Develop algorithms (bin packing / resource overcommit etc.) to optimize the cluster resource allocation and utilization
- 5+ years of relevant work experience
- Strong system knowledge with Linux OS
- Strong architecture and design skill for large scale distributed system
- Passionate about figuring out large scale cluster management solution
- We span languages here: some experience in one or more of Go, Python and C++ is desired. But at the end of the day, you should just be a really good programmer
- Strong background with open source Cluster Management systems (e.g. Mesos, Aurora, Kubernetes, CoreOS)
- Familiar with Linux containerization technology like namespace, cgroup etc
- Great skills in handling complicated business logic with code
- Good understanding on cluster resource allocation, overcommit and optimization
- Employees are given Uber credits every month
- 401(k) plan, gym reimbursement, paid company holidays.
- Full medical/dental/vision package to fit your needs.
- Unlimited vacation policy; take time when you need it
- The rare opportunity to change the world such that everyone around you is using the product you built. We're not just another social web app, we're moving real people and assets and reinventing transportation and logistics globally.
Meet Some of Uber's Employees
Community Management Specialist
Brian makes sure that every Uber user has an amazing experience. He troubleshoots roadblocks to customer happiness and also does outreach to attract new Uber users.
Back to top