For further inquiries about this opportunity, please contact our Talent Specialist, Lavanya at
Title: Software Developer
Location: Onsite at St. Paul, MN
Duration: 12 Months with possiblility of extension
Hours: 8 AM - 5 PM
Only W2 candidates are eligible for this position. Third-party or C2C candidates will not be considered
Relocation: Non-local candidates may be considered if willing to relocate and attend in-person interview.
Job Description
- This position works out of our Tech Center in the Twin Cities, MN in the EP division.
- In the client’s Electrophysiology (EP) business, we’re advancing the treatment of heart disease through breakthrough medical technologies in atrial fibrillation, allowing people to restore their health and get on with their lives.
- As the Contract Staff Software Engineer, you'll have the chance to be a critical contributor to building compelling products within the client’s Electrophysiology Division.
- The individual will participate in the development and deployment of the system and software architecture to support our development programs.
- Design, develop, and document software applications embedded in diagnostic and interventional cardiology devices.
- Participate in all phases of the software lifecycle, including concept development, requirements, design, implementation, and testing.
What You’ll Work On
- Apply solid software design skills to develop medical devices to meet specific performance requirements and deliver on goals according to product development quality system.
- These activities include developing requirements specifications, design, implementation and testing of software and embedded software algorithms or/and general Linux applications and GUIs.
- These algorithms include real-time 3D location tracking, real-time 3D anatomical model creation and intracardiac signal visualization.
- 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.
- Create and implement software/test plans/protocols and generate test reports to ensure software/firmware design meets the specifications and quality system requirements.
- Work closely with cross-functional team, including design reviews with QA, RA, test engineers, and hardware engineers to ensure the firmware design meets the product requirements, including safety, reliability and serviceability.
- Be creative and innovative in the product development process.
- Make, recommend or justify critical technical decisions in product design. The decision should be based on broad investigation and testing.
- Document and transfer developed solutions to the manufacturing team for mass production and provide technical support and sustaining development in launch phase.
Required Qualifications
- Bachelor’s degree required (Computer Science or related preferred); Master’s degree a plus.
- 6+ years of software development or equivalent (e.g., 4+ years of Ph.D. research experience in Computer Science).
- 5+ years of Object-Oriented Design, C++ and Qt Programming Experiences on the Linux platform.
- Strong experience in design and implementation of cutting-edge graphics techniques and detailed knowledge of graphics hardware such as OpenGL shader language, CUDA, Nvidia GPU programming, OpenGL 2D/3D texture mapping, CPU/GPU performance profiling and characterization, and other general stream programming techniques.
- Excellent knowledge and experience in computational geometry algorithms.
- Excellent knowledge and experience in developing multithreaded real-time applications.
- Excellent analytical and mathematical skills.
- Excellent interpersonal and problem-solving skills.
- Software development through full product lifecycle.
- Experience with creating and managing requirements and translating them into effective architectures and software design.
- An understanding of requirements for, and experience in medical device development.
- Excellent documentation skills (highly regulated development environment).
Role Context:
- Projects: Multiple concurrent projects focused on enhancing existing product (INsight). Projects rotate every few months.
- Typical day: Agile stand-ups, sprint ceremonies, coding, debugging, unit testing, design documentation, code reviews, collaboration with cross-functional teams.
Top Skills:
- C++ (C++11/14/17)
- Linux
- Multithreading
- Bug Fixing / Troubleshooting
- Coding
- Teamwork Experience
Nice to Have:
- Signal Processing
- Graphic Tools (OpenGL, CUDA, QT)
- Desktop Application Development
- GPU Programming
- Computational geometry
- Algorithm design
Preferred Qualifications
- GUI development experience: Qt/QML.
Personality Traits:
- Team-oriented
- Strong communication skills
- Responsible
- Quality-focused
- Adaptable to change
Systems/tools used daily: Linux, IDEs, Jira, Jenkins, DOORS, SharePoint, Word, Excel.
Interview Process:
- Two interviews; in-person strongly preferred (at least one must be onsite if possible)
- Interview 1: Hiring manager interview focused on experience and team fit.
- Interview 2: Technical interview focused on C++ coding and design.