Description

About the job
Hybrid - This position offers a hybrid work schedule requiring you to be in the office 3 days a week and an option to work from home two days out of the week (unless a specific business need arises requiring in-office attendance on other days). Wednesdays are one of the required days for all staff to be in the office. Note that work schedules and office reporting requirements may change from time to time based on business needs.

Client’s Boston Incubation Center is collaborating with world class hospitals in the Boston area to turn cutting-edge medical research into usable, meaningful products. This Senior Software Engineer position will contribute to the design, implementation, and verification of software for one or more of the projects we are bringing to market. It is a hands-on role that may include all aspects of device software development: application software, front-end development, documentation, and dev-ops

Key Responsibilities (“Do”)

Design and build a flexible and maintainable GUI architecture for novel medical robotics devices.
Software analysis, planning, design, implementation, and verification for the novel medical robotic devices.
Design and code medical-grade software that meets the defined software requirements and Design Inputs.
Support the generation of technical engineering products by using the appropriate standards, processes, procedures, and tools throughout the system development lifecycle.
Contribute to product requirement development and development tools maintenance.
Create documentation adhering to quality procedures, and industry best practices under Design Control.
Contribute to product requirement development and risk management reviews.
Work effectively in cross-functional teams consisting of Usability, Engineering, QA/RA, and Robotics.

Results Expected (“Deliver”)

Completion of software development applicable to medical device projects.
Completion of software documentation including requirements, architecture design and specifications.
Completion of quality assurance of the software system.

Other Expectations

Education Required: Minimum bachelor’s degree in computer science or related discipline.
Experience Required: 5-10 years in a software engineering role. Direct experience of software architecture design and development is required.
Willing to work on a small team and wear many hats
Experience with Windows development for medical or other safety-critical products is required.
Experience developing application GUIs and using GUI frameworks. WxWidgets a plus.
Strong understanding of modern programming languages. Proficiency in C/C++ is required, Python experience a plus.
Knowledge and experience in DICOM, PACS, and 2D medical image processing; experience using toolkits such as IPP, ITK, VTK, OpenGL or OpenCV.
Experience configuring Windows for kiosk applications.
Working knowledge of the Windows API in the areas of users, file access, permissions, and hardware access.
Experience in Git, CMake and Jenkins a plus.
Requirements analysis and risk management processes, e.g. hazard analysis and dFMEA.
Excellent oral and written communication skills with the ability to communicate clearly to other stakeholders in different functions at various levels.

Education

Any Graduate