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 two immediate openings for an Embedded Software Engineer in our CT business unit located in Vernon Hills, Illinois, a northern suburb of Chicago.

The Embedded Software Engineer will work with a team to design and implement high-quality 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 a software design using industry best practices and document it appropriately.
  • Implement the software design by coding.
  • 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 3+ years C/C++ related experience.


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

Key Requirements for Principal Embedded Software Engineer (CT)

  • 10+ years of industry C/C++ development experience with a strong understand of software architecture
  • Technical/project lead and other leadership experience desired

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