What are the responsibilities and job description for the C++ Software Engineer (AI modernization) position at McLaren Strategic Solutions (MSS)?
We are looking for an experienced C Engineer to lead the modernization of a legacy C application into a modular, maintainable, and scalable product. This role is unique in its integration of Generative AI.
You will partner with a GenAI engineering team to reverse-engineer complex codebases and define strategies for forward-engineering into modern languages.
Responsibilities
- Partner with GenAI teams to trace execution paths, uncover implicit behaviors, and identify side effects within large legacy monoliths.
- Build comprehensive system documentation, including component diagrams, sequence flows, dependency maps, and API contracts derived from existing code.
- Define the target architecture and migration phases, using patterns such as the Strangler Fig Pattern for incremental re-platforming.
- Create and refine LLM prompts and retrieval contexts to accelerate code understanding, while validating GenAI outputs to ensure functional parity.
- Convert legacy C constructs (memory handling, concurrency, state management) into modern equivalents in the target language.
- Identify hidden dependencies and concurrency hazards. Ensure the new system meets SLAs for performance, security, and observability.
- Drive characterization testing and build regression suites and "golden datasets" to verify behavior during migration.
Required Experience
- 5 years of experience with C , including Modern C (C 11/14/17; C 20 preferred).
- Proven track record of modernizing large, tightly-coupled code bases.
- Strong mastery of OOP, SOLID principles, and clean architecture.
- Advanced skills using gdb, lldb, or Visual Studio debugger for crash analysis and core dumps.
- Proficiency with CMake is strongly preferred.
- Strong grasp of data structures, algorithms, and performance optimization.