Software Engineer, Build & Replication

5 months ago
US-CA-Palo Alto
Department
Engineering - Engineering
US-CA-Palo Alto
Requisition Post Information* : External Company Name
Uber Technologies, Inc.
Requisition Post Information* : External Company URL
www.uber.com

Uber Overview

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.

 

Job Description

Who are we:

 

We are “engineers for the engineers”  working on scaling out systems to build and replicate almost all the Uber services and artifacts. We are part of Uber compute team that is running
“private cloud” for Uber.

 

As Uber keeps growing, our build and replication system has been growing more than 10x each year, and it’s expected to grow even faster going forward. We are working on next generation of build and replication system that powered the entire Uber infrastructure. We are also solving many unique and new challenges in these areas.

 

We are responsible for:

 

  • Provide highly available, fault tolerant and scalable platform to build services and artifacts
  • Design and implement a generic system to replicate data blobs within/across region(s)
  • Provide reproducible and immutable Docker images for services
  • Design and implement solution to optimize build and replication speed with distributed cache and network topology

 

Qualifications

  • 5+ years of relevant work experience
  • Passionate about large scale build and replication systems
  • Strong architecture and distributed system design
  • 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

 

Preferred Qualifications

  • Experienced with different kinds of build systems
  • Familiar with Docker image format and Docker build process
  • Experienced with Peer-to-Peer replication technologies (e.g. libtorrent)
  • Familiar with open source Cluster Management systems (e.g. Mesos, Aurora, Kubernetes, CoreOS)
  • Strong system background and familiar with Linux OS, namespace and cgroups)

 

Benefits (U.S.)

  • 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.

Options

Connect With Us!

Not ready? Connect with Uber to receive future communications about opportunities and general information about specific areas of Uber that interest you.