Software Engineer II
Software Engineering
Seattle, WA, USA
USD 171k-209k / year + Equity
About the role and team
Engineering at Uber means building for real-world impact under real-world constraints. As a Software Engineer II, 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.
Rate of Pay: $171,000 to $209,000 per Year
You will be eligible to participate in Uber's bonus program, and may be offered other types of comp. You will also be eligible for various benefits. More details can be found at the following link https://www.uber.com/careers/benefits.
What you’ll do
- Design and build backend systems that support message delivery optimization, frequency capping, and real-time orchestration across channels.
- Work on critical infrastructure for timing models, pacing algorithms, and personalization engines that serve billions of messages monthly.
- Collaborate closely with Product, Applied Science, Data, and Marketing teams to ship features that have direct impact on user engagement and business growth.
- Write clean, maintainable code and participate in design reviews, code reviews, and incident response.
- May telecommute.
Basic Qualifications
- Employer will accept a Bachelor's degree in Computer Science, Engineering (Any), Information Technology, Mathematics, Physics, or related field, and three years of experience in the job offered or in a related occupation.
- Position requires:
- Backend language (Python, Java, Go, or TypeScript) and its standard libraries;
- Design highly scalable components (not just functions);
Microservices, API contract design (REST/gRPC), and caching strategies; - Data management using SQL/NoSQL, specifically database indexing, schema migrations, and query optimization;
- CI/CD pipelines, Docker, and Kubernetes;
Observability using tools such as Grafana or Datadog to debug production issues; - Computer science fundamentals (data structures, algorithms, and OOP);
- Experience with distributed computing frameworks such as Apache Spark, Flink, or Hadoop for processing large-scale datasets.
Ready to Ride?
This isn't the kind of place where you follow a playbook — it's where you help write one. If you're driven by impact, energized by challenge, and ready to shape how the world moves — we'd love to hear from you.
You may be eligible for bonuses, equity, and other compensation, as well as a range of benefits. Explore our benefits.
Offices remain key to collaboration and Uber's culture. Unless approved for full remote work, employees must spend at least 50% of their time in-office. Some roles, like those at greenlight hubs, require full-time in-office presence. Ask your Recruiter for details about this role's requirements.
Uber is proud to be an Equal Opportunity employer. All qualified applicants will receive consideration for employment without regard to sex, gender identity, sexual orientation, race, color, religion, national origin, disability, protected Veteran status, age, or any other characteristic protected by law. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you have a disability or special need that requires accommodation, please let us know by completing this form.