About the role and team
Engineering at Uber means building for real-world impact under real-world constraints. As a Software Engineer II on our Security team, you will architect the foundational infrastructure that powers business decisions and core services for millions of users. Whether you are scaling distributed storage platforms or building high-performance data pipelines, you will be solving complex challenges at the intersection of low latency, high correctness, and massive scale.
The problems here are messy and the systems are global. You’ll need to make smart decisions with imperfect information, own your work end-to-end, and stay calm when high-load systems are on the line. We are looking for engineers who think in systems, pride themselves on robust monitoring, and believe that the best solutions are built through candid feedback and cross-functional collaboration. If you’re energized by challenges and motivated to move the real world - this is where you’ll grow.
What you’ll do
- Design, develop, and maintain high-quality code for features of moderate complexity and projects with multiple dependencies.
- Build and scale foundational infrastructure and data pipelines, balancing technical debt and shifting priorities while keeping long-term impact in mind.
- Own the software lifecycle end-to-end, from drafting design docs to debugging production issues and managing incidents independently.
- Collaborate across disciplines - including Product, Data Science, and Ops - to translate ambiguous requirements into simple, elegant system designs.
- Champion engineering best practices by providing quality code reviews, creating comprehensive tests, and improving system performance.
- Navigate internal complexity and stakeholder inquiries to unblock dependencies and ensure the reliability of our production environment.
Basic Qualifications
- 3+ years of professional software engineering experience in backend development, distributed systems, or data engineering.
- Proficiency in one or more object-oriented or functional programming languages (e.g., Go, Java, Python, or C++).
- Experience with data modeling, query optimization, and translating customer problems into system design.
- Bachelor’s Degree (or equivalent experience) in Computer Science, Engineering, or a related technical field.
- Experience writing tests to verify functionality and establishing monitoring systems to ensure code stability.
Preferred Qualifications
- Experience identifying and reducing code-level technical debt in high-load distributed systems.
- Background in mentoring new team members and contributing to engineering culture.
- Proficiency with Big Data frameworks (e.g., Spark, Flink) or real-time data streaming (e.g., Kafka).
- Demonstrated ability to exercise sound judgment on engineering trade-offs for complex features.
For San Francisco, CA-based roles: The base salary range for this role is USD $171,000 per year - USD $190,000 per year.
You will be eligible to participate in Uber's bonus program, and may be offered an equity award & other types of comp. All full-time employees are eligible to participate in a 401(k) plan. You will also be eligible for various benefits.

