
Principal Software Engineer
- Annapolis Junction, MD
- $209,000-234,000 per year
- Permanent
- Full-time
- Write software as part of a team performing development and enhancement of complex and diverse systems for cryptanalysis and signals analysis.
- Build/develop portions of the product, work with end user analysts to ensure you are meeting their requirements and help users with the tool as necessary.
- Bachelor's degree plus 11 years of relevant experience or Master's degree plus 9 years of relevant experience.
- An Associate's degree plus 13 years of relevant experience or high school diploma/GED plus 15 years of relevant experience may be considered for individuals with in-depth experience that is clearly related to the position
- Computer Science (CS) degree or related field
- Expertise in building and deploying software on Linux systems across multiple operating systems (i.e. CentOS7, RedHat 8, Rocky 9)
- Mastery of C++ standards (up to C++23) including advanced features; additional expertise in debugging and optimizing C++ systems for efficiency and resource utilization with tools such as valgrind
- Experience in managing git repositories, including the ability to create, rebase, and merge branches, as well as configure automated compiling and deployment of software tools
- Ability to cross-compile and resolve platform-specific issues using tools like GCC, Clang, etc.
- Work independently to design complex software routines, handle inter-process communications, design unit tests, and generate user and developer documentation.