Sr Software Engineer - Presto

Uber Uber · Consumer · Seattle, WA +2 · Engineering

This role focuses on designing, implementing, optimizing, and managing a large-scale distributed big data analytics query engine (Presto) at Uber. Responsibilities include optimizing query plans, improving runtime execution, designing distributed algorithms, enhancing production cluster orchestration, and contributing to the open-source Presto community. The role requires strong Java skills and experience with distributed systems.

What you'd actually do

  1. Learn the internals of big data infrastructure at Uber scale.
  2. Deep-Dive the internal of MPP Data Analytics Engine, do the optimization on the query logical/physical/execution plan, and also improve the query execution on the runtime engine including codegen, threading model, data formatting and reader, etc.
  3. Design and implement distributed and real-time algorithms for interactive data processing.
  4. Improve production cluster orchestration and service reliability and availability.
  5. Work with multiple partner teams within and outside of Uber and build cross-functional solutions in a collaborative work environment.

Skills

Required

  • Bachelor’s degree in Computer Science or related field
  • 6+ years of experience building large scale distributed software systems
  • Solid understanding of Java for backend / systems software development

Nice to have

  • MS / PhD in Computer Science or related field
  • Experience managing production systems with a strong availability SLA
  • Experience working with SQL Compiler, SQL Plan / Runtime Optimization
  • Experience working with Presto, Apache Calcite / Hive / Flink, Apache Spark or similar analytics technologies
  • Experience working with Large Scale distributed system, HDFS / Yarn

What the JD emphasized

  • 6+ years of experience building large scale distributed software systems
  • Solid understanding of Java for backend / systems software development
  • Experience managing production systems with a strong availability SLA
  • Experience working with SQL Compiler, SQL Plan / Runtime Optimization
  • Experience working with Presto, Apache Calcite / Hive / Flink, Apache Spark or similar analytics technologies
  • Experience working with Large Scale distributed system, HDFS / Yarn