Expoint - all jobs in one place
The point where experts and best companies meet
Limitless High-tech career opportunities - Expoint

Uber Software Engineer II PhD Programming Systems Team 
United States, West Virginia 
669857992

08.05.2025

About the Role

To succeed in this position, you will have a solid understanding of innovative program analysis techniques and experience developing static analyses or compiler optimizations. You should also be passionate about writing clean, efficient, and well-tested code.

----What the Candidate Will 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 product managers and data scientists
  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
  8. Publish your work at top computer science conferences

- - - - Basic Qualifications ----

  1. Must be Ph.D. in Computer Science, Computer Engineering, or related field
  2. 3+ years of professional software development experience with prior experience with compiler design/optimization, static or dynamic analysis, abstract syntax trees (ASTs), intermediate representations (IRs), and formal methods.
  3. Proficiency in Java and experience developing Java analysis tools using frameworks like Soot, WALA, Spoon, or ASM.
  4. Knowledge of different compilation steps (and ability to troubleshoot) in languages such as Go, C, C++, or Java
  5. Strong publication record in relevant conferences (e.g., PLDI, OOPSLA, ICSE, ASE, FSE, ASPLOS).

Note that up to 3 years of the total required software engineering experience may have been gained through education and full-time work experience, additional training, coursework, research, or similar (OR some combination of these). The years of specialized experience are not necessarily in addition to the years of Education & full-time work experience indicated.

- - - - Preferred Qualifications ----

  1. Deep knowledge of JVM, LLVM, GraalVM, or JIT compilation.
  2. Familiarity with software verification tools like Errorprone, Z3, CBMC, or Infer.
  3. Experience integrating program analysis tools into CI/CD pipelines.
  4. Ability to communicate effectively with both technical and business partners
  5. Experience in simplifying/converting business challenges into technical problems
  6. Research mentality with a bias towards action to structure a project from idea to experimentation to prototype to implementation
  7. Experience building and iterating on code review (phabricator, GitHub), automation test infrastructure (unit, integration, E2E), and build systems (Bazel / buck)
  8. Experience working with teams spanning geographic locations and time-zones
  9. Linux and Kubernetes system knowledge
  10. Experience presenting at industry-recognized academic conferences
  11. Experience with machine learning or Generative AI for program analysis is a plus.
  12. Excellent coding and software design skills

For New York, NY-based roles: The base salary range for this role is USD$167,000 per year - USD$185,500 per year.

For San Francisco, CA-based roles: The base salary range for this role is USD$167,000 per year - USD$185,500 per year.

For Seattle, WA-based roles: The base salary range for this role is USD$167,000 per year - USD$185,500 per year.

For Sunnyvale, CA-based roles: The base salary range for this role is USD$167,000 per year - USD$185,500 per year.