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.