Sr. Software Engineer, Search

Website Uber

About the Role

We are looking for experienced and talented engineers who can help define large-scale search systems in Uber’s Infrastructure team.

Here at Uber our mission is to make transportation as reliable as running water, everywhere, for everyone. Uber serves billions of trips per year and we are currently making investments into the systems and infrastructure necessary to support 100+ million trips per day. A key enabler for the success and growth of Uber’s business is a world-class technical infrastructure for information retrieval and discovery.

The Infrastructure team builds solutions to help builders at Uber create innovative products. Within Infrastructure, the Search team delivers information retrieval systems to power various critical features in our apps (for example, the Rider app and the Eats apps).
About the TeamThe Infrastructure team builds solutions to help builders at Uber create innovative products. Within Infrastructure, the Search team delivers information retrieval systems to power various critical features in our apps (for example, the Rider app and the Eats apps).

What You’ll DoWhat You’ll Do

You will invent cutting edge technology that supports the scale and real-time demands of Uber’s business, for example an event prediction system (engineering blog post).

As a Sr. Software Engineer, you will:

  • Lead cross-functional initiatives working with multiple internal customers.
  • Design, develop and support a world-class search platform serving a wide variety of use cases.
  • Help build infrastructure for the next wave of growth, including building customized components to solve Uber specific problems and evolve the technology for hyper growth.
  • Produce high quality code that is robust, efficient and maintainable; our primary languages are Java and Go.
  • Work at the core of Elasticsearch and Apache Lucene open source software with opportunities to contribute to open source.
  • Work on challenging problems in areas such as relevance ranking, data ingestion, data storage, query optimization, JVM performance optimization, security, machine learning and more.
  • Continually challenge what exists and explore what should be changed to best meet our business needs.
  • Possess expert knowledge in large scale distributed system design and engineering best practices.
  • Participate in setting a vision and objectives for a search platform in alignment with market opportunities.
  • Drive and work on algorithm and architecture design, execute and deliver fault-tolerant systems.

What You’ll Need

  • At least 5 years experience as a software engineer
  • Expertise in one or more object oriented programming language (e.g. Java, Go, Python, C++)
  • Experience with building scalable production services with strict SLAs
  • Experience with developing complex software systems scaling to millions of users with production quality deployment, monitoring and reliability.
  • Experience with large-scale distributed search and storage systems (e.g. Elasticsearch, Apache Lucene, Apache Solr, Kafka)
    Ability to decompose complex business problems

What You’ll Need5 Minimum Years of Experience with Elasticsearch, Apache Lucene, Apache Solr, Kafka

To apply for this job please visit www.uber.com.