Algorithm Developer at Vital Images (Minnetonka, MN)

Vital Images

Software Engineer Full Time


At Vital, 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. Vital is part of Canon Medical Systems, and together we lead the industry with the latest health imaging informatics solutions. We improve the quality of patient care by developing innovative products that enable the exchange, analysis and storage of clinical information across health care enterprises and communities. Our products handle millions of medical images and health records a day across the world. Vital Images 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.

Our offices are based in Minnetonka, Minnesota; Waterloo, Ontario; Copenhagen, Denmark; The Netherlands; and Beijing, China. 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 Vital Images might be right for you!


The Advanced Visualization Team is responsible for creating elegant, intuitive clinical applications and product infrastructure that provides visualization and analysis tools used by medical personnel to efficiently determine accurate diagnoses and treatment plans for their patients. Our inputs are raw images from CT, X-Ray, Ultrasound, MRI, and other scanners. Our software produces highly processed, interactive images rendered in two and three dimensions that highlight anatomical features, measure pathologies, and allow doctors to quickly build a deep understanding of large amounts of data.


Your role is to create, improve, integrate, evaluate and optimize algorithms that operate on medical images and produce clinically useful outcomes. You will be involved in all aspects of productization, where your strong skills in research, innovation, and engineering get applied to deliver cutting-edge medical imaging applications, some of which fully automated. You will interact with domain experts and physicians to build a deep understanding of the clinical question, iterate utilizing their feedback, and in turn be effective in building what benefits patients the most. Because you will be involved in the end-to-end productization process, your strong programming experience will be key in utilizing and contributing to elegant software integration and testing frameworks.


  • Develop, enhance, and validate solutions to problems that deal with medical volumetric image data; manage the data needed for development and testing.

  • Implement well-designed, reusable, and efficient low-level algorithms and libraries.

  • Provide help in ideas and code to other team members.

  • Investigate issues and failures and implement effective solutions.

  • Build proof-of-concept prototypes.

  • Work with other software engineers and testers, sometimes in a lead role, to integrate the algorithms into the final product.

  • Work closely with in-house clinical experts, customers and doctors, and facilitate useful feedback; organize and run discussion meetings and demo sessions.

  • Work with regulatory teams to support obtaining regulatory clearances.

This job description is not designed to cover or contain a comprehensive listing of activities, duties or responsibilities that are required of the employee for this job.  Duties, responsibilities, and activities may change at any time with or without notice.


  • Master of Science in Computer Science or related field (PhD preferred).

  • 2+ years of experience in research.

  • Strong C++ object-oriented programming skills; strong understanding and experience in low-level algorithms, data structures and complexity; strong debugging and optimization skills.

  • Deep knowledge and experience in classical computer vision and image analysis techniques (segmentation, clustering, feature extraction, classification, registration, filtering, morphology) and their underlying mathematical foundations (linear algebra, statistics, geometry).

  • A strong experience in Python is very useful.

  • Experience in machine learning, both classical methods and neural-network-based methods. Having been a primary contributor to solving large or complex problems where machine learning was key to the solution is desirable.

  • Excellent written and verbal communication skills.

  • Industry experience, clinical knowledge, and medical software development experience are desirable.


Vital offers a dynamic work place, 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 Minnetonka, MN office is located about 12 miles southwest of downtown Minneapolis. Our office is near several walking paths and restaurants that are a quick drive away. In our office of 170, we have free healthy snacks, a deli on site and Friday massages. Our team at Vital loves what we do and has fun doing it together. We look forward to receiving an application from you.