We're looking for Technical Leads and Engineering Managers to join the Engineering team of the Toronto R&D Centre. You will participate in the unique effort of bringing innovative state-of-the-art deep-learning models for self-driving into production, and onto autonomous vehicles. You will collaborate closely with a team of highly skilled researchers and engineers, tackling an array of challenges related to applying advanced machine learning and deep learning to self-driving vehicles. You will work on and lead a variety of software engineering tasks related to development and deployment of algorithms for detection & perception, prediction, motion planning & automated map production, to name a few.
What You'll Do
- Oversee and drive the design, development, testing, and deployment of innovative solutions for challenging problems in the self-driving domain.
- Ensure robust, scalable, reusable, efficient, production-quality software is being delivered to the organization. Usher and evangelize adoption of engineering best-practices and methodology.
- Set the roadmap, drive detailed planning, and ensure execution of deliverables for a small to medium sized team (2-7)
- Mentor and help bringing up of new team members, help with interviewing and hiring of new team members, ensure technical development of team.
- Collaborate and communicate closely with researchers to deeply understand the problem space and algorithmic solutions. Design the strategy for deployment in production, communicate to stakeholders, and drive the execution.
- Collaborate and communicate closely with cross-site testing, integration, and triage teams to ensure proper delivery and performance of productized models
- Identify, propose and build tools, utilities, infrastructure, large-scale data and computation pipelines, data storage strategy, common libraries and useful tools needed to optimize research and development of deep-learning models
- Research and incorporate emerging software infrastructures, tools, and technologies
What You'll Need
- Minimum 8 years experience building production level software systems, preferably with Python and/or C++ (candidates not meeting this requirement but excel in other competencies will be considered)
- Comfortable developing and working in a Linux environment (or happy to quickly get up to speed)
- Minimum 3 years experience leading technical teams, designing and architecting complex engineering solutions, planning and roadmapping, documenting, communicating and driving consensus on technical solution across multi-site organizations.
- A track record of shipping high-impact engineering solutions
- Experience leading teams working on applied Machine Learning/Self Driving/Robotics/Data Engineering,.
- Demonstrable track-record of learning and deep-diving as needed into complex existing and new technologies
- Intense sense of ownership, initiative-taking, and a can-do attitude
- Great attention to detail and a data-driven approach to problem solving
- Leadership aptitude with a strong collaboration and communication skills, who is able to motivate and mobilize cross-functional teams, and respond positively to feedback
- Ability to quickly learn new technologies and adapt easily to meet the needs of our massive growth and rapidly evolving business environment
Bonus Points (optional)
- Knowledge of applied machine learning, and in particular distributed training of deep learning models, utilizing GPU processing in compute clusters, recent deep learning and computer vision models, optimization and productization of modern neural networks.
- Experience in architecting and building large-scale batch processing pipelines using Big Data tools such as Hadoop, Spark, Cassandra, etc.
- Experience with 3D data transformations common in game engines and 3D-graphics programming
- Familiarity with considerations related to sensor data (RGB, LiDAR) such as calibration, data capturing, noise sources, transformations, etc.
- People management experience nurturing careers, managing under- and over-performers, influencing cross-functional teams, recruiting and building teams
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 600 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.