Software Engineer

Uber Uber · Consumer · Sunnyvale, CA · Engineering

Software Engineer role focused on designing, developing, and testing software applications and data pipelines. Responsibilities include applying technical knowledge to evaluate complex data and projects, supporting business operations, improving engineering productivity, solving production issues, and enriching data layers. Requires experience with programming languages like Python, SQL, Java/Scala, C/C++, or Go, building software system tools and infrastructure, data warehousing, data modeling, Big Data technologies (HDFS, Hive, Oozie, Airflow, MapReduce, Spark), and building ETL data pipelines.

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

  • Programming and scripting in Python, SQL, Java/Scala, C/C++, or Go
  • Building software system tools and infrastructure
  • SQL
  • Data warehousing and data modeling
  • Big Data tech stack: HDFS, Hive, Oozie, Airflow, MapReduce, or Spark
  • Building ETL data pipelines