Software Engineer II (Backend)- Core Infrastructure Platform

31 Oct 2024

Vacancy expired!

About the role: Software engineers at Uber have a deep impact across a wide variety of business and technology decisions spanning multiple projects and locations. They are pragmatic technologists able to craft scalable systems while delivering efficient code. They are not only collaborative role models, but also empathic thought leaders within a larger group. They are humble teachers, technically mentoring a team of hardworking engineers while also executing on delivering exciting projects! We are looking for a strong Software Engineer as part of the Network Platform team who has a passion for architecting, building and scaling highly-available, mission-critical systems that support millions of users daily. This position is on the Control Plane team who's scope includes Discovery & Health services Traffic Controller - Policies, Topology, Routing Traffic isolation Interaction with data plane as part of the service mesh Unified Control plane for proxyless or proxied services. About the Team: The Network platform team is responsible for ensuring all traffic from mobile, web devices are able to reach Uber services and communicate among the service mesh in the most expedient & highly available manner. Network Platform is also responsible for running Uber services in a multi-zone, multi-region setup for highly reliable systems and for building tooling and processes to enable a services' portability to move between zones from on-prem to cloud. This is a unique opportunity for an experienced engineer who is collaborative, has a healthy sense of curiosity and acts with responsibility to join Uber, work with talented people across the board and help improve our next-generation infrastructure systems, scaling it to the next level. Minimum qualifications: Bachelor's degree or higher in an engineering field (e.g. Computer Science, Computer Engineering, etc.). 3+ years building scalable distributed systems You will design, code, test, and launch new services, and features for Infrastructure at the global trip scale. Experience with Java, Go, C, C, Python or similar (bonus points for more than one). Proficiency in Linux, and practiced Python or Bash scripting skills. Knowledge of core infrastructure foundations, including compute, networking, security, and storage. Depth of experience in one or more recommended. Be on-call and assist with mitigating incidents. You have excellent interpersonal skills and a portfolio of successful execution. Excellent written and verbal communication skills. You can collaborate well with other engineering teams to articulate requirements and system design. Passion for driving continual improvement initiatives on engineering best practices like coding, testing, or monitoring. Technical skills: Preferred: Build reliable, fault-tolerant distributed systems. Relevant engineering experience, preferably some in distributed systems with an emphasis on networking. Experience working with internet-focused network concepts & technologies such as DNS, BGP, routing tables, reverse proxies, IPv4/IPv6, TCP/UDP, TLS/HTTP/QUIC. Ability to assess new technologies and make pragmatic choices that help guide us towards a long-term vision. You will build and deliver these cutting edge features through sophisticated experiments, collaborating with Compute, Foundations, Deployment, Cloud, SRE, Storage, and Product teams, to help build software on reliable infrastructure services