Principal Software Engineer

Vernon Hills, Illinois (Northern suburb of Chicago)


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).


The Principal SW Engineer is an expert software engineer who has demonstrated experience designing software solutions for large complex systems and is capable of leading a team of engineers to execute the same. In this role, the successful candidate will work with various management and technical groups to design software solutions for Canon Medical imaging systems. The successful candidate must be able to clearly communicate designs, design features critical to the business; and, technical risks, to both management and technical staff. They will participate in solution implementations, both overseeing the work of others and making individual contributions.


Technical Leadership

  • Function as technical lead on a software development project: responsible for planning, estimating and coordinating software development. Be able to clearly communicate plans, work structure, schedules or status to engineering groups and/or management.
  • Work with engineers to create software solutions and resolve design and implementation issues.
  • Coach and mentor junior staff members.


  • Research, evaluate and apply emerging and/or applicable software technologies.
  • Research, identify and codify a project’s design inputs, especially those critical to the business.
  • Create, evaluate and document software solutions given design inputs.
  • Design, plan and participate in construction and verification activities (e.g. program, design and code reviews etc.)


Education and Experience

  • Minimum B.S. in the STEM disciplines. Graduate degree preferred.
  • 10+ years in equivalent roles in industries including medical, telecommunications and/or defense.

Key Competencies

The successful candidate is expected to have the following skills:
  • Collaboration: highly approachable; straightforward and uncomplicated interactions with management, peers and other staff.
  • Communication: Excels at explaining complicated subject matter to engineering and lay audiences. Can clearly justify how software designs support project goals.
  • Significant technical expertise in the following areas:
    • Acquisition and deployment of new software technology within a product.
    • Development and documentation of software designs and models.
    • At least one platform and its internals; Linux strongly preferred.
    • Development of distributed systems.
    • C/C++; working knowledge of Python a plus
    • SW engineering tool chains.
  • Embedded-system development experience a plus.
Apply for this position