POSITION OVERVIEW
We are looking for a talented Software Engineer to join our team! In this role, you will work collaboratively with a team while taking ownership of complex features. The team’s work is primarily focused on Windows desktop applications and the services that support them, with some web-based development as part of the broader platform.
This position will work out of our Kitchener, Ontario office, on a hybrid basis during the week. Our hybrid workplace fosters a culture of collaboration, continuous learning, and meaningful connection.
We are looking for a candidate who is proficient with at least one of the following languages: C#, Java, C++, JavaScript/TypeScript, and has experience/interest in using AI-assisted programming tools such as GitHub Copilot or Claude Code
RESPONSIBILITIES
- The design and implementation of software features that our customers need
- Collaborating with architects, analysts, and other developers
- Applying software development and testing best practices
- Assisting with development environment improvements and process refinement
- Reviewing code for quality and correctness
- Researching and troubleshooting defects and customer issues
TECH STACK
- C#
- Java
- C++
- JavaScript/TypeScript
- MS SQL
- Bash
- Python
- Powershell
- Ansible
- Jenkins
- CI/CD
- GitHub Copilot
REQUIRED EDUCATION AND SKILLS
Required:
- Bachelor’s degree in Computer Science, Engineering or related or equivalent work experience
- 3+ years of experience as a Software Engineer
- A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design.
- Strong skills in Object Oriented Design and software development best practices
- Experience with software development in Java with Spring and a willingness to learn other languages and technologies.
- Strong analytical and Problem Solving Skills
Preferred:
- Experience with one or more of the following languages: Java, C#, Python, or JavaScript
- Experience with some or all the following technologies: REST, Angular, DICOM
- Experience in an Agile/Scrum software development environment
- Experience with JUnit, CPPUnit, MSTest, or similar
- Experience with relational database – SQL Server, PostgreSQL, MySQL, or similar
- Experience with dependency management tools, such as Maven, Gradle, or Ivy
- Experience working in a healthcare or other regulated environment
JOB COMPETENCIES
- Analytical Skills - Interprets and digests complex information, applies logic and sound critical thinking to astutely evaluate information, identifies flaws in reasoning but integrates good judgment in presenting findings, creates insightful and comprehensible reports, devises improvements or corrections to processes/procedures/plans based on strong analytical findings.
- Creativity & Innovation - Generates new ideas, challenges the status quo, takes risks, supports change, encourages innovation, solves problems creatively.
- Productivity - Manages a fair workload, volunteers for additional work, prioritizes tasks, develops good work procedures, manages time well, handles information flow.
- Quality Work - Is attentive to detail and accuracy, is committed to excellence, looks for improvements continuously, monitors quality levels, finds root cause of quality problems, owns/acts on quality problems.
- Teamwork - Meets all team deadlines and responsibilities, listens to others and values opinions, helps team leader to meet goals, welcomes newcomers and promotes a team atmosphere.
COMPANY OVERVIEW
At Canon Medical Informatics (formerly Vital Images, Inc.), what we do matters. This is at the heart of every product we develop, every service we provide, and especially each member of our team. As part of Canon Medical Systems Corporation, we lead the industry with the latest health imaging informatics solutions. Our products handle millions of medical images and health records a day across the world. Canon Medical Informatics experiences the best of both worlds with a dynamic and collaborative environment, casual culture, and agility of a mid-sized company, while having the support and resources of Canon Medical Systems Corporate, our parent company.
Our offices are based in Minnetonka, Minnesota; Waterloo, Ontario; and Copenhagen, Denmark. We value our team’s innovation, enthusiasm, and dedication to help improve the lives of patients. Do you want to be part of a passionate team that believes what we do matters? Then a career with Canon Medical Informatics might be right for you!
COMPANY VALUES
Unity, Courage, Tenacity, Teamwork, and Excellence
COMPENSATION
$82,840 - $124,260 CAD, dependent on experience
In alignment with applicable pay transparency legislation, we disclose the full salary range for this position. Our compensation philosophy is designed to ensure fair and equitable pay practices that are both market‑competitive and internally consistent. Salary ranges are established using external market data and are intended to reflect the full scope of experience, skills, and proficiency levels associated with the role.
As part of our standard hiring practice, we aim extend offers at or near the midpoint of the range for candidates who are fully qualified and demonstrate the knowledge, skills, and experience required to perform the role independently and effectively. Final compensation decisions may vary based on individual qualifications, experience, and other job‑related factors, while remaining within the established range.
WHAT WE OFFER YOU
Canon Medical Informatics offers a dynamic workplace, competitive compensation package, and room for learning and growth in our organization. This is an environment in which things move quickly and you’ll have the opportunity to wear many hats. We have a casual dress code, offer flexible work hours and actively foster work-life balance, because anything else simply isn’t sustainable. Our team loves what we do and has fun doing it together. We look forward to receiving an application from you.
Canon Medical Informatics is an Equal Employment Opportunity and Affirmative Action employer. We do not discriminate based upon race, color, religion, national origin, gender, gender identity, sexual orientation, age, status as a protected veteran, status as an individual with a disability, or other applicable legally protected characteristics.
Skills Required
- Bachelor's degree in Computer Science, Engineering or related or equivalent work experience
- 3+ years of experience as a Software Engineer
- Strong foundation in data structures, algorithms, and software design
- Strong skills in Object Oriented Design and software development best practices
- Experience with software development in Java with Spring
- Strong analytical and problem solving skills
- Experience with one or more of Java, C#, Python, or JavaScript
- Experience with REST, Angular, or DICOM
- Experience in an Agile/Scrum software development environment
- Experience with unit testing frameworks (JUnit, CPPUnit, MSTest, or similar)
- Experience with relational databases (SQL Server, PostgreSQL, MySQL, or similar)
- Experience with dependency management tools (Maven, Gradle, or Ivy)
- Experience working in a healthcare or other regulated environment
What We Do
Canon Medical provides a full suite of Healthcare IT solutions across the globe, helping healthcare organizations deliver exceptional care. Our healthcare IT product portfolio includes advanced visualization, enterprise image viewing solutions and business intelligence technology designed to help healthcare organizations deliver exceptional care while optimizing resources across multi-facility organizations.








