Senior Embedded Software Engineer (CT)

Vernon Hills (Chicago), IL

Canon Medical Research USA, Inc. (CMRU) is a multi-modality R&D organization creating next-generation medical imaging systems. It is equipped with cutting-edge instrumentation, prototyping, hardware labs and scientific computing facilities in order to perform research targeted to pre-clinical and clinical CT, PET, MRI, and X-ray 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 an immediate opening for a Senior Embedded Software Engineer in our CT business unit located in Vernon Hills, Illinois, a northern suburb of Chicago.

The Senior Embedded Software Engineer will work with a team to design and implement highquality embedded software for large medical devices from requirements to production. The engineer is expected to participate in the designing of solutions that meet customer needs, document the design, write clear, concise code, comment code as appropriate, and create documentation outlining code functionality.


  • Analyze software requirements documentation and consult with the author as needed.
  • Formulate and implement a software design using industry best practices and document it appropriately.
  • Work closely with image scientists and engineers to develop image processing algorithms.
  • Design and execute the unit test plan to verify the coded software.
  • Coordinate communication with vendors related to project materials.
  • Contribute in the creation of software requirements and specifications.
  • Contribute to the corporate IP portfolio.



  • B.S. or M.S. in computer science, electrical engineering, and a minimum of 5+ years C/C++ related experience.


  • Understanding of computer architecture principles.
  • Knowledge and experience in mathematics and scientific algorithm implementation and optimization.
  • Education and/or experience with image processing techniques.
  • Familiarity with software configuration management tools, defect tracking tools, and peer review.
  • Experience designing software for multi-threaded and/or multi-processing environments, including parallel processing.
  • Experience with programming for Real-Time Operating Systems (RTOS) helpful.
  • Experience in embedded systems design with preemptive, multitasking real-time operating systems helpful.
  • Knowledge or experience in GPU programming experience helpful.

Key Competencies

  • Excellent analytical problem-solving skills
  • Initiative
  • Solution orientation
  • Relationship building
  • Communication—verbal, written and listening
  • Time and task management


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