Software Engineer (MR)

Cleveland (Mayfield Village), Ohio

Canon Medical Research USA, Inc. (CMRU) is a multi-modality R&D organization creating next-generation medical imaging systems. For those who like to develop new technologies and research new ways of using them, Canon is a rewarding place to work, due to its focus on innovation as the lifeblood of new products.

CMRU is committed to recognizing and appreciating the variety of characteristics that make individuals unique in an atmosphere that promotes work/life balance and celebrates individual and collective achievement. We are especially interested in qualified candidates who can contribute, through their experience, education, research and/or service, to the diversity and excellence of our organization and the scientific and engineering community at large.

CMRU offers a great work environment, professional development, challenging careers, and competitive compensation and benefits. We are an equal opportunity employer (EOE).


CMRU has immediate openings for Software Engineers in our Magnetic Resonance Imaging (MRI) business unit located in Mayfield Village, an eastern suburb of Cleveland, Ohio.

The Software Engineer will design, develop, and productize new MRI reconstruction software for Canon Medical MRI scanners. This engineer will be working in small, agile, cross-functional teams to achieve results.


  • Design, develop, and productize reconstruction algorithms for new feature releases of Canon MR products
  • Work on multi-disciplinary teams to translate customer needs into feature requirements, design, and test specification documents
  • Ensure optimum performance of product software, using knowledge of performance optimization and computer hardware
  • Maintain product software, respond with appropriate urgency to bug reports by using knowledge of existing software code base and working in multi-disciplinary teams
  • As part of the software team, conduct design and development work to improve MR product reconstruction framework to accelerate product deployment, simplify maintenance and improve testability of reconstruction algorithms
  • Keep informed of technical trends in the software development field in order to contribute to future design discussions and software architecture and reconstruction hardware improvements



  • B.S or M.S. in software engineering, electrical engineering, biomedical engineering, mathematics, or equivalent; or 3+ years related experience


  • Experience in developing applications for medical imaging in industry or engineering laboratory
  • Production-focused C++ programming and debugging skills with strong knowledge of object-oriented principles
  • Practical experience in designing high performance software, including use of multi-threading, and advanced hardware like GPUs, CUDA programming, fast math libraries like Eigen
  • Practical experience in profiling and optimization of high-performance software, through the use of tools and knowledge of computing hardware.
  • Experience in deployment of image processing algorithms applications in an environment with external users

Key Competencies

  • Demonstrated experience in development within complex software systems, especially in medical imaging, preferably MRI
  • Strong C++ programming skills on Windows and Linux platforms
  • Experience with Visual Studio or equivalent IDE based development and debugging
  • Experience with CMake or equivalent build systems
  • Experience with Linux command line tools and scripting
  • Strong understanding of software development principles and tools, covering full software development life cycle – requirements, design, testing, integration
  • Demonstrated ability in continued development of existing software, including knowledge of design and code refactoring
  • Proven ability to learn medical imaging physics and mathematics / calculus fundamentals
  • Proven ability to be a self-motivated, proactive, productive, and flexible team member
  • Excellent analytical and problem-solving skills
  • Results-oriented and driven by innovation and creativity
  • Excellent verbal and written communication skills, especially cross-discipline

Desired Competencies

  • Experience working in medical device industry
  • MATLAB or Python scientific programming experience
  • Hands-on product development using GPU and other high-performance computing platforms
  • Practical knowledge of machine learning technology and frameworks


  • Ability to complete domestic and international travel (up to 10% of time)
Apply for this position