SAIC is seeking a full-stack Principal Software Engineer to join the Joint Range Extension (JRE) software development team. In this role, you will be responsible for designing, developing, and maintaining major new features and enhancements for the JRE suite of applications, while also contributing your expertise in tactical data link and command and control domains.
Responsibilities:
- Design, develop, and maintain major new features, enhancements, and integrations for the JRE suite of edge- and cloud-deployed client and server applications
- Develop and contribute deep domain expertise in the tactical data link, situational awareness, and command and control domains
- Refactor existing implementations to align with and meet future product needs
- Leverage your experience to contribute to architecture and implementation reviews of other engineers
Requirements:
- Bachelor's in computer science or a related field and nine (9) years or more of professional software engineering experience; Masters and seven (7) years or more of related experience; relevant experience to be substituted in lieu of degree
- 5+ years in a technical project lead role
- Must be a U.S. Citizen
- Must be able to obtain a Secret clearance after start
- Deep expertise in the Java platform; including fluency with Java, and familiarity with JVM languages such as Kotlin or Scala
- Thorough knowledge of object-oriented and functional design patterns; software design principles; refactoring techniques, code and test automation smells, and domain-driven design
- Experience with RPC and message-oriented distributed systems integration and related integration patterns
- Experience with network programming, networking protocols, and the low-level processing of binary data
- Proven experience developing and maintaining large-scale codebases (1M+ lines)
- Experience leading successful large-scale, phased refactoring projects
- Experience with dependency injection and the Spring family of frameworks, including Spring Boot, Spring Data, and Spring Security
- Team-based development experience via pairing or mobbing, and an eagerness to work collaboratively
- Test-driven development experience
- 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
- Experience developing systems built with Gradle
- Significant experience in the tactical data link and C5ISR domains, or in the development of comparable mission-critical, high-reliability, near-real-time systems
- Knowledge of MIL-STDs such as 6016, 6017, 3011, 6020, 6040, and 2525; tactical terminals and radios such as MIDS JTRS, STT, AN/ARC, and AN/PRC; GPS and inertial navigation systems protocols such as NMEA 0183 and GPS-153; avionics standards such as ARINC 429 and 661; and industry security standards such as DISA STIGs, and NIST SP 800-171 and 800-207
- Experience with native development with C, C++, or Rust
- Public contributions to open-source projects