Summary
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, and countless others. If it is considered Computer Science, chances are good we have at least one team focused on it.
Duties
NSA is seeking Software Engineers to advance a number of high impact systems and teams. Opportunities change constantly, but recent needs include: large scale platform development (hardware and software, HPC, cloud); accessibility development (508 compliance); AI/ML; complex algorithms and cryptography.
As a Software Engineer at NSA, your work makes the world a safer place in countless ways including: saving lives of U.S. and allied soldiers; providing U.S. policy and decision makers with critical, timely intelligence; ensuring the continued safety of U.S. citizens and residents by thwarting foreign adversaries; and defending vital networks.
The Agency offers a work/life balance that is hard to beat, with flexible work schedules, generous leave policies, and a number of continuing education programs to help meet your long term career goals. The sheer breadth of technologies supported provides endless opportunity for broadening expertise and leadership growth.
Tools and technologies used evolve quickly, with systems and responsibilities spanning the full spectrum. More common tools and areas of interest include: 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 so much more. Beyond technical skills, we also need strong critical thinkers, collaborators, independent self-starters, continuous learners and flexible contributors. We look forward to hearing from you - what excites you and where you think you can make the most impact.
Please attach a copy of your transcripts from all schools attended, when applying for this position. Providing a copy of your transcripts is especially critical since the minimum qualifications for this position require a degree that demonstrates a concentration of Computer Science (CS) courses in foundational CS areas.
Requirements
Conditions of Employment
- All applicants and employees are subject to random drug testing in accordance with Executive Order 12564. Employment is contingent upon successful completion of a security background investigation and polygraph.
Qualifications
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.
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.
Education
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).
Benefits
A career with the U.S. government provides employees with a comprehensive benefits package. As a federal employee, you and your family will have access to a range of benefits that are designed to make your federal career very rewarding. Opens in a new windowLearn more about federal benefits.
Eligibility for benefits depends on the type of position you hold and whether your position is full-time, part-time or intermittent. Contact the hiring agency for more information on the specific benefits offered.
How You Will Be Evaluated
You will be evaluated for this job based on how well you meet the qualifications above.
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