Logo
Uber

Software Engineer II, PhD (Programming Systems Group)

Uber, Seattle, Washington, us, 98127

Save Job

Overview

Software Engineer II, PhD (Programming Systems Group). Uber is seeking an exceptional and experienced program analysis expert to join the Programming Systems Group within the Developer Platform organization. The ideal candidate will possess in-depth knowledge and hands-on experience in static program analysis, with a proven track record of designing, developing, and deploying automatic bug detection tools, including linters. Key qualifications include demonstrated expertise in leveraging advanced techniques, such as program analysis and large language models (LLMs), to build innovative developer tools. A critical aspect of this role involves integrating these tools seamlessly into the software development workflow, with a particular focus on enhancing the code review cycle. The Programming Systems Group at Uber aims to accelerate performance, reliability, and developer productivity across various computational domains. We focus on research in programming languages spanning Go, Java, Swift, Kotlin, and TypeScript, among others. Our work includes static analysis tools, dynamic analysis tools, optimization tools, and Generative-AI tools for fixing concurrency bugs and resource leaks in Java. We make our tools open source and publish our research as academic papers at premier conferences and blog posts. We participate in the research community, including attending conferences, organizing workshops, and serving on program committees.

What you will do

Drive exciting, ambitious, previously unsolved projects from end-to-end Thrive in ambiguous product requirements Iterate fast to explore possible solutions Make data-driven decisions with exceptional execution Collaborate closely with product managers and data scientists Be motivated to own projects and push them forward with independence Most importantly, have a passion for making Uber better for our customers Publish your work at top computer science conferences

Basic Qualifications

Ph.D. in Computer Science, Computer Engineering, or related field 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 Proficiency in programming languages and experience developing static analysis tools using frameworks like LLVM, Soot, WALA, Spoon, or ASM Experience with machine learning or Generative AI for program analysis Knowledge of different compilation steps (and ability to troubleshoot) in languages such as Go, C, C++, or Java Strong publication record in relevant conferences (e.g., PLDI, OOPSLA, ICSE, ASE, FSE, ASPLOS) Excellent coding skills and software design skills

Note

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

Deep knowledge of runtime environments such as JVM, LLVM, GraalVM, or JIT compilation Familiarity with software verification tools like Errorprone, Z3, CBMC, or Infer Experience integrating program analysis tools into CI/CD pipelines Ability to communicate effectively with both technical and business partners Experience in simplifying/converting business challenges into technical problems Research mentality with a bias towards action to structure a project from idea to experimentation to prototype to implementation Experience building and iterating on code review (phabricator, GitHub), automation test infrastructure (unit, integration, E2E), and build systems (Bazel / buck) Experience working with teams spanning geographic locations and time zones Linux and Kubernetes system knowledge Experience presenting at industry-recognized academic conferences

Compensation and Location

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. For all US locations, you will be eligible to participate in Uber's bonus program, and may be offered an equity award & 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.

Seniorities and Employment

Seniority level: Not Applicable Employment type: Full-time Job function: Engineering and Information Technology Industries: Internet Marketplace Platforms

Referrals increase your chances of interviewing at Uber by 2x

#J-18808-Ljbffr