We are seeking a Software Developer to design, develop, and maintain security attack test benches used to evaluate the resilience of software, embedded systems, networks, and connected products against cybersecurity threats. The test systems focus on side-channel analysis, fault injection testing, and security protocol validation for secure products and cryptographic implementations.
Gather the product requirements
The engineer will analyze the existing test bench architecture, interact directly with users (security evaluators and researchers), and translate operational needs into new features and functional requirements.
Develop new features
The developer will translate defined requirements and system specifications into robust, maintainable, and efficient Java code, ensuring proper integration within the existing architecture. This includes extending and modifying system components, integrating new lab instruments into the tool, developing new modules, and delivering features that meet user needs while adhering to established coding standards, software engineering best practices, and quality expectations.
In addition, the developer will use the C programming language to design and implement secure test applications running on the evaluated products or other hardware components.
Validate the product release
The developer will also be responsible for extending, executing and validating tests on the test bench product to ensure that implemented features meet functional, performance, and security requirements.
The developer will create and maintain CI/CD scripts and pipelines to automate build, integration, testing, and deployment processes, ensuring consistent software delivery abd improved reliability.
Document the changes
The developer will also be responsible for documenting system requirements, software architecture, and technical specifications in a clear and structured manner. This includes maintaining up-to-date documentation of the existing test bench architecture, capturing design decisions, and ensuring that newly defined features and functional requirements are properly specified and traceable.