Software Engineer

Uber Uber · Consumer · New York, NY · Engineering

Software Engineer role focused on designing, developing, and testing iOS and Android applications, solving production issues, and applying technical knowledge to evaluate complex data and projects. Requires experience with Swift, RxSwift, UIKit, SwiftUI, Git, SQL, building scalable features, UI/UX principles, project leadership, A/B testing, data structures, algorithms, and the software development lifecycle.

What you'd actually do

  1. Design, develop, and test software applications for iOS and Android platforms.
  2. Design, develop, and/or test software applications using company technology stack.
  3. Apply technical knowledge to evaluate complex data, developments, and projects in order to provide recommendations to resolve technical issues.
  4. Build software components that can be integrated into a fully functional software system.
  5. Solve production issues in product and system reliability.

Skills

Required

  • Swift
  • RxSwift
  • UIKit
  • SwiftUI
  • iOS core frameworks and tools
  • Git
  • SQL
  • MySQL
  • Building scalable and performant iOS features
  • UI/UX Design Principles
  • Design Patterns
  • Project leadership
  • Cross-team collaboration
  • Designing and launching UX experiments
  • A/B tests
  • Data structures
  • Algorithms
  • Monitoring production features
  • Debugging production features
  • Web integrations in native apps
  • Software Development Lifecycle

What the JD emphasized

  • Swift, RxSwift, UIKit, SwiftUI and iOS core frameworks and tools
  • Git, SQL or MySQL
  • Building scalable and performant iOS features
  • UI/UX Design Principles and Design Patterns
  • Independently own, lead and drive projects and cross-team collaboration
  • Designing and launching UX experiments or A/B tests
  • Data structures and algorithms
  • Monitoring and debugging of production features
  • Web integrations in native apps
  • Software Development Lifecycle