Kompetenzen

Die Arbeit von Medilyse ruht auf drei wichtigen Pfeilern: hohe technologische Kompetenz, detaillierte Kentnisse der Anwenderdomäne und ein agiler Entwicklungsprozess.

Technologien

Unser breites Wissen in allen Bereichen der Softwareentwicklung ist die Grundlage für erfolgreiche Arbeit. Schwerpunkte unserer technischen Expertise liegen in den Gebieten Programmiersprachen, Betriebssysteme, Netzwerke und Datenbanken. In unserer täglichen Arbeit setzen wir Technologien ein, die es uns erlauben robuste, performante und fehlerfreie Software in kurzer Zeit zu realisieren. Dabei legen wir ein besonderes Augenmerk auf offene Standards und Open Source Lösungen.

Haskell

Das Backend unseres Produkts Checkpad MED ist in der funktionalen Programmiersprache Haskell geschrieben, da Haskell hohe Typsicherheit sowie sehr gute Unterstützung zur Realisierung nebenläufiger Programme bietet. Inzwischen sind so mehr als 350.000 Zeilen Haskell Code zusammengekommen.

TypeScript / React

Moderne Weboberflächen realisieren wir in HTML5 und CSS. Statt Javascript setzen wir auf Typescript, da statische Typen eine bessere Skalierbarkeit bei großen Projekten bieten. Für die Modellierung von User-Interfaces benutzen wir zumeist React. Aktuell haben wir 350.000 Zeilen TypeScript-Code.

Objective C / iOS

Die iOS Anwendung für Checkpad MED ist selbstverständlich in Objective-C geschrieben. Neue Komponenten werden mit Swift realisiert.
Aktuell haben wir 120.000 Zeilen Objective C-Code.

Flutter / Dart

Neben unserem klassischen iOS-Client in Objective C haben wir uns für die Checkpad PAT-Patientenapp für eine Plattformunabhängige Lösung mit Flutter entschieden.
Inzwischen sind dafür 24.000 Zeilen Dart-Code entstanden.

Python / Bash / PostgreSQL

Für systemnahe Skripte verwenden wir Python oder Bash, zur Speicherung von Daten zumeist PostgreSQL oder LevelDB.

Linux

Als Betriebssystem für unsere Server setzen wir die Linux Distributionen Ubuntu Server sowie die Virtualisierungslösung docker ein. Linux vereint für uns Quelloffenheit mit Skalierbarkeit und Anpassbarkeit.

Domänenwissen

Nur mit technischer Kompetenz lässt sich noch keine gute Software entwickeln. Dazu bedarf es auch viel Wissen und ein gutes Gespür, welche Probleme mit der Software gelöst werden sollen und wie die Arbeitsabläufe in der Anwendungsdomäne sind. Wir haben daher über viele Jahre hinweg Erfahrungen und umfangsreiches Wissen im Gesundheitswesen gesammelt.

Entwicklungsprozess

Gute Software kann nur dann entstehen, wenn die Entwickler sich mit der Software identifizieren und Spaß daran haben, die Software zu entwerfen, zu entwickeln und zu testen. Daher ist bei uns jeder Entwickler in alle Schritte der Produktentwicklung bzw. eines Projekts eingebunden und kann seine eigene Vorschläge einbringen und umsetzen. Als Vorgehensmodell bei der Entwicklung setzen wir vor allem auf die Scrum Methodik, da wir damit den sich häufig schnell ändernden Anforderungen gerecht werden können und wir ganz allgemein die Werte der agilen Softwareentwicklung teilen:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan