Software Development Engineer in Test
Posted Updated
- As a Software Development Engineer in Test (SDET), you will play a critical part in ensuring the quality and accuracy of our software systems
- You will work side-by-side with software developers to write production-grade Python and C++ test code for core components in distributed cloud and edge systems
- Your primary focus will be engineering robust test suites, building deterministic test harnesses, and ensuring our core logic is thoroughly validated across all of our systems
- Develop Production-Grade Test Code: Architect, write, and maintain clean, performant, and scalable C++ unit/integration test suites (GoogleTest/Catch2) for complex numerical and navigation logic, alongside Python integration tests for end-to-end system workflows
- Execute Integration & E2E Testing: Collaborate closely with infrastructure engineers to write integration and end-to-end tests that interact directly with live or staged AWS resources and Kubernetes container environments
- Build Test Harnesses & Mocks: Design deterministic test harnesses, mock frameworks (e.g., catch2, Python pytest), and simulation utilities to test hard-to-reach edge cases without relying on live production environments
- Validate C++/Python Interop: Test and validate C++/Python binding layers to ensure seamless, error-free data transfer between core C++ algorithms and higher-level Python systems
- Integrate with Build & CI Tools: Write and maintain Bazel test targets and interface with GitLab CI/CD pipelines to ensure automated test suites execute cleanly and deterministically on every commit
- Code Coverage & Quality Enforcement: Measure, track, and analyze code coverage metrics (gcov/lcov, Bazel coverage) to surface untested logic paths and establish strict quality gates
- Failure Triage & Deep-Dive Debugging: Lead root-cause analysis on complex, non-deterministic test failures or regressions, collaborating directly with core developers to fix underlying software bugs
- This role is for an engineer who treats test software with the exact same rigor, design standards, and architectural hygiene as production application code
- Strong Python Proficiency: Experience building integration test suites and using test frameworks like Pytest within collaborative, Git-based workflows
- Software Hygiene: Proven ability to write clean, maintainable, modular test code following standard production software practices
- Bachelor’s degree in computer science, Computer Engineering, Software Engineering, or equivalent practical experience
- Code Coverage & Tooling: Practical experience tracking and enforcing code coverage metrics (gcov/lcov, Bazel coverage tools)
- CI Integration: Practical experience with CI/CD pipeline configuration and management
- 3+ years of professional experience as an SDET, QA Engineer or Software Engineer with a primary focus on automated test development
- Strong C++ Proficiency: Hands-on experience writing unit/integration tests, mocking components (e.g., gMock), and working with existing C++ codebases handling complex algorithmic, spatial, or numerical logic
- Distributed Systems Testing: Experience testing multi-service, cloud, or hybrid distributed environments
- Experience working with containerized testing environments (Docker / Kubernetes)
- Prior experience in Aerospace, Defense, GNSS/PNT, or High-Reliability software environments
- Experience testing low-level interop or binding layers (e.g., nanobind, pybind11, ctypes, or gRPC/Protobuf interfaces)
- Experience with deterministic simulation, log playback, or hardware-in-the-loop (HIL) testing approaches
- Experience with the Bazel build system or its relatives (Buck2, Pants)
- Experience with GitLab CI/CD pipeline configuration