Software Engineer, CI/CD at Uber
Under the hood of the Uber platform is a large-scale, microservice-based architecture that facilitates the reliability and scalability of our products. Our Core Infrastructure team leads our site reliability, observability, computing, networking, and hardware operations from sites worldwide.
About the Role
As an engineer on the CI/CD team, you will build first-class tooling and infrastructure to support 3,000+ engineers at Uber and handle tens of thousands of commits per day. This team focuses on designing, developing and scaling a robust platform to solve Uber's unique build tooling challenges, create infrastructure to support our wide array of services, and extend CI/CD systems to provide safe, high-quality rollouts for our code.
What You'll Do
- Design and build advanced automated build, test and release infrastructure
- Ship services and tools that greatly increase developer productivity and application quality
- Drive adoption of best practices in code health, testing, and maintainability
- Continue to refine and define our tech stack, utilizing open source tools, generalizing product-specific code and/or building novel solutions to needs we encounter
- Contribute features and fixes back to open source software, or create and promote our own open source tools
- Communicate and collaborate within and across teams to drive company-wide, large-scale projects
- At least 1 year of backend software engineering experience
- Bachelor's degree in Computer Science or related technical field or equivalent practical experience
- Solid understanding of Java, Go or other languages for backend / systems software development
- You are knowledgeable and have experience with Cassandra and Kafka
- You are knowledgeable in building distributed systems
- You have worked with Buck, Bazel, Docker, or other large-scale build tools within a monorepo context
- You have utilized and configured systems like Jenkins, Buildkite, Spinnaker, or other CI/CD tools
- You have experience with containerized CI/CD pipelines, and creating reproducible builds from development to production
- You have experience creating automation in continuous integration and delivery
- You are adept at communicating and collaborating effectively with others, promoting your ideas as well as being humble when you may be wrong
- You are excited to learn from and teach others and are passionate about creating tools, products and providing support for your fellow engineers
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 10,000 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.