Software Engineer - ML Training & Onboard Autonomy
- Vancouver, BC, Canada
Full-time
Applications open in a new tab.
Job details
- Job type
- Full-time
- Apply by
- Posting language
- English
- Posted
Original job description
Inverted AI is a Vancouver-based UBC spin-out building the behaviour models behind autonomous driving. Our generative models of human driving are used by AV and ADAS companies for simulation, and we now train and deploy end-to-end driving policies that run onboard real vehicles. We have a large proprietary drone-captured driving dataset, abundant GPU compute, and a small, technically dense team of researchers and engineers.
The role
We are hiring software engineers who have already taken learned models from a training cluster onto a real robot or vehicle. You will own large parts of the path from data to deployed policy: training and evaluating driving policy and perception models, then making them run reliably, in real time, on embedded compute in our test vehicles. You'll work directly with our researchers and have substantial ownership from day one.
What you'll do
- Train, debug and evaluate end-to-end driving policy and perception models (PyTorch) on multi-GPU clusters
- Build and maintain data pipelines that turn raw video, CAN and sensor logs into training data
- Export, quantize and optimize models for embedded GPUs/accelerators (e.g. ONNX, TensorRT or similar) and hit real-time latency budgets
- Integrate models with the vehicle software stack (ROS 2 / C++ nodes, sensor drivers, vehicle interfaces) and support on-vehicle testing
- Build closed-loop simulation and evaluation tooling that predicts on-road behaviour
- Keep our Python and C++ codebases, containers (Docker/Singularity) and CI healthy
Required qualifications
- BSc or MSc in Computer Science, Computer Engineering, Engineering Physics or similar
- 2+ years (industry, or substantial graduate research/co-op) building ML or robotics systems
- Hands-on experience deploying a learned model onboard a real robot, vehicle or drone, not only in simulation
- Hands-on experience training deep learning models in PyTorch, including debugging training runs
- Strong Python and solid modern C++; comfortable on Linux with git and Docker
- Able to work without a rigidly defined scope and to own problems end to end
Nice to have
- Autonomous driving, ADAS or mobile robotics industry experience
- ROS 2, NVIDIA Jetson/DRIVE, AMD or other embedded accelerator experience; TensorRT/ONNX Runtime
- Reinforcement learning, imitation learning or behaviour cloning for control; diffusion or flow-based generative models
- CAN bus, vehicle interfaces, sensor calibration or time synchronization
- Real-time / safety-conscious systems engineering
What we offer
- Salary: $90,000 - $120,000 CAD per year, depending on experience, plus participation in our employee stock option plan
- Health and wellness benefits and paid time off
- Your code runs on real vehicles, not just in benchmarks
- A small, fast-moving team with direct access to world-class ML researchers
Hiring process
A 30-minute remote screen with a short coding exercise; a 1-2 hour in-depth interview (in person if you're in Vancouver); a take-home with a programming and a design part, completed within a 48-hour window; then reference checks.
In person, downtown Vancouver, BC. Full-time. Must be legally entitled to work in Canada. Inverted AI is an equal opportunity employer. We welcome applicants from all backgrounds and make hiring decisions on qualifications, merit and business needs.
More about this job
Responsibilities
Train, debug, and evaluate driving policy and perception models, and build data pipelines from video, CAN, and sensor logs. Optimize and integrate models for real-time operation on embedded vehicle hardware, while developing simulation and evaluation tools and maintaining the Python and C++ codebases, containers, and CI.
Requirements
Requires a BSc or MSc in a relevant technical field, at least two years of experience building ML or robotics systems, and hands-on experience training PyTorch models and deploying learned models on a real robot, vehicle, or drone. Candidates need strong Python, solid modern C++, Linux, Git, and Docker skills, along with the ability to own problems end to end.
Skills
- PyTorch
- Python
- C++
- Machine Learning
- Deep Learning
- Robotics
- Autonomous Driving
- Model Deployment
- Embedded Systems
- ONNX
- TensorRT
- ROS 2
- Docker
- Linux
- Multi-GPU Training
- Data Pipelines
Benefits
- Employee Stock Options
- Health And Wellness Benefits
- Paid Time Off
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Engineering
- Transportation
- Science & Research
Keywords
- Autonomous Driving
- Advanced Driver Assistance Systems
- Machine Learning
- Deep Learning
- PyTorch
- Python
- C++
- Robotics
- End-To-End Driving Policies
- Perception Models
- Multi-GPU Clusters
- Training Data
- Video Data
- CAN Bus
- Sensor Logs
- Embedded GPUs
- Embedded Accelerators
- ONNX
- TensorRT
- ROS 2
- Vehicle Software Stack
- Sensor Drivers
- Vehicle Interfaces
- Closed-Loop Simulation
- Docker
- Singularity
- Continuous Integration
- Reinforcement Learning
- Imitation Learning
- Behaviour Cloning