Requirements:
- Bachelor’s degree in computer science (or equivalent).
- 5+ years professional development experience with C and C++.
- 3+ 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.
- Hands-on experience using AI coding assistants and agents in daily development (coding, testing, debugging, code review).
- Experience and/or interest to work with other programming languages (e.g., C#) is a strong asset.
- Experience with Java 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:
- 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.
- Participate in high level system design and implementation of significant new features.
- 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 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.
- 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.
- Apply agentic development workflows to day-to-day engineering and share effective practices with the team.
AI Fluency
All employees are expected to demonstrate AI fluency appropriate to their role and level, including responsible use of AI tools, sound judgment, and adherence to company AI governance and security policy standards.
Come work with us! Our team members are valued for their contributions, introduced to new opportunities, and rewarded well. Perforce combines the experience and rewards of a start-up with the security of an established and privately held profitable company.