Sr Machine Learning Engineer - Maps at Uber
About the role:
Partners with stakeholders to design, develop, optimize, and productionize machine learning (ML) or ML-based solutions and systems that are used within a team to solve complex problems with multiple dependencies. This role also leads team efforts to leverage and improve ML infrastructure for model development, training, deployment needs and scaling ML systems.
About the Team:
Whether engineering more accurate ETAs or helping drivers navigate to the perfect pick-up spot, our mapping technologies are integral to the magic of the Uber platform. On the Maps Engineering team, we use the latest ML, GPS, and telematics solutions to make transportation on our platform safer and more accessible.
We are a very small team of engineers responsible for determining a convenient origin and destination of all trips worldwide. We own the search platform and backend services that power the pickup and dropoff experiences for all Uber jobs - be it Rides, Eats, or Freight! As a machine learning engineer on this team you would help us build out the ML models that drive everything from ETA calculations to determining the optimal pickup and drop off for riders and couriers globally. You will be working with some of the world's most experienced mapping professionals, data scientists, software engineers, and research scientists on a user-facing products with global impact. This is your chance to develop cutting-edge technology that will touch every Uber trip!
Technical Competency: Maintains and applies thorough and up-to-date knowledge of ML and experimentation methods (e.g., A/B testing) to design, develop, optimize, and productionize ML or ML-based solutions and systems by developing and testing hypotheses, analyzing large quantities of data, prototyping and validating ideas and systems, and adapting and creating optimized algorithms, models, and other solutions. Serves as a domain resource inside and outside their own team to adopt Uber and industry standards to leverage and improve ML infrastructure for model development, training, deployment needs and scaling ML systems. Improves Uber technical standards and leads the adoption of Uber and industry standards and best practices within the team or project.
Coding: Writes high-quality code (i.e., reliable, readable, efficient, testable), provides quality code reviews, and creates comprehensive tests and quality documentation to solve complex problems that are not well-defined and span multiple areas or projects. This includes knowledge of data structures, algorithms, programming and associated programming languages and frameworks, and major phases/activities of the software research and development life cycle (e.g., requirements, design, build, experiment, test, debug, deploy, monitor). Monitors, reports, and ensures resolution of complex technical problems according to standards and best practices.
Design & Architecture: Partners with stakeholders to understand customer and/or business requirements. Translates requirements into effective design documents to address clearly defined business or technical problems. Provides expertise to make trade-off decisions between short-term results and long-term goals.
Efficiency & Being a Force Multiplier: Creates and promotes efficiency and speed within team by leveraging and improving existing solutions, developing extensible solutions, and reconciling gaps and redundancy within team. Identifies opportunities and advocates for better performance and efficiency of the team's software and systems.
Operational Execution: Manages and executes ambiguous technical projects and solutions with drive and appropriate sense of urgency to deliver technical and business impact within the team. Plans, organizes, and manages tasks, resources, and timelines within a team to accomplish work accurately and on time. Defines and diagnoses ambiguous problems and determines an appropriate solution, recommendation, or decision while logically evaluating alternatives and factors (e.g., resources, costs, tradeoffs). Anticipates roadblocks and develops strategies to mitigate risk.
Collaboration: Listens to and supports ideas/opinions of others from diverse backgrounds and experiences. Proactively builds and maintains collaborative and trusting relationships with multiple stakeholders within the team. Recognizes conflict or disputes among people and situations; mediates open communication of different points of view to resolve conflicts and meet shared goals. Provides constructive and actionable feedback to others to help improve the entire team.
Citizenship: Enhances the effective functioning of Uber by participating in and promoting activities and efforts that contribute to the engineering and/or people culture in the team such as mentoring junior engineers. Represents the team to the broader community through participation in internally- and/or externally-focused engagements (e.g., tech talks, open source, conferences, team building).
- PhD or equivalent in Computer Science, Engineering, Mathematics or related field OR 3-years full-time Software Engineering work experience, WHICH INCLUDES 2-years total technical software engineering experience in one or more of the following areas:
- Programming language (e.g. C, C++, Java, Python, or Go)
- Training using data structures and algorithms
- Modern machine learning algorithms (e.g., tree-based techniques, supervised, deep, or probabilistic learning)
- Machine Learning Software such as Tensorflow/Pytorch, Caffe, Scikit-Learn, or Spark MLLib
- Note the 2-years total of specialized software engineering experience may have been gained through education and full-time work experience, additional training, coursework, research, or similar (OR some combination of these). The years of specialized experience are not necessarily in addition to the years of Education & full-time work experience indicated.
- Scalable ML architecture
- Feature management
- Deep Learning
- At least five (5) years of software engineering experience and building production scale ML models
- Experience shipping high-quality features on schedule
- Experience building large scale distributed systems
- Experience implementing projects with multiple dependencies
- Detailed problem-solving approach and knowledge of algorithms, data structures, and complexity analysis
At Uber, we ignite opportunity by setting the world in motion. We take on big problems to help drivers, riders, delivery partners, and eaters get moving in more than 10,000 cities around the world.
We welcome people from all backgrounds who seek the opportunity to help build a future where everyone and everything can move independently. If you have the curiosity, passion, and collaborative spirit, work with us, and let's move the world forward, together.
Uber is proud to be an Equal Opportunity/Affirmative Action employer. All qualified applicants will receive consideration for employment without regard to sex, gender identity, sexual orientation, race, color, religion, national origin, disability, protected Veteran status, age, or any other characteristic protected by law. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you have a disability or special need that requires accommodation, please let us know by completing this form.