Software Engineer II - Earner (multiple Teams Hiring)

Uber Uber · Consumer · Seattle, WA +2 · Engineering

Software Engineer II role focused on building ML-driven solutions for the Earner lifecycle, including personalized experiences, acquisition, and retention. The role involves working with GenAI/LLMs, Deep Learning embeddings, Causal ML, and Multi-armed Bandits to drive business growth and optimize user touchpoints. The position requires designing and scaling backend services, collaborating with Data Science and Product teams, and ensuring system integrity.

What you'd actually do

  1. Design & Scale: Own the design, development, and operation of backend services (primarily Golang and Java) that support millions of users globally.
  2. Technical Leadership: Transform high-level business problems into elegant, maintainable, and well-documented technical solutions.
  3. Cross-Functional Collaboration: Partner with Data Science, Design, and Product to ship features, evaluate impact using data, and iterate based on results.
  4. System Integrity: Drive ongoing efficiency, reliability, and monitoring (alerting/on-call) to ensure our products remain "always-on."
  5. Mentorship: Lead and mentor fellow engineers, fostering a culture of continuous improvement and engineering excellence.

Skills

Required

  • Golang
  • Java
  • large-scale distributed systems
  • high-throughput/low-latency architectures
  • service-to-service communication
  • ownership
  • code quality
  • technical debt management

Nice to have

  • microservices
  • event-driven architectures
  • rules engines
  • Data Engineering
  • Personally Identifiable Information (PII) handling
  • Causal ML
  • Multi-armed Bandits
  • GenAI/LLMs
  • Deep Learning embeddings

What the JD emphasized

  • ML/AI implementation

Other signals

  • ML-driven solutions
  • GenAI/LLMs
  • Deep Learning embeddings
  • Causal ML
  • Multi-armed Bandits