Software Engineer (Build & Release)
Posted Updated
- We are looking for a Build & Release Software Engineer to join our team, focusing on the application software powering our satellite systems
- In this role, you will take ownership of our compilation infrastructure, continuous integration pipelines, and dependency management across large-scale C++ codebases running in Embedded Linux environments
- You will operate at the intersection of software engineering and developer infrastructure, helping improve developer velocity, reduce build and test times, and maintain stable, repeatable releases across both simulated and hardware-integrated systems
- Design, maintain, and optimize cross-platform build systems using tools such as CMake and Bazel
- Manage and upgrade compiler toolchains (GCC, Clang, etc.) while handling complex dependency graphs, third-party libraries, and internal package management
- Own, scale, and secure Continuous Integration and Continuous Deployment (CI/CD) workflows tailored for large-scale C++ applications
- Diagnose and optimize compilation and linking bottlenecks through caching, parallelization, and distributed build strategies
- Ensure seamless cross-compilation across multiple architectures including x86 and ARM
- Support testing in containerized and emulated environments using technologies such as Docker and QEMU
- Write robust tooling and automation scripts in Python and Bash for environment provisioning, static analysis, and artifact generation
- Partner closely with core C++ developers to improve modular architecture, dependency management, and overall build reliability
- Build reproducible and deterministic build and release environments across local development, CI, and hardware-integrated systems
- Experience working within Linux-based development environments
- Strong understanding of the C++ build, compilation, and linking lifecycle
- Advanced proficiency with CMake and GNU Make/Ninja
- Experience managing transitive dependencies and modular build targets
- 3+ years of experience focused on Build/Release Engineering, Developer Infrastructure, or DevOps supporting complex C++ codebases
- Strong Linux shell and scripting skills, including Bash
- Familiarity with modern C++ standards (C++17/20/23)
- Experience with Embedded Linux build systems such as Yocto or Buildroot
- To comply with U.S. Government space technology export regulations, applicant must be a U.S. citizen, lawful permanent resident of the United States (i.e. Green Card holder), or other protected individual as defined by 8 U.S.C. 1324b(a)(3)
- Experience with hardware emulation tools such as QEMU and containerization platforms such as Docker
- Background in embedded software development and/or aerospace systems
- Familiarity with GitLab CI workflows
- Experience with distributed build systems such as Bazel remote execution
- Knowledge of linker internals, symbol visibility, and binary analysis tools such as ldd, nm, objdump, and readelf
- Familiarity with static and dynamic analysis tooling including Clang-Tidy, AddressSanitizer (ASan), and SonarQube