Embedded Software Engineer

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 an Embedded Software Engineer 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.
  • Contribute in the creation of software requirements and specifications.



  • B.S. or M.S. in computer science, or electrical engineering/computer engineering with a focus on software. Prefer 3+ years C/C++ related experience.


  • Understanding of computer architecture principles.
  • Understanding of embedded systems design with preemptive, multitasking real-time operating systems.
  • Familiarity with software configuration management tools, defect tracking tools, and peer review.
  • Understanding of programming for Real-Time Operating Systems (RTOS).
  • Ability to write software for multi-threaded and/or multi-processing environments, including parallel processing.
  • Experience in mathematics and scientific algorithm implementation and optimization.
  • Education and/or experience with image processing techniques a plus.
  • 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
  • Independent


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