Amsterdam, Netherlands
17 hours ago
Software Engineer II
**About the Role** Uber Engineering is growing quickly as we look to take on exciting opportunities at scale around the world. The RPC Team is looking for new members to help us simplify and enhance the developer experience around service to service communication and resilience. Internally at Uber, we build and run thousands of RPC services defined in Thrift and Protobuf. These services communicate with one another via HTTP, TChannel, & gRPC. Our team owns the adapter layer that abstracts the details of RPC away from the service teams, the resilience components on the server-side (e.g. timeouts, load shedding) and on the client-side (e.g. circuit breaker, retries), and the interface definition and communication layers. We directly impact the latency, availability, and correctness of service to service communication across the company and the end user as a result. Additionally, we define the developer experience for RPC use cases for developers across the company. To succeed in this position, you will have a solid understanding of distributed systems, RPC, and Networking. You should also be passionate about writing clean, efficient, and well-tested code. **What you'll do** 1. Drive exciting, ambitious, previously unsolved projects from end to end. 2. Thrive in ambiguous product requirements. 3. Iterate fast to explore possible solutions. 4. Make data-driven decisions with exceptional execution. 5. Collaborate closely with teams around the company. 6. Be motivated to own projects and push them forward with independence. 7. Most importantly, have a passion for making Uber better for our customers. **What you'll need** Basic Qualifications 1. Bachelor’s degree or equivalent in Computer Science, Computer Engineering, or related field. 2. Mastery in preferred programming language (the team uses Java, Go, & Python). 3. Excellent software design skills. 4. Ability to communicate effectively with both technical and business partners. Preferred Qualifications 1. Prior experience with networking & distributed systems. 2. Experience in simplifying/converting business problems into technical problems. 3. Contributions to open-source projects. 4. Experience in performance tuning and optimization. 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. Offices continue to be central to collaboration and Uber’s cultural identity. Unless formally approved to work fully remotely, Uber expects employees to spend at least half of their work time in their assigned office. For certain roles, such as those based at green-light hubs, employees are expected to be in-office for 100% of their time. Please speak with your recruiter to better understand in-office expectations for this role. \*Accommodations may be available based on religious and/or medical conditions, or as required by applicable law. To request an accommodation, please reach out to [accommodations@uber.com](mailto:accommodations@uber.com).
Confirm your E-mail: Send Email
All Jobs from Uber