Software Engineer II, PhD

Technology company developing mobility solutions and platforms for ride-sharing, food delivery, and transportation
$167,000 - $185,500
Backend
Staff Software Engineer
Hybrid
3+ years of experience
AI · Enterprise SaaS

Description For Software Engineer II, PhD

Uber's Programming Systems Group is seeking a PhD-level Software Engineer II to join their Developer platform organization. This role focuses on Java static program analysis and requires expertise in Java compiler, runtime, and bytecode. The position is part of a team that develops innovative programming tools and solutions across multiple languages including Go, Java, Swift, Kotlin, and TypeScript.

The team has an impressive track record of developing open-source tools like NullAway, NilAway, and Piranha, while actively contributing to academic research through publications at premier conferences. The role combines cutting-edge research with practical implementation, requiring candidates to have strong programming skills and deep knowledge of program analysis techniques.

As a Software Engineer II, you'll be responsible for driving ambitious projects from conception to completion, developing static analyses and compiler optimizations, and contributing to the academic community through publications. The position offers competitive compensation ($167,000-$185,500) and benefits, including equity awards and bonus opportunities.

The ideal candidate will have a PhD in Computer Science or related field, 3+ years of professional development experience, and expertise in Java analysis tools. They should be comfortable working in a hybrid environment, collaborating across different time zones, and contributing to both technical and research aspects of the role.

This position offers a unique opportunity to work at the intersection of academic research and industry application, making meaningful contributions to developer productivity and software reliability at scale. The role combines the intellectual challenges of computer science research with the practical impact of implementing solutions for one of the world's leading technology companies.

Last updated 18 days ago

Responsibilities For Software Engineer II, PhD

  • Drive exciting, ambitious, previously unsolved projects from end-to-end
  • Iterate fast to explore possible solutions
  • Make data-driven decisions with exceptional execution
  • Collaborate closely with product managers and data scientists
  • Own projects and push them forward with independence
  • Publish work at top computer science conferences
  • Develop and integrate program analysis tools

Requirements For Software Engineer II, PhD

Java
Go
Kotlin
TypeScript
Linux
Kubernetes
  • Ph.D. in Computer Science, Computer Engineering, or related field
  • 3+ years of professional software development experience
  • Experience with compiler design/optimization, static or dynamic analysis
  • Proficiency in Java and experience developing Java analysis tools
  • Knowledge of different compilation steps
  • Strong publication record in relevant conferences
  • Deep knowledge of JVM, LLVM, GraalVM, or JIT compilation
  • Experience integrating program analysis tools into CI/CD pipelines
  • Linux and Kubernetes system knowledge

Benefits For Software Engineer II, PhD

Medical Insurance
401k
Equity
  • Bonus program
  • Equity awards
  • Benefits package

Interested in this job?

Jobs Related To Uber Software Engineer II, PhD

Senior Engineering Manager - Delivery Marketplace

Senior Engineering Manager position at Uber leading the Consumer Pricing and Incentive team for the Delivery Marketplace, offering competitive compensation and hybrid work arrangement.

Staff Software Engineer, Delivery

Staff Software Engineer position at Uber's Brazil development center, leading backend development for grocery delivery systems and mentoring engineering teams.

Senior Staff Software Engineer - Autonomous Vehicles

Senior Staff Software Engineer position at Uber, focusing on autonomous vehicle technology development, including AI systems and driving datasets.

Engineering Manager II

Engineering Manager II position at Uber leading backend engineering teams in India, focusing on scalable solutions and team development.

Staff Software Engineer

Lead full-stack development role at Uber, focusing on scalable systems and technical leadership in the Scaled Solutions Tech organization.