Jobs · Engineering · Washington

Senior Software Engineer - Java Platform

Uber · Seattle, WA · 6 days ago
Engineering$202k/yrFull-time

About the Team

The Java Platform team is focused on empowering every Java engineer within Uber to efficiently deliver high-quality software solutions, excelling in cost efficiency, continuous innovation, and maximum engineering productivity. Our mission is to make writing the best Java code easy for all Uber engineers by building an end-to-end solution that leverages the latest language features to make Uber backend services performant, reliable, and efficient. Our work spans core platform pillars including Quality (linters, testing, profiling), Efficiency and Performance (JVM tuning, CPU/memory consumption), and Modernization (latest Java versions, GenAI automation).

About the Role

We are seeking a Senior Software Engineer to join the Java Platform team. In this role, you will be a key contributor to foundational platform initiatives, responsible for designing and implementing high-performance Java components. You will work with technical depth and a high degree of autonomy to deliver projects that enhance engineering productivity and system reliability across Uber's backend services. You will collaborate with other platform teams to drive the adoption of modern Java features and optimize ecosystem-wide performance.

What You'll Do

  • Lead the architecture and implementation of crucial Java platform components, ensuring high performance, efficiency, and reliability.
  • Support long-term optimization and efficiency initiatives, such as enabling virtual threads and developing the TaskGraph framework for Java developers.
  • Participate in the strategic modernization of Uber's Java ecosystem by supporting the adoption of the latest LTS versions and enhancing developer tools.
  • Develop scalable and resilient platform designs that minimize operational support costs.
  • Collaborate with team members to foster a culture of knowledge exchange and continuous technical improvement.

Basic Qualifications

  • A Bachelor's Degree in Computer Science or a related field (or equivalent experience).
  • 5+ years of full-time engineering experience.
  • Systematic problem-solving approach and knowledge of algorithms, data structures, and complexity analysis.
  • Strong understanding of distributed systems or stream processing.
  • Proficient in at least one programming language, such as Java, Golang, C#, or C++.

Preferred Qualifications

  • 3+ years of experience building and managing large-scale distributed systems.
  • Highly proficient in Java.
  • Experience with JVM tuning, performance benchmarking, or continuous profiling.
  • Familiar

Similar jobs