Software Engineer II

Uber·Sunnyvale, California, United States$171K - $209K·posted 1d ago · last seen 31m ago

Track this application

Get Started Free

Match score against your CV

Get Started Free

Tailor your resume to this job

Get Started Free

About 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 

  • Develop and maintain the Comms platform, delivering billions of daily communications across diverse channels leveraging cutting-edge technology.
  • Create intelligent systems for timely and contextually relevant communication.
  • Analyze requirements, design effective solutions, and ensure alignment with business objectives.
  • Foster cross-functional collaboration to define interfaces, bridge gaps, and achieve project milestones.
  • Productize solutions across the organization, continuously monitoring and refining based on real-world data.
  • Contribute to defining project scope and developing detailed project plans.
  • Architect robust software solutions based on requirements, prioritizing long-term sustainability, and participate in design reviews.
  • Translate designs into well-structured, readable, scalable, and configurable code, and participate in code reviews to maintain quality.
  • Implement essential system components such as logging, monitoring, alerting, and debugging tools for efficient issue detection and resolution.
  • Provide post-deployment support for team-developed production systems and ensure timely troubleshooting.
  • May telecommute.
     

Basic Qualifications 

  • Employer will accept a Bachelor's degree in Computer Science, Engineering (Any), Information Technology, Mathematics, Physics, or related field, and two years of experience in the job offered or in a related occupation.
  • Position requires:
    • Data structure concepts;
    • Crafting efficient SQL queries for data retrieval;
    • Data analysis and log management using Presto and Hive;
    • Open-source messaging system such as Kafka, including code integration;
    • Redis key-value caching, encompassing usage and debugging practices;
    • Large-scale distributed file systems such as Terrablob/S3 for data persistence, modeling, and analysis;
    • Fault-tolerant systems and multi-datacenter/cloud architectures;
    • Software Development Lifecycle.

More engineering roles at Uber