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
Uber's Software Networking team is seeking experienced software engineers to help design and build the infrastructure supporting the future of urban transportation.
Our mission is to build the next generation of Uber's Service Discovery, Datacenter Ingress, Load Balancing, and RPC solutions. These are high-impact problem areas that empower every engineering team across the company.
The Edge team within Software Networking is responsible for developing and maintaining Uber's frontend network infrastructure, providing a fast, secure and highly available global presence for all of our users, internal and external.
Some responsibilities include:
* Working with teams across Uber including mobile, security, and other infrastructure teams to roll out new protocols like QUIC, BGP, gRPC and more.
* Leverage multiple environments including cloud providers such as GCP and AWS to deliver the best possible experience to Uber's users.
* Make our deployments and failovers faster, safer and more reliable.
As an Infrastructure Engineer at Uber, you'll be building solutions which will help builders at Uber create products for solving business needs. Your work will impact lives of engineers at Uber, riders, eaters, driver-partners, and operations teams across the globe. Our teams span from building data-centers, networking, scalable service, developer experience, and data platforms
What You'll Do / What You'll Need / Bonus Points / About the Team What You'll Do Ideal candidate
* Strong CS fundamentals (data structures, algorithms).
* We're developing cross-datacenter, multi-master systems. We need engineers who care deeply about distributed computing, monitoring, fault-tolerance, durability and scalability.
* Strong programming skills in at least one common programming language (C/C++, Java, Go, python etc) with a desire to learn others.
* Bias towards action while caring about reliability, efficiency and quality. We work on some of the most critical systems at Uber, we want to empower developers to move fast by having stable infrastructure that gets out of their way.
* Familiarity with network protocols and architecture (e.g. TCP/IP, BGP, DNS, HTTP/2, GRPC, QUIC, points of presence (PoPs), load balancing, SSL, TLS).
* Experience with cloud edge providers (GCP, AWS, Akamai, or CloudFlare).
* Our core language is Go. Proficiency is desired but not necessary. Experience in C/C++ is great.
* Expert with network debugging tools (netstat, tcpdump, dig, strace, traceroute etc).
* Expert in OS internals, especially in the networking stack.
What You'll Need
* 2 Minimum Years of Experience with General Backend/infrastructure proficiency, Distributed systems; experience working with large scale web/mobile, front end traffic.
About the Team
The Edge team within Software Networking is responsible for developing and maintaining Uber's frontend network infrastructure, providing a fast, secure and highly available global presence for all of our users, internal and external.
About Uber
Uber is a provider of a mobile application connecting passengers with drivers for hire.