Software Engineer II
Job Description
The Software Engineer II role in Saint Paul, MN centers on C++ and Python software development with a focus on cybersecurity for medical devices, emphasizing secure coding practices and collaboration across cross-functional teams.
Responsibilities
- Create, implement, and maintain software components using C++ and Python.
- Develop and enforce secure coding practices and assist in hardening medical devices to defend against current and emerging cybersecurity threats.
- Utilize OpenSSL for cryptographic operations including symmetric and asymmetric encryption, key pair generation and management, and the creation, signing, and validation of X.509 certificates.
- Participate in code reviews, threat modeling, and vulnerability assessments.
- Document system configurations, software designs, and security architecture.
- Collaborate with Systems Engineering, Product Security, and other stakeholders to establish cybersecurity controls.
- Act as a contributing team member across the project lifecycle, from requirements definition through implementation, code reviews, and final release in accordance with medical device development processes.
Requirements
- Bachelor’s degree in Computer Science, Software Engineering, or related field, or equivalent experience.
- At least 3 years of hands-on software development experience in C++ and Python.
- Experience with secure software development lifecycle (SSDLC) and secure programming practices.
- Ability to apply cybersecurity principles of confidentiality, integrity, and availability to the design and development of medical device software.
- Strong problem-solving and debugging skills.
- Excellent written and verbal communication abilities, with capacity to communicate across all levels of the organization.
Technologies
- C++
- Python
- OpenSSL
- TLS
- PKCS
- X.509
- Qt
- Perl
- Shell
- Linux
Location
Saint Paul, MN (onsite)
Work Arrangement
In person
Contract Type
Contract
Salary
USD 45 - 51 per hourly