Job Information
Qualcomm Incorporated Senior Algorithm engineer in Novi, Michigan
General Summary:
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.
Minimum Qualifications:
Bachelor's degree in Engineering, Information Systems, Computer Science, or related field and 4+ years of Software Engineering or related work experience. OR Master's degree in Engineering, Information Systems, Computer Science, or related field and 3+ years of Software Engineering or related work experience. OR PhD in Engineering, Information Systems, Computer Science, or related field and 2+ years of Software Engineering or related work experience.
• 2+ years of work experience with Programming Language such as C, C++, Java, Python, etc.
Preferred Qualifications:
- 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
Tools and Technologies
- Agile development frameworks (Scrum, LeSS, SAFe)
- C++14+, Python, Java, C#
- Debuggers, IDEs, and compilers
- AUTOSAR (Classical and Adaptive)
- Code management and CI tools: Git, Jira, Artifactory
- Static analysis tools
Principal Duties and 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
Qualcomm is an equal opportunity employer. If you are an individual with a disability and need an accommodation during the application/hiring process, rest assured that Qualcomm is committed to providing an accessible process. You may e-mail or call Qualcomm's toll-free number found here. Upon request, Qualcomm will provide reasonable accommodations to support individuals with disabilities to be able participate in the hiring process. Qualcomm is also