Job at a glance
Job Title: C++ Software Engineer Job Description We are seeking multiple C++ Software Engineers to support a mission-critical submarine acoustic system, with a primary focus on software build, integration, and dependency management across a large-scale engineering environment. This role is ideal for engineers who enjoy solving complex technical problems, working in Linux-based systems, and contributing to the evolution of how large software systems are built, integrated, and delivered.
While this is not a traditional feature development position, it offers broad exposure to enterprise-scale software engineering challenges and can lead to future opportunities across multiple high-impact programs. Responsibilities Analyze and troubleshoot code dependencies, linking issues, and build behavior across a large C/C++ software environment. Debug and resolve complex software defects, build failures, and integration issues impacting system reliability and performance.
Investigate and solve software build and execution problems within Linux-based development environments. Collaborate closely with other engineers to improve software modularity, dependency management, and overall build efficiency. Evaluate and help shape future software development lifecycle processes related to build automation, dependency management, and pipeline modernization. Leverage tools such as Git, Make, and CMake, along with modern software development practices, in a collaborative engineering environment.
Contribute to continuous integration and delivery workflows, helping refine CI/CD pipelines and related build workflows. Document findings, solutions, and improvements to support knowledge sharing and long-term maintainability of the codebase. Essential Skills Strong professional experience in C and C++ software development. Solid understanding of C/C++ dependencies, linking, compilation, and build behavior in large codebases.
Hands-on experience working in Linux environments for development, debugging, and execution. Proven ability to debug complex, non-trivial software issues, including build and integration problems. Experience using Git in a collaborative development environment, including branching, merging, and code review workflows. Familiarity with CI/CD pipelines and software build workflows, with GitLab experience preferred.
Strong problem-solving skills and the ability to work independently in technically ambiguous environments. Proficiency in object-oriented programming principles and practices. Experience with debugging tools and techniques for C/C++ software. Additional Skills & Qualifications Experience with Make and/or CMake for build configuration and automation. Familiarity with modern C++ standards, ideally C++11 or newer.
Understanding of modern C++ concepts such as smart pointers, vectors versus arrays, heap versus stack allocation, templates, and contemporary memory management practices. Exposure to package and dependency management tools and experience supporting migration efforts to GitLab or similar CI/CD platforms. Familiarity with Agile development environments and collaboration tools such as Jira and Confluence.
Ability to work effectively in a large-scale, enterprise engineering environment with multiple stakeholders. Strong communication skills to explain complex technical issues and collaborate on solutions. Work Environment You will work in a large-scale, mission-critical engineering environment focused on submarine acoustic systems, where reliability, performance, and robust integration are paramount.
The role centers on Linux-based development and execution, with daily use of tools such as Git, Make, CMake, and CI/CD platforms like GitLab. You will collaborate with multidisciplinary engineering teams in an environment that values modern software development practices, continuous improvement of build and integration pipelines, and thoughtful dependency management. Work typically involves standard full-time hours, with an emphas