Freelance Senior Software Engineer
Job Description
Role Snapshot:
Canon USA’s Healthcare Optics Research Lab 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 focused on algorithm development and optimization, image processing, and application development.
This position offers a hybrid work schedule requiring you to be in the office 2 days with an option to work from home the remainder of the week (unless a specific business need arises requiring in office attendance on other days). Note that work schedules and office reporting requirements may change from time to time based on business needs.
Key Responsibilities (“Do”):
• Software analysis, planning, design, implementation, and verification of novel medical imaging
devices that consists of hardware control, data acquisition, signal/image processing, display, and
post processing of medical images.
• Create documentation adhering to quality procedures, and industry best practices under Design
Control.
• Create and execute unit and integration test plans.
• Contribute to software system level test plans.
• Contribute to product requirement development and risk management reviews.
• Work effectively in cross-functional teams consisting of Research, Engineering, QA/RA, and
Marketing.
• Computer System Validation for FDA and EU medical devices
Results Expected (“Deliver”):
• Completion of software development applicable to medical imaging 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+ years of increasingly senior software engineering roles. Direct
experience of software architecture design and development is preferred.
• Experience developing medical or other safety-critical products is required.
• Experience designing and managing complex systems and control systems of hardware.
• Strong understanding of modern programming languages. Proficiency in C++ and Javascript is
required.
• Knowledge and experience in DICOM and 2D medical image processing; experience using
toolkits such as IPP, ITK, VTK or OpenCV.
• Experience with design documentation, unit testing and computer systems validation preferred.
• Strong understanding of development platforms such as VisualStudio
MUST HAVE:
Bachelor’s Degree in Computer Science.
Proficiency in C++ and Javascript.
5 years of experience in working as a senior software engineer
Strong understanding of development platforms such as VisualStudio.
Experience designing and managing complex systems and control systems of hardware.
Knowledge and experience in DICOM and 2D medical image processing; experience using toolkits such as IPP, ITK, VTK or OpenCV.
NICE TO HAVE:
Experience of software architecture design and development.
Experience with design documentation, unit testing and computer systems validation.