Strong understanding of Computer Science fundamentals and the Software Development Life Cycle (SDLC).
Proficiency in at least one major programming language (C/C++, Java, Ada, Rust, or Go) and familiarity with scripting languages like Python and Perl.
Solid understanding of security principles, including common vulnerabilities and OWASP guidelines, along with experience in cybersecurity and risk management.
Demonstrated ability to analyze and understand code to identify vulnerabilities.
Experience with static and dynamic code analysis tools.
Knowledge of software testing methodologies and Independent Verification and Validation (IV&V).
Excellent analytical and communication skills, with the ability to prepare professional reports and collaborate within a team.
Responsibilities
Work collaboratively in a team focused on cybersecurity goals.
Analyze and identify vulnerabilities in code, and explain its functionality.
Design and implement software testing methods, including system and acceptance testing.
Apply cryptographic principles in software analysis and testing.
Prepare detailed professional reports and conduct briefings.
Perform additional duties as assigned.
Benefits
On-site work in a supportive team environment at Aberdeen Proving Grounds, Maryland.
Workweek Monday to Friday with no travel required.
Opportunity to contribute to critical cybersecurity projects.
Potential for professional development in software engineering and cybersecurity practices.
Gain experience with cutting-edge code analysis and testing tools.
Full Job Description
Software Engineer - Code Assessment
Responsibilities
Work in a team environment with a cyber security mission.
Read, analyze, and understand code to identify vulnerabilities and explain functionality. Experience with static and dynamic code analysis tools.
Design and execute software testing methodologies, including integration, system, and acceptance testing, as well as Independent Verification and Validation (IV&V).
Apply cryptographic principles to software analysis and testing methodologies.
Prepare professional reports and briefings
All other duties assigned
Qualifications
Strong understanding of Computer Science fundamentals (e.g., algorithms, data structures, computer architecture, logic) and Software Development Life Cycle (SDLC).
Proficiency in at least one major programming language (C/C++, Java, Ada, Rust, or Go). Familiarity with scripting languages like Python and Perl is a plus.
Solid understanding of offensive and defensive security principles, including common vulnerabilities (CWEs, CVEs) and OWASP guidelines. Experience with cybersecurity, risk management, and information assurance.
Demonstrated ability to read, analyze, and understand code to identify vulnerabilities and explain functionality.
Experience with static and dynamic code analysis tools.
Experience with software testing methodologies, including integration, system, and acceptance testing, as well as Independent Verification and Validation (IV&V).
Understanding of cryptographic principles.
Software Engineering Practices: Knowledge of software best practices, including version control, documentation, and code clarity.
Excellent analytical, problem-solving, and communication skills (written and verbal). Ability to prepare professional reports and briefings and collaborate effectively within a team.
Clearance:
An active DoD secret or higher, clearance.
Education & Experience:
Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience.
4-7 years of experience.
4 years of directly related experience can be substituted for a degree.