Here we provide a number of training lessons, each consisting of:

  1. Purpose
  2. Learning Material
  3. Exercises
  4. Discussion
  5. Improvements and Completion Pull Request

The purpose section of the lesson explains its importance.

The learning material is usually external articles, book chapters, and videos. If you skim familiar material, do so judiciously.

The exercises are meant to strengthen your understanding and help you identify holes in your knowledge. Some are questions, others are tasks. Nobody will see your answers, but we recommend writing them in a notebook before revealing the provided answers.

After completing the lessons, you will discuss the lesson with another Innolitics team member.

Finally, you will contribute improvements to the lesson via a pull request. As part of this pull request, you will also record in the article’s YAML front-matter, that you completed it.

Innolitics Culture

These lessons are meant especially for new members of the Innolitics team. We are excited to have you on board!

Our Mission, Values, and Handbook

Innolitics is mission driven. In this lesson we examine our mission, how we attempt to fulfill it, and our values. We familiarize you with our company handbook and its most relevant policies.

Contributing to Our Website

Some of the best ways to contribute to Innolitics outside of client work—writing articles, improving our training program, or polishing our handbook—involve updating our website. This lesson will introduce you to Jekyll, the static site generator that produces our website, and show you how you can contribute to website updates.

Learning to Learn

These “meta” lessons focus on how to effectively learn new technologies.

Reading Protocols and Standards

While not as precise as computer source code, protocols and standards can be a great resource from time to time. In this lesson, we spend some time learning about RFCs, how to read them, and then explore RFC 3986, Uniform Resource Identifier (URI): Generic Syntax, in detail.


These lessons focus on the design and development processes we follow at Innolitics.

Figma, White-Boarding, and UI Design

In this lesson we discuss Figma, a collaborative drawing tool, and how we use it for UI design and diagrams.

Core Technologies

These lessons focus on the fundamentals of technologies we use frequently at Innolitics.

Intermediate Python: Dunder-Methods, Decorators, and Context Managers

In this lesson we learn about dunder methods, decorators, and context managers in Python. These tools, when used properly, can help us to write concise, readable, and expressive code when working with complex objects, higher-order functions, or scoped side-effects.

Future Lessons

Learning - How to Read

Learning - Source Code

Learning - Man Pages

Writing - Removing Clutter

Writing - Comments, Commit Messages, and Documentation

Client Matters - Quality Work is not Quality Service

Client Matters - Requirements vs Specifications

Medical - DICOM Intro

Medical - HL7

Medical - Imaging Physics Overview

Medical - Image Processing Basics

Quality - Risk Analysis

Quality - Usability Engineering

Core Tech - HTML

Core Tech - CSS

Core Tech - Linux Fundamentals

Core Tech - Git

Core Tech - Bash

Process - Agile

And Many More!