21 Sep
|
Vivid Machines
|
Toronto
21 Sep
Vivid Machines
Toronto
- As a Senior Engineer, you will have the opportunity to work on challenging problems throughout our software stack, designing and developing robust and scalable solutions across embedded systems, cloud, and mobile
- You’ll be collaborating with our multidisciplinary team to create an amazing product and solve one of the world’s most key problems
- Do you love solving complex problems, and want to see your work applied in real life?
- We are looking for people who are self-directed and driven by a desire for excellence as much as by curiosity and a desire to learn by solving previously unsolvable problems
- Own the capture and inference pipeline. Multi-camera video from sensor to model to storage. No copies, no dropped frames, and it stays that way as resolution and model complexity go up
- Make heavy vision models run in real time on hardware you can’t upgrade. Fixed power and thermal budget
- Bring up cameras and sensors at the driver level
- Turn sensor data into geometry. Fuse vision, position and motion into per-tree geolocation you can defend against surveyed ground truth
- Make field problems reproducible at a desk. Replay of real scans, synthetic sources, on-device CI, regression tests against ground truth. Verify the fix before it ships
- Identify problems before our customers do: frame drops, latency, thermal and power headroom, sensor health, storage. The camera must notice its own problems
- Take our next generation platform from hardware definition to shipping product, help decide what that hardware should be
- Ship to a remote fleet that’s online intermittently- Experience with cameras and sensors at a low level. Image sensors, capture drivers, timing and synchronization, I2C/SPI/GPIO peripherals
- Experience making a distributed or embedded system observable: metrics and logs from devices you can’t reach, dashboards and reports someone other than the author will use, and accuracy or quality tracked over time rather than measured once
- Comfort with Linux as an embedded platform: kernel customization and debugging, containers, cross-compilation
- Hands-on experience deploying vision models to edge devices
- Strong systems programming ability in a compiled language, such as C, C++, or rust, and real comfort at the boundary between application code, drivers and hardware
- Self-direction. This is a small, distributed team; the person in this role will often be the one who decides what “done” means
- Experience building real-time streaming media or vision pipelines. Buffer management, latency and throughput, backpressure, zero-copy memory, and the discipline to profile instead of guess
- Streaming or event-based frameworks, such as ROS or gstreamer, including writing custom elements
- And corresponding profiling and performance optimization techniques
- Embedded vision processors and neural network accelerators
- Kalman filtering, multi-object tracking, and geometric state estimation or photogrammetry
- Telemetry and observability pipelines, time-series metrics, and building dashboards or automated reporting on top of them
- Agriculture, robotics, autonomy, or any other domain where the physical world refuses to cooperate
📌 Senior Software Engineer (Embedded Vision Systems) (Toronto)
🏢 Vivid Machines
📍 Toronto