You are viewing a preview of this job. Log in or register to view more details about this job.

Computer Scientist - Development Programs - Entry/ Mid-Level

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 one of the following NSA's Development Programs:

CDP - Computer Science Development Program
C2DP - Cryptanalytic Computer Network Operations Development Program
CNODP - Computer Network Operations Development Program
CSEDP - Cybersecurity Engineering Development Program
ITDP - Information Technology Development Program

For additional information on these development programs please visit: www.intelligencecareers.gov/NSA/nsadevprograms.html.

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

Does solving unique problems energize you? Do you like to create distinctive solutions? The difference between NSA Computer Scientists and others are the problems we MUST solve. Our culture believes in solving "unsolvable" problems, which we do by creating new science and new technologies not yet discovered, that will protect and advance our Nation in the 4th Industrial Revolution. Are you ready for the challenge? Are you fearless? ...then click to read more!

Qualifications

Salary Range: $73,076 - $91,057 (Entry/Developmental)

*The qualifications listed are the minimum acceptable to be considered for the position. 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.

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.

Degree must be in Computer Science (CS). 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). Information Technology (IT) or Information Systems (IS) degrees may be considered relevant if the programs contain the amount and type of coursework equivalent to a CS major.

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

Salary Range: $84,529 - $113,362 (Full Performance)

*The qualifications listed are the minimum acceptable to be considered for the position. 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.

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.

Degree must be in Computer Science (CS). 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). Information Technology (IT) or Information Systems (IS) degrees may be considered relevant if the programs contain the amount and type of coursework equivalent to a CS major.

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

Competencies

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., 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

Pay, Benefits, & Work Schedule

On-the job training, Internal NSA courses, and external training will be made available based on the need and experience of the selectee.

Monday - Friday, with basic 8hr/day work requirements between 0600 and 1800 (flexible).