SAIC is seeking a Principal-level Software Development Engineer 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
QUALIFICATIONS
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
SAIC® [http://www.saic.com/] is a premier mission integrator focused on
advancing the power of technology and innovation to serve and protect our world.
Our robust portfolio of offerings across the defense, space, intelligence, and
civilian markets includes secure high-end solutions in mission IT, enterprise
IT, engineering services, and professional services. We integrate emerging
technology, rapidly and securely, into mission critical operations that
modernize and enable critical national imperatives.
We are approximately 23,000 strong; driven by mission, united by purpose, and
inspired by opportunities. SAIC is an Equal Opportunity Employer. Headquartered
in Reston, Virginia, SAIC has annual revenues of approximately $7.3 billion. For
more information, visit saic.com [http://www.saic.com/]. For ongoing news,
please visit our newsroom [http://www.saic.com/who-we-are/newsroom/].