About this role
SAIC is seeking a Principal-level Software Development Enginee r in test (SDET) to join the Joint Range Extension (JRE) software development team.
This is a REMOTE ROLE within the UNITED STATES. MUST BE A U.S. CITIZEN. This role will involve up to 10% of CONUS travel.
JRE is a combat-proven data link gateway that plays a vital role in the defense of the United States and our allies by extending the reach of tactical data across the battlespace and around the globe. It is a large, mission-critical, near-real-time system written predominantly in Java and Kotlin, and also includes C++ components. JRE is deployed everywhere from handheld devices and small-form-factor drones to strategic bombers, guided-missile destroyers, and global command-and-control centers.
As an SDET on the software development team, you'll work closely with other developers, as well as with testers and test engineers on the test team. Through test automation, you'll play an essential role in enabling rapid, agentically-developed, high-quality releases of JRE to meet the current and future mission needs of the warfighter.
Your impact will extend beyond the code you write yourself. You'll lead projects and build up the test engineering skills of the people you work with.
JOB DUTIES:
- Expand JRE's unit, integration, service, GUI, and end-to-end test automation
- Engineer and maintain a comprehensive automated performance test suite covering load, stress, and endurance testing; support our IT team with capacity planning for the hardware environment it requires
- Design, develop, and maintain advanced simulators for IP and serial tactical data link terminals, radios, navigation systems, and sensors
- Contribute to the definition and ongoing verification of minimum system requirements for JRE's full range of deployment platforms
- Refactor JRE code for testability, introducing API, RPC, and messaging seams to enable additional white- and gray-box testing
- Mentor developers, testers, and less-experienced test engineers in test automation best practices as we expand automated coverage across the codebase
- Optimize the performance and quality of our test automation suites
- Quarantine, troubleshoot, and fix nondeterministic tests
REQUIREMENTS:
Technical Qualifications
- Deep expertise in the JVM platform, including fluency with Java, and familiarity with JVM languages such as Kotlin or Scala
- Proven experience developing and maintaining high test automation coverage for large-scale codebases (1M+ lines)
- Experience with the verification of mission-critical, high-reliability, near-real-time systems
- Experience with JVM testing and mocking frameworks such as JUnit, AssertJ, Mockito, and MockK
- Familiarity with C++ and related test automation frameworks such as Doctest and Google Mock
- Experience with automated performance testing using tools such as JMeter or Gatling
- Solid understanding of concurrent programming on the JVM, including classic Threads, the Executor Framework, Futures and Promises, Virtual Threads, the Reactor framework, and Kotlin Coroutines
- Experience testing concurrent and asynchronous code, including with utilities such as Reactor Test and Kotlinx Coroutines Test
- Thorough knowledge of object-oriented and functional design patterns; software design principles; refactoring techniques, code and test smells, and domain-driven design
- Experience with RPC and message-oriented distributed systems
- Experience with network programming, networking protocols, and the low-level processing of binary data
- Experience leading successful large-scale, phased refactoring projects
- Experience mentoring developers and testers in test automation best practices
- Experience with dependency injection and the Spring family of frameworks, including Spring Boot, Spring Data, and Spring Security, and their related integration testing utilities
- Test-driven development experience, and team-based development experience via pairing or mobbing, with an eagerness to work collaboratively
- Experience designing and developing solutions iteratively and incrementally via Agile methodologies such as Scrum, Extreme Programming, or Lean Software Development
- Experience with continuous integration and modern deployment practices for edge and cloud systems, in Gradle-built projects
Credentials and Education
- Bachelor's or higher degree in computer science or a related field; nine (9) years or more of relevant experience. Years of experience to be substituted in lieu of degree
- Must be a U.S. citizenship
- Must be able to obtain a Secret clearance or higher after start
DESIRED SKILLS:
- Public contributions to open-source projects
- Familiarity with any of the following: Tactical data link standards such as MIL-STD-6016, MIL-STD-6017, MIL-STD-3011, MIL-STD-6020, MIL-STD-6040, MIL-STD-2525, MIL-STD-1553, etc.
- Tactical terminals and radios such as MIDS JTRS, STT, BATS-D, AN/ARC, and AN/PRC
- Navigation and avionics standards such as NMEA 0183, GPS-153, ARINC 429, and ARINC 661
- Security standards such as DISA STIGs, NIST SP 800-171, and NIST SP 800-207