The Cyber Security Software Engineer designs, develops, and tests cybersecurity software in languages such as Java, C, and C++. The Cyber Security Software Engineer requires extensive knowledge of programming languages, software development, and computer operating systems in order to apply engineering principles to software creation. The necessary skill areas for the Cyber Security Software Engineer include programming and coding, fundamentals of computer science, design and architecture, algorithms and data structures, information analysis, debugging software, and testing software. The Cyber Security Software Engineer also creates novel cyber security technology components and software to ensure that critical systems and information are resilient to cyber exploits and attacks. The researcher also performs attendant vulnerability assessments, analysis, and software engineering and design. The Cyber Security Software Engineer also develops hardware and software prototypes, and tests those prototypes in realistic environments.