Cyber Software Engineer 2 / 3 - C / C++ / Python / Java / SQL
We are seeking cleared Cyber Software Engineers 2 and 3 with specialization in cyber engineering who are interested in solving cyber challenges of national interest. Software Engineers who are self-motivated and energetic with a background in Computer Engineering, Computer Science, or a related technical discipline.
Successful candidates will participate in software requirements analysis, design, implementation, unit testing, integration, verification, documentation, configuration management and maintenance of software solutions for a broad range of applications with exposure to a variety of programs that provide critical solutions to US government agencies and the Department of Defense.
This position involves developing solutions to national security threats with products that may involve kernel development, reverse engineering or vulnerability research of network and communication systems. The position requires solid software development skills including a familiarity with scripting languages. The position also requires familiarity with operating system fundamentals, reverse engineering tools and techniques, and network configuration. Knowledge of computer networking, modern software development environments, embedded programming, and software configuration management tools is a plus.
The selected engineer will work with various multi-disciplined product development teams to develop software systems and tools, participate in technical reviews and provide customer support. This position includes:
•Analysis/modification of existing software
•Software development using languages such as C, Assembly, Python, Java & SQL.
•Generation of applicable documentation
•Interfacing with customers, program management and technical staff
•Problem resolution and improvement recommendations
•Occasional travel to Northrop Grumman and Government locations within the United States
This requisition may be filled at a higher grade based on qualifications listed below.
This requisition may be filled at either a level 2 or a level 3.
BQs for a Software Engineer 3 are:
B.S. degree in Computer Science, Computer Engineering, or related field and 5 years of relevant work experience OR a
M.S. degree in Computer Science, Computer Engineering, or related field and 3 years of relevant work experience (OR a
Ph.D. degree in Computer Science, Computer Engineering, or related field and 0 years of relevant work experience).
BQs for a Software Engineer 2 are:
B.S. degree in Computer Science, Computer Engineering, or related field and 2 years of relevant work experience OR a
M.S. degree in Computer Science, Computer Engineering, or related field and 0 years of relevant work experience.
Demonstrated C and/or Python programming language experience
•Experience with or exposure to one or more software/system analysis tools such as Wireshark, IDAPro, OllyDebug, WinDBG, JTAG debuggers, or other low level system analysis tools
•Active Top Secret security clearance and ability to maintain a Top Secret clearance
Advanced degree in Computer Science, Computer Engineering or related field
•Experience in software development to include any of the following: kernel mode, embedded, command and control, web applications, network applications
•Familiarity with Assembly Languages (x86, x64, MIPS, PPC, or ARM)
•Experience developing software for multiple operating system environments
•Experience with virtual machine technology
•OS Internals experience
•Development of lower level networking protocols such as IP, TCP, and UDP
•Understanding of return oriented programming (ROP) concepts and execution
•Ability to develop and implement shell code
•Ability to understand secure / insecure programming concepts (format string vulnerabilities, heap overflows, etc.)
•Familiarity with common source control tools (git, Mercurial, etc.) and automated build system workflows (Jenkins, Go, etc.)
•Experience with the Agile methodology
Experience with Java and SQL.
•Active Top Secret security clearance