Software Engineering, Advanced Technologies Group in Toronto, Canada
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.
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 don’t just accept difference—we celebrate it, we support it, and we thrive on it for the benefit of our employees, our products and our community. Uber is proud to be an equal opportunity workplace. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status.