Software Engineer

Canon Medical InformaticsWaterloo, ON
CA$82,840 - CA$124,260Hybrid

About The Position

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.

Requirements

  • 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

Nice To Haves

  • 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
  • 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

Benefits

  • competitive compensation package
  • room for learning and growth
  • flexible work hours
  • actively foster work-life balance
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service