Software Engineer - Entry Level
About the role
As a new Software Engineer, NSA has opportunities for you to contribute, learn, and grow in virtually any Computer Science focus area, including: Cybersecurity, High Performance Computing (HPC), Quantum Computing Research, Data Analytics, Machine Learning/Artificial Intelligence (ML/AI), Cryptology/Cryptography.
Applicants will be selected to go directly into a development program. NSA's development programs help employees enhance their skills and improve their understanding of a specific discipline. The programs are generally three years long and feature rotational tours throughout the Agency. Designed for entry level employees, development program participants are afforded the opportunity to receive tailored training, often with a cohort, and multiple assignments across Agency Directorates to develop skills and experience to ground their career at the NSA.
Applicants Will Be Considered For The Following Development Programs
Applied Computing Development Program - ACDP
Computer Science Development Program - CDP
Cybersecurity Engineering Development Program - CSEDP
For additional information on these development programs please visit: www.intelligencecareers.gov/NSA/nsadevprograms.html
Please upload a copy of your transcripts from all schools attended, prior to applying for this position. Unofficial transcripts are fine at this stage. The 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.
ENTRY/DEVELOPMENTAL
Entry is with a Bachelor's degree and no experience. An Associate's degree plus 2 years of relevant experience may be considered for individuals with in-depth experience that is clearly related to the position. The mission demands that NSA \ 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.).
The ideal candidate will reflect specialized skill 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
Responsibilities
- Contribute to various Computer Science focus areas including Cybersecurity, HPC, Quantum Computing Research, Data Analytics, and ML/AI
- Participate in a development program with tailored training and multiple assignments across Agency Directorates
Qualifications
- Bachelor's degree in Computer Science or Software Engineering
- Relevant experience in the software development process
- Strong background in advanced mathematics
- Proficiency in programming languages like C/C++, Python, and Java
Skills mentioned
About CNSS • National Security Systems
The CNSS provides a forum for the discussion of policy issues and is responsible for setting national-level Information Assurance policies, directives, instructions, operational procedures, guidance and advisories for U.S. Government (USG) departments and agencies for the security of National Security Systems (NSS) through the CNSS Issuance System. The CNSS is directed to assure the security of NSS against technical exploitation by providing: reliable and continuing assessments of threats and vulnerabilities and implementation of effective countermeasures; a technical base within the USG to achieve this security; and support from the private sector to enhance that technical base assuring that information systems security products are available to secure NSS.