← Browse all jobs
S

Embedded Software Engineer

Suru
Montreal, QuebecOn-site$145k – $165k2 days ago
Apply Now →

About this role

Lead Embedded Software Engineer (Real-Time Systems / C++) Job Descriptio n We are seeking a Lead Embedded Software Engineer to support the development of next-generation robotic and optical tracking technologies used within an advanced surgical platform. This individual will be responsible for developing, maintaining, and improving complex embedded software systems responsible for real-time hardware control, camera integration, device tracking, and system performanc e. This is a highly technical, hands-on software engineering role focused on embedded Linux development, real-time software architecture, hardware interfacing, and complex multi-threaded systems. The ideal candidate will have deep C++ expertise and experience developing software that interacts directly with hardware in environments where precision, timing, and reliability are critic al. Despite the title, this is not a people-management role. The "Lead" designation reflects technical ownership and problem-solving responsibility rather than direct supervisory responsibilities. The team is seeking someone who wants to tackle difficult technical challenges and help drive a complex product platform to the next le vel. Medical device experience is not required. Candidates from robotics, aerospace, automotive, industrial automation, computer vision, imaging systems, or other hardware-centric software environments are strongly encouraged to a pply. Day- • to-Day Design, develop, and maintain embedded software for advanced tracking and robotic • systemsDevelop software primarily in C++ within embedded Linux envir • onmentsSupport real-time software applications responsible for hardware communication, device tracking, and system • controlDevelop and maintain multi-threaded and multi-process software archit • ecturesInterface directly with hardware components, sensors, cameras, and embedded • systemsTroubleshoot complex software, hardware, and system-level • issuesAnalyze existing software systems and identify opportunities for performance improvements and optim • izationCollaborate with systems, electrical, mechanical, manufacturing, and software engineerin • g teamsSupport software verification, validation, testing, and debugging act • ivitiesContribute to software architecture, design documentation, and development p • lanningSupport next-generation development efforts while maintaining existing product pl atforms Requirements / Qualif ications • RequiredBachelor's degree in Computer Science, Software Engineering, Electrical Engineering, or related technical d • iscipline8+ years of software development e • xperienceStrong expertise in C++ software de • velopmentExperience developing software within embedded Linux env • ironmentsExperience with real-time softwar • e systemsStrong experience developing multi-threaded and multi-process app • licationsExperience interfacing software with hardware devices, sensors, cameras, or embedded el • ectronicsStrong understanding of object-oriented programming and software arc • hitectureExperience troubleshooting and debugging complex system-lev • el issuesStrong communication and collaborati on skills • PreferredExperience with robotics, camera systems, computer vision, optical tracking, imaging systems, or autonomo • us systemsExperience working with ARM-based • platformsExperience with hardware communication protocols and low-level hardware i • nteractionExperience with Python • scriptingExperience with control systems, PID control, or motion contr • ol systemsExperience with gRPC, REST APIs, or communication • frameworksExperience with CI/CD, Docker, CMake, Yocto, or embedded build en • vironmentsExperience with multi-process • or systemsExperience working in regulated industries such as medical device, aerospace, automotive, or industrial • automationFamiliarity with Agile development en vironments
Want to see how well you match this job?
Get AI-scored for free →