![](https://s3.amazonaws.com/handshake.production/app/public/assets/institutions/14388/feed_item/hs-emp-logo-NSA_GovSeal.png?1722275719)
Computer Science Development Programs - Entry to Mid Level (Maryland)
Responsibilities
The mission demands that NSA "see" the world through a different lens than any other organization. Our Computer Scientists face technical challenges well beyond the wildest imaginations of most people. NSA's mission requires persistent engagement to anticipate and understand complex threats in real-time, on a global scale. From Counter-Terrorism to Combat Support to Cybersecurity, NSA's Computer Science community creates novel, cutting-edge solutions that advance science and underpin every aspect of our foreign intelligence and cybersecurity missions. Solving these extraordinary problems allows NSA to share solutions with the world by contributing to open source, licensing patents, and publishing technical papers. 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 to mid-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 NSA Development Programs: CDP - Computer Science Development Program C2DP - Cryptanalytic Computer Network Operations Development Program CNODP - Computer Network Operations Development Program For additional information on these development programs please visit: www.intelligencecareers.gov/NSA/nsadevprograms.html For any questions regarding development programs, please email NSA_Development_Programs@uwe.nsa.gov. As an NSA computer science development program participant your responsibilities may include: - creating analytic applications that scale across multiple, very large, data sets from disparate sources - leveraging and integrating open source, commercial off-the-shelf, and government developed software - analyzing user/customer requirements related to software and/or software system design - building software prototypes - designing, developing, and debugging software applications - troubleshooting and debugging computer code - applying mathematical or computational methods and lines of reasoning to complex software systems - identifying target communications within the global network - designing and optimizing algorithms, data structures, modeling, and analytics to solve real-world scientific problems - solving cryptanalytic, high-performance computing, and computer network problems - leading new advances in computer science, such as: - microprocessor-based advances - beyond the horizon supercomputers - signals processing (including analog control) - user interfaces - deep learning - cybersecurity - design and implementation of encryption - advanced algorithms - detecting, identifying, and evaluating vulnerabilities in cyberspace systems and/or networks - developing software and/or hardware exploitation capabilities that enable collection of foreign intelligence from target networks and systems - designing solutions to defend against adversarial threats directed towards the US, to include cutting-edge technologies such as mobile, SCADA, and Internet of Things - analyzing sophisticated malware to thwart cyber attacks and identify new threats - developing methods and applications for tools to exploit and analyze computer systems
Job Summary
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 to mid-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.
Qualifications
NSA's computer science development programs are hiring for the following work roles: Cryptologic Computer Scientist (CDP), Cryptanalytic Computer Scientist (C2DP), and Capabilities Development Specialist (CNODP). The qualifications listed are the minimum acceptable to be considered for the position. 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. CRYPTOLOGIC COMPUTER SCIENTIST Degree must be in Computer Science (CS). Related fields (e.g., Engineering, Mathematics, Information Technology, Information Systems) 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 computer systems research; simulation/model development and prototyping; software design; programming; computational science; algorithm analysis and design; reverse engineering; or designing/developing computer or information systems, including engineering hardware and/or software. CRYPTANALYTIC COMPUTER SCIENTIST Degree must be in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering, Mathematics (including Applied Math); or a related field (e.g., other Engineering or Math) with at least one programming and at least four upper-level math classes (Calculus and above). Relevant experience must be in a computer science area (i.e., theoretical or applied), designing/developing/using/evaluating mathematic models, methods, and/or techniques (e.g., algorithm development) to study issues and solve problems, engineering (electrical or computer), cryptanalysis, computer network operations and/or high performance computing. CAPABILITIES DEVELOPMENT SPECIALIST: Degree must be in Computer Science (CS), Mathematics, Engineering, or a related field. Degrees in Information Technology, Information Systems, Information Security, Networking (Systems Administration), Information Assurance, or Cybersecurity 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 upper-level mathematics (for example, calculus, discrete mathematics). Relevant experience must be in one or more of the following: engineering hardware or software over their lifecycle (i.e., requirements analysis, design, development, implementation, testing, integration, deployment/installation, and maintenance), programming, vulnerability analysis, penetration testing, computer forensics, or systems engineering. Completion of military training in a relevant area such as JCAC (Joint Cyber Analysis course) will be considered towards the relevant experience requirement (i.e., 24-week JCAC course will count as 6 months of experience).
Competencies
The ideal candidate is someone who thrives on solving hard problems, has excellent communication and interpersonal skills, and is able to: - work independently as well as in a team environment to build solutions - handle multiple assignments - synthesize information to solve complex problems - apply knowledge of data structures and algorithms to software engineering problems - develop, diagnose, and operate complex computer systems - identify customer needs and validate product design Additionally, the ideal candidate is someone with knowledge and experience in one or more of the following: - programming and scripting experience (e.g., C, C++, Java, Assembly, Python, Perl, Ruby, Bash, Node.js, Spark, Puppet, SALT, KAFKA, HADOOP, VHDL, Verilog) - building user facing services, middleware, and backend systems - full-stack development - computer networking (e.g., communication protocols, distributed systems, Internet of Things, real-time systems, routing and switching) - protocol analysis (e.g. Wireshark, tcpdump) - data spaces, data modeling, data analysis, storage design, and administration - simulation/model development & prototyping - information retrieval, machine learning, artificial intelligence, statistics and analytics - hardware and software vulnerability analysis - software reverse engineering/interactive debugging tools (e.g., Ghidra, IDA Pro, Ollydbg, gdb) - hardware reverse engineering tools (e.g., JTAG, Oscilloscopes) - software development life-cycle (design, develop, implementation, debug, testing) - kernel and device driver development - network/socket programming - embedded systems development - operating systems - computational science - algorithm analysis and design - reverse engineering - cryptanalysis - high performance computing