Job Description
DivIHN (pronounced "divine") is a CMMI ML3-certified Technology and Talent solutions firm. Driven by a unique Purpose, Culture, and Value Delivery Model, we enable meaningful connections between talented professionals and forward-thinking organizations. Since our formation in 2002, organizations across commercial and public sectors have been trusting us to help build their teams with exceptional temporary and permanent talent. Visit us at to learn more and view our open positions. Please apply or call one of us to learn more 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. About us: DivIHN, the 'IT Asset Performance Services' organization, provides Professional Consulting, Custom Projects, and Professional Resource Augmentation services to clients in the Mid-West and beyond. The strategic characteristics of the organization are Standardization, Specialization, and Collaboration. DivIHN is an equal opportunity employer. DivIHN does not and shall not discriminate against any employee or qualified applicant on the basis of race, color, religion (creed), gender, gender expression, age, national origin (ancestry), disability, marital status, sexual orientation, or military status. Linux, C , Qt Programming