For further inquiries about this opportunity, please contact our Talent Specialist, Ragu at or Lavanya at
Title: Software Engineer (C++/Python)
Duration: 12 Months with potential extension
Location: Little Canada, MN
Days/Hours: Monday – Friday 8:00 AM to 6:00 PM
Note: Possible conversion to full-time if business need exists.
Conversion potential: Yes, dependent on backfill/full-time need.
Only W2 candidates are eligible for this position. Third-party or C2C candidates will not be considered.
Job Description:
• We are seeking a highly skilled Software Engineer with strong proficiency in C++ and Python with the desire to use those skills to improve the cybersecurity of medical devices.
• This role is ideal for someone who enjoys working across both application development and system-level security engineering.
Key Responsibilities
• Design, develop, and maintain software applications using C++ and Python.
• Implement and maintain secure coding practices and contribute to the hardening of medical devices to effectively protect against and respond to known and emerging cybersecurity threats.
• Utilize OpenSSL for cryptographic operations including symmetric and asymmetric encryption, key pair generation and management, and X.509 certificate creation, signing, and validation.
• Participate in code reviews, threat modeling, and vulnerability assessments.
• Document system configurations, software designs, and security architecture.
• Work with Systems Engineering, Product Security, and other stakeholders to develop cybersecurity controls.
• As a team member, contribute significantly to completion of various project activities, from definition, identifying software functional requirements, implementation, code reviews, and final release according to medical device development processes
Required Qualifications
• Bachelor’s degree in Computer Science, Software Engineering, or related field (or equivalent experience).
• Demonstrated knowledge and 3+ years of experience developing software in C++ and Python.
• Experience with secure software development lifecycle (SSDLC) and secure programming practices.
• Ability to apply cybersecurity principles (confidentiality, integrity, availability) to the design and development of medical device software.
• Excellent problem-solving and debugging skills.
• Strong written and verbal communication skills, with ability to communicate to all levels of the organization.
Preferred Qualifications
• Knowledge of the Qt application development framework.
• Demonstrated knowledge and experience working with Perl or Shell.
• Experience working in a Linux software development environment.
• Experience with OpenSSL and cryptographic protocols, TLS, and PKCS.
• Knowledge of 62304 and other standards applicable to Class II and Class III medical devices.
• Familiarity with FDA cybersecurity guidance.
• Previous experience working in a regulated industry such as automotive, aerospace, healthcare, or defense.
• Software developer with cybersecurity exposure (not cybersecurity analyst)
Role Context
• Projects: Security features for medical device (cardiac mapping system)
• Typical Day:
- Agile ceremonies (daily standups, sprint work)
- Coding, code reviews, unit testing
- Collaboration with systems engineers and security analysts
• Work Breakdown:
- Majority coding & development
- Some meetings and documentation
• Stakeholders:
- Software developers
- Systems engineers
- Product security analysts
• First 90 Days Success:
- Ramp up quickly onsite
- Contribute to development and security features
• Challenges:
- Cybersecurity-only candidates struggle without strong programming
Candidate Profile – Skills & Experience
Top Required Skills:
• C++ Programming – Advanced – Ability to develop software for medical devices
• Python Programming – Intermediate/Advanced – Used for development tasks
• Secure SDLC Knowledge – Intermediate – Understand security principles (CIA, threat modeling)
Flexibility:
• Some flexibility on industry experience if strong programming background
Top Preferred Skills:
• Qt Framework – Strong advantage – UI development with C++
• Linux Development – Strong advantage – Environment where software runs
• OpenSSL / Cryptography – Nice-to-have – Security implementation
• Cybersecurity experience / cryptographic libraries (OpenSSL, WolfSSL)
Additional Requirements:
• Systems:
- Linux OS
- Medical device platform
• Traits:
- Strong problem solving
- Good communication
- Adaptable to structured/regulated environment
Interview:
• The selected candidate will start ASAP after the screenings have cleared.
• 1st Round Meeting will be via video-Teams
• 2nd Round Onsite with a couple of Team members/manager