Software Engineer I

Uber Uber · Consumer · Sunnyvale, CA · Engineering

Software Engineer I role at Uber focused on designing, developing, and testing software applications. Responsibilities include applying technical knowledge to evaluate complex data, supporting business operations, improving engineering productivity, building software components, solving production issues, and collaborating with leaders to launch new products and enhance marketplace efficiency. Requires a Masters degree in a related field and proficiency in backend development (Python, Java, C#, C++), SQL/MySQL, object-oriented design, data structures, algorithms, designing technology stacks, debugging, distributed systems, API development, and DevOps practices.

What you'd actually do

  1. Design, develop, and test software applications.
  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. Support the company's business operations and improve engineering productivity.
  5. Build software components that can be integrated into a fully functional software system.

Skills

Required

  • Python
  • Java
  • C#
  • C++
  • SQL
  • MySQL
  • Object-oriented design
  • Data structures
  • Algorithms design
  • Complexity analysis
  • Designing technology stacks
  • Debugging
  • Monitoring for production services
  • Large-scale distributed systems
  • Software Development Lifecycle
  • Collaborating across teams
  • Developing and integrating APIs
  • DevOps practices
  • Docker
  • Kubernetes
  • Designing scalable and resilient systems
  • API architecture