Requirements
Bachelor’s degree in computer science (or equivalent).
13+ years professional development experience with C and C++.
7+ years in an Agile/Scrum development environment.
Development experience in both Windows and Linux environments.
Experience with static analysis, compilers, or program analysis concepts.
Strong fundamentals in data structures and algorithms; ability to design efficient solutions.
Proven experience leading adoption of AI and agentic development workflows in engineering teams.
Experience and/or interest to work with other programming languages (e.g., Java, C#) is a strong asset.
Strong knowledge and experience with compilers or static code analysis (e.g., parsers, ASTs, control-flow and data-flow analysis) is a strong asset.
Familiarity with coding standards such as MISRA C/C++, AUTOSAR C++14, CERT C/C++ and CWE is a strong asset.
- Experience working on complex software features and systems with a high degree of technical ownership, including influencing technical direction across teams.
- Responsibilities:
- Experience in applying AI and agentic development approaches to improve developer productivity and product capabilities.
Ability to design and integrate AI-powered agents responsibly into existing tooling, including evaluation, observability, and safe handling of customer/code data.
Drive adoption of AI and agentic development practices across teams, including guardrails for safe use.
Collaborate with other engineers to develop and enhance a wide range of static code analysis tools.
Independently lead and own complex features and technical initiatives from design through delivery.
Lead technical direction and architecture for major initiatives across teams, and help shape the Static Analysis roadmap.
Participate in high level system design and implementation of significant new features.
Drive technical decisions and engineering best practices across teams.
Proficiency with efficient algorithm design, data structures and design patterns.
Plan and develop tests on software changes and new features.
Maintain existing software through bug fixes and enhancements.
Create clean, well-tested code and deliver the highest quality software.
Provide task estimates and accurately report progress as part of an Agile process.
Peer-review the work of other software designers.
Mentor engineers, including senior and principal engineers, and provide technical guidance to help solve complex technical problems.
Demonstrate strong problem-solving and debugging skills, with the ability to independently resolve complex technical issues.
Clearly and regularly communicate with management and technical support colleagues on project status, potential issues and progress.
- Demonstrate understanding of projects from both client and business perspectives.
- AI Fluency
- Owns autonomous or semi‑autonomous AI systems end‑to‑end, establishes governance and monitoring, manages ethical and compliance risk, and advises leadership on AI strategy.