Senior Algorithm engineer

QualcommNovi, MI
3d

About The Position

We are seeking a highly skilled Senior C++ Software Developer to join the Automated Driving Customer Functions team. In this role, you will design, develop, and validate modern C++ software for Driver Monitoring System (DMS) algorithms supporting features such as driver attention detection, fatigue assessment, gaze tracking, and behavioral analysis. This position requires strong expertise in modern C++ development, safety‑critical software practices, and real-time embedded environments. As a senior engineer, you will also provide technical leadership and mentorship, and support vehicle integration and production launch activities for ASIL-rated components.

Requirements

  • Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
  • OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 1+ year of Software Engineering or related work experience.
  • OR PhD in Engineering, Information Systems, Computer Science, or related field.
  • 2+ years of academic or work experience with Programming Language such as C, C++, Java, Python, etc.

Nice To Haves

  • 5+ years of hands-on technical C++ experience (C++14 or newer preferred)
  • Experience in ADAS, Driver Monitoring, or related automotive domains
  • Strong foundation in linear algebra, geometry, and spatial coordinate transformations
  • Understanding of vehicle dynamics principles
  • Experience with QNX or other real-time operating systems
  • Additional programming experience in Python, Java, or C#
  • Familiarity with ISO 26262 functional safety standards

Responsibilities

  • Develop, optimize, and validate driver monitoring algorithms related to driver attention, fatigue, gaze focus, and other behavioral indicators
  • Collaborate with cross-functional teams to design, implement, verify, and deploy software components
  • Provide mentorship and technical guidance to junior engineers
  • Lead and influence software architecture for computationally intensive, resource‑constrained C++ modules
  • Drive the full software development lifecycle, ensuring compliance with safety‑critical coding standards
  • Implement and maintain key software components while effectively communicating technical details to stakeholders
  • Analyze test execution results and ensure software behavior aligns with requirements
  • Research, evaluate, and integrate new tools, frameworks, and best practices into the codebase
  • Maintain thorough documentation for algorithm design decisions and implementation details
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service