Software Engineer - Mid to Experienced Level (Maryland)
Fort George G. Meade Complex, MD – GG pay plan, grades 11/1 to 14/10. Open: 2026-08-10, Close: 2026-08-23.
About the role
NSA is seeking experienced Software Engineers to advance high-impact systems and teams. Tools and technologies used evolve quickly, with systems and responsibilities spanning the full spectrum. Your work will protect the nation by providing U.S. policy and decision makers with critical, timely intelligence, thwarting foreign adversaries and defending vital networks.
As a Software Engineer at NSA, you can focus on virtually any area of computer science including cybersecurity, high-performance computing (HPC), quantum computing research, data analytics, machine learning/artificial intelligence (ML/AI), cryptology/cryptography, complex algorithms, large-scale platform development and many others. The sheer breadth of technologies NSA uses provides countless opportunities for broadening your expertise and leadership growth.
Responsibilities
- Develop, maintain, and enhance software across the full software development lifecycle (requirements analysis, design, implementation, testing, integration, deployment, and maintenance)
- Work with a wide range of technologies, including but not limited to:
- Languages: COBOL, C/C++, Java, Python, Rust
- Frameworks & platforms: Angular, React, PIG Analytics, Pyspark, cloud computing (AWS), containers (Docker, Kubernetes), Linux (VMWare), ElasticSearch
- Methodologies: Agile development, CI/CD, microservices, Ansible, clusters
- Domains: Digital forensics, incident response, quantum computing, cryptography
- Apply critical thinking, collaboration, and continuous learning to solve complex technical challenges
- Contribute to teams as an independent self-starter and flexible problem-solver
Requirements
Minimum qualifications require a degree that demonstrates a concentration of computer science (CS) courses in foundational CS areas. Unofficial transcripts from all schools attended must be uploaded prior to applying.
- Degree must be in Computer Science (CS) or Software Engineering
- Related fields (e.g., Engineering, Mathematics) may be considered if the program includes a concentration of courses in:
- Algorithms
- Computer architecture (not network architecture)
- Programming methodologies and languages
- Data structures
- Logic and computation
- Advanced mathematics (e.g., calculus, discrete mathematics)
- Relevant experience must be in the software development process and programming
Qualifications
- Full Performance:
- Bachelor’s degree plus 3 years of relevant experience, or
- Master’s degree plus 1 year of relevant experience, or
- Doctoral degree and no experience
- Associate’s degree plus 5 years of relevant experience may be considered for individuals with in-depth, clearly related experience
- Senior:
- Bachelor’s degree plus 6 years of relevant experience, or
- Master’s degree plus 4 years of relevant experience, or
- Doctoral degree plus 2 years of relevant experience
- Associate’s degree plus 8 years of relevant experience may be considered for individuals with in-depth, clearly related experience
Skills
- Strong background in advanced mathematics (number theory, abstract algebra, linear algebra, probability theory, discrete mathematics)
- Solid grasp of data structures, algorithms, operating systems, and computer architecture
- Proficiency in languages such as C/C++, Python, and Java
- Knowledge of symmetric and asymmetric cryptography, including hash functions, encryption, digital signatures, and key exchange
- Familiarity with protocols like TLS/SSL and network security principles for secure communications
- Understanding of hardware security modules (HSMs) and secure cloud computing platforms
- Experience with Security Information and Event Management (SIEM), intrusion detection systems (IDS), and vulnerability assessment tools
- Knowledge of cryptographic libraries, APIs, and adherence to security standards (NIST, ISO 27001, OWASP guidelines)
- Teamwork, leadership, and strong interpersonal skills
- Experience with COBOL or IBM mainframe is preferred
- Prior Intelligence Community experience is preferred
Use of industry norms is common, including Docker, AWS, GitLab, open source (see code.nsa.gov for examples), databases (both relational and non-relational), and various languages.
Pay
Salary offers are based on candidates' education level, years of experience, and information provided by the hiring manager regarding the work level for the position.
- Salary Range: $105,262 – $192,764 (Full Performance, Senior)
- Salary varies by location, work level, and relevant experience
Benefits
NSA offers a comprehensive benefits package.
Schedule
This is a full-time position, Monday – Friday, with a basic 8-hour/day work requirement between 6:00 a.m. and 6:00 p.m. (flexible).