Software Engineer
Role summary
We are seeking an engineer to support the Navy at NUWC, focusing on designing, maintaining, and modernizing a complex software delivery pipeline. This role involves building and managing CI/CD pipelines for large C/C++ codebases, compiling components using tools like Qt and protobuf, packaging software into RPMs, and provisioning system environments using virtualization and automation. Success requires strong engineering fundamentals, problem-solving skills, and the ability to troubleshoot complex build and infrastructure systems. The position sits at the intersection of software engineering, systems building, and infrastructure automation.
We are looking for an engineer to work out of NUWC in support of the Navy to help design, maintain, and modernize the delivery pipeline for a complex software system. Our pipeline compiles, packages, and deploys large C/C++ codebases and provisions complete system environments on virtual infrastructure. Success in this role requires strong engineering fundamentals, structured problem solving, and the ability to troubleshoot complex build and infrastructure systems. While familiarity with specific tools is helpful, the most successful engineers in this role demonstrate strong technical reasoning, curiosity, and the ability to learn new technologies quickly. This role sits at the intersection of software engineering, building systems, and infrastructure automation.
Role Responsibilities:
- Building and maintaining CI/CD pipelines for large C/C++ systems
- Compiling and linking components using tools such as Qt, protobuf, IDL, and related build tooling
- Packaging software and system dependencies into RPMs
- Provisioning system environments using virtualization, containerization and automated infrastructure
- Developing automation to provision and configure systems using tools such as KVM / QEMUo PXE boot Kickstart Podmano Ansible
- Improving and modernizing our infrastructure automation with tools such as: Terraform Cloud-init, Infrastructure-as-code practices, Improving pipeline reliability, observability, and developer transparency and collaboration
Preferred Requirements
- Experience in some of the following areas is helpful:
- Build & Packaging
- C/C++ build systems
- RPM packaging
- Gradle or other build automation tools
- Infrastructure & Provisioning
- Virtualization (KVM, QEMU)
- PXE boot environments
- Kickstart or automated OS provisioning
- Configuration management (Ansible)
- Podman/Docker
- Infrastructure-as-Code / Modern DevOps
- Terraform
- Cloud-init
- Infrastructure automation patterns
- AI-Assisted Development
- Experience using AI tools to accelerate development, debugging, and documentation
Pay: $80,000.00 - $110,000.00 per year
Benefits:
- 401(k)
- 401(k) matching
- Bereavement leave
- Dental insurance
- Flexible spending account
- Health insurance
- Health savings account
- Life insurance
- On-the-job training
- Paid holidays
- Paid time off
- Vision insurance
Work Location: In person
Similar roles
Senior Software EngineerNorthside Hospital · Atlanta, Georgia, United States · Onsite- Senior Software EngineerRandstad Digital Americas · North York, Ontario, Canada · Hybrid
Software EngineerConcord Servicing, LLC · Dallas, Texas, United States · Remote
Lead Software EngineerElanco · Lake County, Indiana, United States · Onsite
Software EngineerAMERICAN SYSTEMS · Fredericksburg, Virginia, United States · Onsite