Software developer designs, develops, and tests code in languages such as Java, C, and C++. Requires extensive knowledge of programming languages, software development, and computer operating systems. Applies engineering principles to software creation. Necessary skill areas: Programming and coding, fundamentals of computer science, design and architecture, algorithms and data structures, information analysis, debugging software, and testing software.
Creates novel cyber security technology components and software to ensure that critical systems/information are resilient to cyber exploits and attacks. Performs attendant vulnerability assessments, analysis, and software engineering and design. Develops hardware and software prototypes, and tests those prototypes in realistic environments.