Software Engineer II
Track this application
Get Started FreeMatch score against your CV
Get Started FreeTailor your resume to this job
Get Started FreeAbout interviewing at Uber
Recruiter screen, an optional online assessment (easy-to-medium DSA), a one-hour CodeSignal technical phone screen, then an onsite of four to six rounds: general coding, domain-specific coding, 'design Instagram'-style system design, and a hiring-manager behavioral. Senior candidates add a technical retrospective deep-diving one resume project.
Read the full Uber interview process →Description
About the role and team
Engineering at Uber means building for real-world impact under real-world constraints. As a Software Engineer II on our Data and Storage teams, you will architect the foundational infrastructure that powers business decisions and core services for millions of users. Whether you are scaling distributed storage platforms or building high-performance data pipelines, you will be solving complex challenges at the intersection of low latency, high correctness, and massive scale.
The problems here are messy and the systems are global. You’ll need to make smart decisions with imperfect information, own your work end-to-end, and stay calm when high-load systems are on the line. We are looking for engineers who think in systems, pride themselves on robust monitoring, and believe that the best solutions are built through candid feedback and cross-functional collaboration. If you’re energized by challenges and motivated to move the real world - this is where you’ll grow.
Rate of Pay: $171,000 to $209,000 per Year
You will be eligible to participate in Uber's bonus program, and may be offered other types of comp. You will also be eligible for various benefits. More details can be found at the following link https://www.uber.com/careers/benefits.
What you’ll do
- Design, develop, and test software applications.
- Design, develop, and/or test software applications using company technology stack.
- Apply technical knowledge to evaluate complex data, developments, and projects in order to provide recommendations to resolve technical issues.
- Support the company's business operations and improve engineering productivity.
- Build software components that can be integrated into a fully functional software system.
- Solve production issues in product and system reliability.
- May telecommute.
Basic Qualifications
- Employer will accept a Master's degree in Computer Science, Engineering (Any), Information Technology, Mathematics, Physics, or related field.
- Position requires:
- Go (Golang), including concurrency programming;
- Object oriented programming language, including Java or C++;
- Front-end technologies including React, JavaScript, HTML, or CSS;
- Container orchestration tools including Kubernetes or Docker;
- Data lake frameworks including Apache Hudi, Delta Lake, or Iceberg;
- Batch processing frameworks including Apache Spark or Apache Hive;
- Real-time OLAP engines including ClickHouse, Apache Pinot, or Apache Doris;
- Stream processing and message queues using Apache Flink and Apache Kafka;
- RPC frameworks (e.g., gRPC or Thrift) and Protocol Buffers;
- Caching strategies using Redis or in-memory caches;
- Designing high-availability distributed systems with high-throughput traffic for machine learning inference or model serving.