user avatar

Software Engineer

NSA

Posted today

Job Requirements

Fort George G Meade, MD
Clearance Unspecified Polygraph Unspecified
Mid Level Career (5+ yrs experience)
Salary not specified
Join Premium to unlock estimated salaries

Job Description

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. Common tools and areas of interest include: COBOL, C/C++, Java, cloud computing, Angular, React, Python, PIG Analytics, Pyspark, agile development, continuous integration/continuous delivery (CI/CD), containers and Docker, Kubernetes, Amazon Web Services (AWS), Linux (VMWare), ElasticSearch, Rust, micro services, Ansible, clusters, digital forensics, incident response, quantum and more.

Beyond technical skills, we need strong critical thinkers, collaborators, independent self-starters, continuous learners and flexible contributors. We look forward to hearing from you about what excites you and where you think you can make the most impact.

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.

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.

**Note: Please upload a copy of your transcripts from all schools attended into your Candidate Profile, prior to applying for this position. Unofficial transcripts are fine at this stage. Minimum qualifications for this position require a degree that demonstrates a concentration of computer science (CS) courses in foundational CS areas.**

The qualifications listed are the minimum acceptable to be considered for the position.

Degree must be in Computer Science (CS) or Software Engineering. Related fields (e.g., Engineering, Mathematics) may be considered relevant if the programs contain, at minimum, a concentration of courses in the following foundational CS areas: algorithms; computer architecture (not network architecture); programming methodologies and languages; data structures; logic and computation; and advanced mathematics (for example, calculus, discrete mathematics).

Relevant experience must be in the software development process (i.e., requirements analysis, software design, implementation, testing, integration, deployment/installation, and maintenance) and programming.

FULL PERFORMANCE
Entry is with a Bachelor's degree plus 3 years of relevant experience or a Master's degree plus 1 year of relevant experience or a Doctoral degree and no experience. An Associate's degree plus 5 years of relevant experience may be considered for individuals with in-depth experience that is clearly related to the position.

SENIOR
Entry is with a Bachelor's degree plus 6 years of relevant experience or a Master's degree plus 4 years of relevant experience or a Doctoral degree plus 2 years of relevant experience. An Associate's degree plus 8 years of relevant experience may be considered for individuals with in-depth experience that is clearly related to the position.

Competencies
With a broad range of positions available, tools, platforms and methodologies used will vary from one team to another.

Use of industry norms is common, including, but not limited to: Docker, AWS, GitLab, open source (see code.nsa.gov for examples of NSA contribution), databases (both relational and non-relational), various languages (Java, C, C++, Python, etc.). Candidates with experience in COBOL or IBM mainframe are preferred.

The ideal candidate will have specialized skills or interest in one or more of the following skills/technologies:

- Strong background in advanced mathematics (i.e., number theory, abstract algebra, linear algebra, probability theory and discrete mathematics)
- Solid grasp of data structure, algorithms, operating systems and computer architecture.
- Proficiency in languages like C/C++, Python and Java
- Knowledge of both 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 other secure computing (cloud) platforms
- Familiarity with Security Information and Event Management (SIEM), intrusion detection systems (IDS) and vulnerability assessment tools
- Knowledge using cryptographic libraries, APIs and adherence to security standards (NIST, ISO 27001 and OWASP guidelines)
- Teamwork
- Leadership
- Good interpersonal skills
- Prior Intelligence Community experience preferred

Pay, Benefits, & Work Schedule
Pay: Salary offers are based on candidates' education level and years of experience relevant to the position and also take into account information provided by the hiring manager/organization regarding the work level for the position.
group id: 10470536