C++ Software Engineer - Machine Vision (AOI)
- Vancouver, BC, Canada
$90,000 to $120,000 CAD / year · Full-time
Applications open in a new tab.
Job details
- Pay
- $90,000 to $120,000 CAD / year
- Job type
- Full-time
- Apply by
- Posting language
- English
- Posted
Original job description
About DaoAI
DaoAI Robotics builds AI-native Automated Optical Inspection (AOI) systems for SMT/EMS electronics manufacturing. Our SMT AOI system is already running on customer production lines, inspecting component placement and solder quality inline on PCBA lines. We’re now in a phase of fast feature refinement and rapid iteration - and we’re growing the team.
The Role
You’ll join our existing R&D team and work alongside the tech lead and senior engineers on the core of the product: a modern C++ image-acquisition and inspection engine, paired with a React.js frontend for inspection programming, live monitoring, defect review and analytics.
We fully embrace AI-assisted development - the team uses code agents such as Claude Code and Codex every day.
What You’ll Do
- Design, develop and maintain backend modules of the AOI software platform in modern C++ (C++17).
- Work with the hardware, vision-algorithm and frontend teams on integration and business logic, including automatic inspection programming and inspection logic.
- Contribute to the inspection algorithm library (2D/3D measurement, alignment, image stitching) with guidance from senior engineers.
- Optimize algorithms and system architecture for speed, memory efficiency and stability on multi-core CPUs.
- Build and maintain backend APIs for the web frontend (REST, SSE) and between services (gRPC/Protobuf).
- Take part in architecture design, code reviews, CI and automated testing.
- Work cross-functionally to diagnose and resolve performance and stability issues in production.
What You Bring
- Bachelor’s degree or higher in Computer Science, Electrical/Computer Engineering, or a related field.
- 3+ years of professional development in modern C++ (C++11/14/17).
- Solid fundamentals: OOD, multithreading, STL, memory management; familiarity with PostgreSQL.
- Hands-on with AI coding tools (Codex, Claude Code, Cursor, etc.).
- Classical computer vision with OpenCV (color spaces, thresholding/morphology, contour analysis, template matching) and a grounding in 2D/3D geometry (geometric transforms, least-squares fitting).
- Strong debugging skills - you can independently chase down complex defects, performance bottlenecks and field issues.
- Proficient in Python for tooling/automation, and in Git.
- Understanding of RESTful APIs or similar frontend–backend communication.
Nice to Have
- Experience in machine vision, AOI or electronics manufacturing.
- Knowledge of SMT processes and common solder/placement defects (insufficient/excess solder, bridging, open/cold joints, tombstoning, misalignment).
- Image processing, structured light, 3D reconstruction or 3D metrology.
- Robust statistics (RANSAC, median/quantile methods) or numerical libraries such as Eigen or Ceres.
- Windows C++ development and debugging (Visual Studio/MSVC, crash dumps, WinDbg).
- CI/CD and automated testing workflows.
- Large-scale industrial software or equipment-control projects.
Why Join
- Ship code that runs on real factory lines - and see the impact directly.
- Small, senior team with an AI-first engineering workflow.
- Work across C++, vision, 3D metrology and production systems.
Compensation & Location
- Salary range: $90,000 – $120,000 CAD per year, based on experience.
- Full-time, hybrid in Vancouver, BC.
More about this job
Responsibilities
Develop and maintain modern C++ backend modules for an AOI platform, integrating inspection programming and logic with hardware, vision, and frontend systems. Contribute to vision algorithms and APIs, optimize performance and stability, and participate in architecture, code reviews, CI, testing, and production troubleshooting.
Requirements
Requires a bachelor's degree or higher in computer science, electrical/computer engineering, or a related field, plus at least three years of modern C++ development experience. Candidates should have strong C++ fundamentals, OpenCV and geometry knowledge, Python and Git proficiency, familiarity with PostgreSQL and APIs, experience using AI coding tools, and strong debugging skills.
Skills
- Modern C++
- Computer Vision
- OpenCV
- Multithreading
- Object-Oriented Design
- Memory Management
- PostgreSQL
- AI Coding Tools
- 2D/3D Geometry
- Python
- Git
- REST APIs
- gRPC
- Protobuf
- Automated Testing
- Performance Optimization
Visa sponsorship
Not detected in the job text
Categories
- Software
- Technology
- Engineering
- Manufacturing
Keywords
- C++17
- C++11
- C++14
- Automated Optical Inspection
- AOI
- SMT
- EMS
- PCBA
- OpenCV
- Computer Vision
- Image Acquisition
- Image Stitching
- 2D/3D Measurement
- Geometric Transforms
- Least-Squares Fitting
- Multithreading
- STL
- Memory Management
- PostgreSQL
- Python
- Git
- REST
- Server-Sent Events
- gRPC
- Protobuf
- Claude Code
- Codex
- React.js
- Eigen
- Ceres