Software Engineer
Job Description
What we offer
- Flexible work schedules
- Generous leave policies
- Opportunities for continuing education
- A comprehensive benefits package
Compensation ranges from $105,262 to $192,764 per year for full performance and senior levels. The exact figure depends on location, work level, and relevant experience.
Role overview
This position provides the chance to work on high impact systems across domains such as high performance computing, cloud, accessibility, artificial intelligence and machine learning, cryptography, and more. You will have the opportunity to contribute across the software lifecycle and pursue ongoing learning across diverse computer science focus areas.
What you will do
- Contribute to high impact systems spanning domains including HPC, cloud, accessibility, AI/ML, and cryptography
- Engage across the software lifecycle, including requirements analysis, design, implementation, testing, integration, deployment, and maintenance
- Collaborate across multiple CS focus areas and pursue continuous learning and growth
Qualifications and requirements
- Degree in Computer Science or Software Engineering. Related fields may be considered if they include a concentration in foundational CS areas such as algorithms, computer architecture (not network architecture), programming methodologies and languages, data structures, logic and computation, and advanced mathematics (e.g., calculus, discrete mathematics)
- Relevant experience in the software development process and programming
- Entry levels:
- Full Performance: Bachelor's degree plus 3 years of relevant experience, or a Master's degree plus 1 year, or a Doctoral degree with no experience
- Associate's degree plus 5 years of relevant experience may be considered for individuals with in-depth related experience
- Senior: Bachelor's degree plus 6 years of relevant experience, or Master's degree plus 4 years, or Doctoral degree plus 2 years
- Doctoral degree aligns with eligibility for specific entry levels; in some cases, it may fulfill senior level requirements with minimal or no additional experience
Technologies and competencies
- Technologies: COBOL, C, C++, Java, Python, Rust, Angular, React, Pig Analytics, PySpark, CI/CD, Docker, Kubernetes, AWS, Linux, ElasticSearch, IBM mainframe, relational and non-relational databases, GitLab, Open Source, TLS/SSL, hardware security modules (HSMs), SIEM, IDS, vulnerability assessment tools, cryptographic libraries, APIs, NIST, ISO 27001, OWASP guidelines
- Competencies: teamwork, leadership, strong interpersonal skills, and prior IC experience preferred
- Strong mathematical background with emphasis on advanced mathematics, data structures, algorithms, operating systems, and computer architecture
- Knowledge of both symmetric and asymmetric cryptography, hash functions, encryption, digital signatures, and key exchange
- Familiarity with secure communications, TLS/SSL, and secure computing platforms including hardware security modules
- Experience with SIEM, IDS, and vulnerability assessment tools; adherence to security standards and cryptographic libraries and APIs
Work terms, schedule, and eligibility
- Salary and employment terms vary by location and experience
- Full-time work schedule, Monday through Friday, with an 8-hour day between 6:00 a.m. and 6:00 p.m. (flexible)
- DCIPS trial period of two years, or one year for veterans preference eligible employees; the trial runs concurrently with the position
- Employment contingent on successful completion of a security background investigation and polygraph; random drug testing applies
- U.S. Citizenship required; NSA is an equal opportunity employer and provides reasonable accommodations during the application and hiring process
How to apply
- Submit your application promptly, as postings can close earlier than listed due to changing requirements
- Review the minimum qualifications; only applicants meeting them will be contacted
- Populate the resume tool with relevant work experience and education, and answer applicable screening questions
- Upload transcripts from all schools attended (unofficial transcripts are acceptable at this stage); providing transcripts is essential to verify the CS concentration
- You will receive a confirmation email after the first submission and after any updates to your application
- Configure spam filters to accept messages from [email protected]
Narrative questions
- The four narrative questions provide an opportunity to highlight your dedication to public service. Responses should be up to 200 words per question and must be your own words without AI assistance; you will attach your answers during the application