Uber's Programming Systems Group is seeking a Software Engineer II with a PhD 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 involves working on innovative program analysis techniques, developing static analyses, and compiler optimizations. The team works on various programming languages including Go, Java, Swift, Kotlin, and TypeScript, creating tools for performance, reliability, and developer productivity. The role offers the opportunity to work on cutting-edge projects, publish research papers, and contribute to open-source tools. The position requires a blend of academic expertise and practical software development skills, with opportunities to work on previously unsolved technical challenges. The role combines research and practical implementation, with a focus on improving Uber's development infrastructure and tools. The position offers competitive compensation and benefits, with flexible work arrangements in multiple prestigious tech hub locations.