Lead Engineer, Embedded Software

TalentBurstFremont, CA
Hybrid

About The Position

The Lead Engineer, Embedded Software will drive the design and development effort of the current optical tracking system to the next generation. They will perform system analysis, identify improvements and root causes, debug and optimize algorithms, and design Client solutions as well as maintain the current code base. This position can be based in the Montreal, QC or Fremont, CA Office.

Requirements

  • BS in Computer Science or a related field; or equivalent experience.
  • 10+ years of experience in software engineering, including hands-on software development.
  • Proficiency in C++ programming in a real-time environment including multithreading with pThreads and higher-level concepts such as Task and Futures.
  • Strong working knowledge of object-oriented programming and design patterns.
  • Proficiency in a Real Time Linux environment.
  • Experience interfacing with electronic components.
  • Deep knowledge of the ARM platform.
  • Working knowledge of Python.
  • Working knowledge of how to interface with low-level hardware components such as temperature sensors, accelerometers and battery level sensors.
  • Familiarity with CI/CD, CMake, and Docker.
  • Excellent communication and documentation skills.
  • Knowledge of Good Manufacturing Practices (GMP) and applicable Quality System Standards.

Nice To Haves

  • Advanced degree in Computer Science or a related field.
  • Proficiency in designing communication frameworks and APIs using gRPC and REST.
  • Familiarity with control systems, especially PIDs.
  • Familiarity with Yocto.
  • Familiarity with multi-processor systems.
  • Ability to understand electronic schematics.
  • Theoretical knowledge of camera models, stereo vision and object tracking.
  • Experience in Agile/Scrum methodology.
  • Proficient in Python.
  • Familiarity or experience with regulatory environments, design controls, and 510(k) submissions.

Responsibilities

  • Design, implement, and test medium to large complex software in C++ for robotic surgical devices.
  • Work in a software team environment.
  • Work concurrently with design engineers and manufacturing engineers as designs are being developed and finalized.
  • Follow rigorous design control methodology and write concise requirements specification, architecture specifications, and design description, verification plans, and test cases, based on regulatory requirements.
  • Design and perform unit testing of software and assist in the verification and validation process of the complete design.
  • Manage schedules and meet and adhere to development goals.
  • Provide planning and status information to the project manager.
  • Execute agile development plans in accordance with department goals and objectives.

Benefits

  • medical
  • dental
  • vision
  • retirement options
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service