Job Summary
The Embedded C/C++ Developer will join a cross-functional team focused on evaluating and modernizing a large, complex legacy software codebase and its CI/CD pipeline. The role will contribute to developing a strategic roadmap that enables modular builds, identifying technical obstacles, and implementing effective modernization approaches while collaborating with stakeholders to validate proposed enhancements.
Key Responsibilities
• Evaluate a large, complex legacy codebase and assess the existing CI/CD pipeline.
• Develop a strategic roadmap for modernizing the codebase to enable modular builds.
• Collaborate with cross-functional teams and stakeholders to validate the quality and effectiveness of proposed enhancements.
• Identify technical obstacles related to technical debt and system requirements and develop appropriate solutions.
• Build expertise with existing shared CI/CD capabilities and determine how they can be integrated into proposed build enhancements.
• Support modernization efforts involving build automation, testing, and software delivery processes.
Required Qualifications
• Ability to obtain and maintain a Department of Defense Secret security clearance as a condition of employment.
• Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, or a comparable STEM discipline.
• Proficiency in modern C/C++, including C++11/14/17 or later.
• Hands-on development experience on Linux operating systems and command-line toolchains.
• Experience with CI/CD pipelines such as Jenkins, GitLab CI, or Azure DevOps for compiling, testing, and delivering C/C++ projects.
Preferred Qualifications
• Experience with GitLab and various CI/CD pipeline strategies.
• Experience architecting and designing large, complex legacy software systems using Java, C, and/or C++.
• Experience with automation and DevOps, including CI/CD definition, Infrastructure as Code, automated testing, and release pipeline construction.
• Strong interpersonal and communication skills for collaboration across teams.
• Experience designing, implementing, and delivering microservices solutions.
• Strong problem-solving skills with the ability to perform technical trade-off analyses.
• Experience with API design and integration, including REST, gRPC, GraphQL, and OpenAPI.
• Experience with static application security testing tools such as Fortify or comparable solutions.
• Familiarity with binary management repositories such as Artifactory or Nexus.
• Proficiency in modern software development methodologies, including Agile, Scrum, and DevOps practices.