Senior Software Engineer, Java Platform

31 Oct 2024

Vacancy expired!

About the Role This is a Senior to Staff level role. An integral part of the Java Platform team is the Java Framework that is used to develop microservices at Uber. If you are someone who loves to design and develop platform-level features that are leveraged by 1000 developers, this is a role for you. Our Java Platform is used by all product backend domains serving Uber Mobility, Delivery, Market Place, Monetization etc. As part of the Java Platform team, you'll help bootstrap a group of experts focused solely on improving the quality, performance and stability of Uber's Java ecosystem. You'll work with talented, high-velocity engineering teams to solve their most pressing problems. Your code will be at the heart of critical systems across Uber, from infrastructure to user-facing products and services. You'll build frameworks that empower a large and quickly-growing engineering organization to do its best work, moving fast without sacrificing stability, quality, performance or maintainability. Along the way, you'll shape the future of engineering at Uber. We need passionate, skilled developers who empathize with their fellow engineers, pursue technical excellence, care deeply about the quality and velocity of Uber's engineering, and want ownership of business-critical code. What You'll Do Design, develop and maintain a world-class Java Platform @ Uber. Drive the development of Java standards and best practices at Uber. Work closely with engineers across the company to solve critical software development problems in principled and reusable ways. Basic Qualifications 8+ Years of proven understanding of Java, JVM including common tools, frameworks and best practices. 8+ Years of experience designing and maintaining Java libraries. 2+ Years of experience designing & building Java RPC Services using SpringBoot framework. Background in infrastructure and distributed systems. Familiarity with semantic versioning and concepts like backward compatibility. Experience building reusable tools, packages and software patterns for developers. Passion for software quality, including testing, code review, and documentation. Excellent debugging and troubleshooting skills. Strong cross-team communication skills. B.S., M.S., or Ph. D. in Computer Science or equivalent work experience. Preferred Qualifications Experience leading, contributing to, or maintaining open-source projects. Experience as a technology-specific speaker or evangelist. Background in infrastructure and distributed systems.