T2med steht für innovative und ästhetische Software für Arztpraxen. Eine unserer Stärken: Wir entwickeln echte Innovationen. Inspiriert von unseren Ärztinnen und Ärzten verwirklichen wir neuartige, spannende Konzepte.
Auf diesen Seiten gibt die Entwicklungsabteilung ("wir") allen Interessierten einen Überlick darüber, wie Softwareentwicklung bei T2med funktioniert, an welchen Projekten gearbeitet wird und welche Werkzeuge und Technologien dabei zum Einsatz kommen. Jobsuchende finden hier selbstverständlich auch einige interessante Jobangebote.
Bei T2med arbeiten derzeit sechs Entwicklungsteams in einem agilen, nach Kanban aufgebauten Entwicklungsprozess. Fünf der Teams sind hauptsächlich mit der Weiterentwicklung unseres Praxisverwaltungssystems beschäftigt, während sich das sechste Team sowohl um die Entwicklung und den Betrieb unserer Online-Dienste kümmert, als auch um das Managen der internen Entwicklungsinfrastruktur. Letztere Aufgabe soll zukünftig von einem Plattform Engineering-Team übernommen werden. Das Team ist derzeit im Aufbau und soll außerdem Werkzeuge, Bibliotheken und Automatisierungen entwickeln, um die Developer Experience der anderen Entwicklungsteams zu verbessern.
Teams
Team X
6 Softwareentwickler:innen
2 Tester:innen
1 Product Owner
Projekte:
Team J
5 Softwareentwickler:innen
2 Tester:innen
1 Product Owner
1 Technical Writer
Projekte:
Team Q
4 Softwareentwickler:innen
2 Tester:innen
1 Product Owner
Projekte:
Team ID
5 Softwareentwickler:innen / DevOps-Engineers
1 Product Owner
Projekte:
Team KI
4 Softwareentwickler:innen
Projekte:
Team CR
2 Softwareentwickler:innen
Projekte:
Team Developer Experience
2 Softwareentwickler:innen / DevOps-Engineers
Projekte:
Tools und Automatisierung
Entwicklungsinfrastruktur
Außerhalb der Teams agieren teamübergreifend fachspezifische Product Owner:innen, ein Softwarearchitekt, ein Agile Coach und unsere Entwicklungsleitung.
Technologien
Bei T2med werden eine Reihe unterschiedlicher Technologien eingesetzt. Je nach Anwendungsgebiet wird versucht, die geeignetsten dafür auszuwählen. Grundsätzlich lässt sich der Technologie-Stack aber wie folgt beschreiben:
- Unsere Backends, d. h. alle unsere Services und Serveranwedungen, werden hauptsächlich auf der Java Virtual Machine betrieben. Für neuere Projekte setzen wir dabei fast ausschließlich auf Kotlin als Programmiersprache.
- Bei den Frontends gibt es durchaus etwas mehr Abwechslung, da die Zielplattform hier häufig bereits die Technologieauswahl einschränkt.
- Grundsätzlich versuchen wir, wann immer es möglich ist, auf quelloffene Frameworks und Technologien zurückzugreifen um so zukunftssicher zu bleiben.
Die folgenden Abschnitte geben einen detaillierten Überblick über unseren Technik-Stack.
Sprachen
Unser Praxisverwaltungssystem ist unser primäres und größtes Softwareprojekt und ist hauptsächlich in Java geschrieben. Der dazugehörige Desktop-Client nutzt
JavaFX.
Bei der Entwicklung neuerer Dienste, Bibliotheken und beim Build-Tooling setzen wir fast ausschließlich auf Kotlin, da unsere Entwickler:innen die gute Developer-Experience zu schätzen wissen.
Für unseren mobilen Apps kommen u.a. Objective-C, Swift und Dart zu Einsatz. Unsere Webanwendungen setzen, wie nicht anders zu erwarten ist, auf die üblichen Verdächtigen: HTML, CSS und JavaScript.
Frameworks
Die meisten unserer Backends setzen auf Spring als Framework. Genutzt wird dazu in den meisten Fällen Spring Boot zusammen mit Spring Data / Hibernate für den Zugriff auf die Datenbank.
Beim Bau kleinerer, leichtgewichtigerer Dienste setzen wir häufig Ktor ein. Ktor ist ein Anwendungsframework von
JetBrains für HTTP-Services und -Clients, welches auf Kotlin und Coroutinen setzt.
Flutter ist ein plattformübergreifendes, quelloffenes Framework von Google zur Erstellung von Apps. Wir nutzen Flutter für die Entwicklung der PatMed-App.
Datenbanken
PostgreSQL ist eine bewährte, quelloffene, relationale Datenbank. So gut wie all unsere Dienste, die eine persistente Datenhaltung benötigen, setzen auf PostgreSQL.
Gradle ist ein leistungsstarkes und flexibles Build-Sytem zugeschnitten auf die
Java Virtual Machine. Gradle nutzen wir für das Bauen unserer Anwendungen und zur Durchführung automatisierter Tests.
TeamCity ist die von uns genutzte Continuous-Integration-Lösung. Mithilfe von TeamCity werden unsere Anwendungen zentral gebaut, getestet und bereitgestellt. Unsere Online-Services lassen sich per Knopfdruck direkt auf Test- und Produktivsysteme deployen.
Grafana ist ein Tool zum Visualisieren von Metriken. Wir nutzen Grafana zum Überwachen unserer Infrastruktur und Services und zur Auswertung wichtiger Metriken.
GitLab ist eine umfassende DevOps-Platform, die den gesamten Entwicklungszyklus abbildet. Wir nutzen GitLab hauptsächlich nur als Versionsverwaltungsystem.
Docker setzen wir sowohl im Betrieb unserer Infrastruktur und verschiedener Dienste als auch für unsere TeamCity-Buildumgebungen ein.
Alltägliche Werkzeuge
Für die tägliche Arbeit, sowohl im Bereich Projektmanagement als auch zur Softwareentwicklung, kommen einige unabdingbare Programme zu Einsatz, von denen wir die wichtigsten hier nicht unerwähnt lassen möchten:
Zur Entwicklung all unserer Anwendungen nutzen wir fast ausschließlich IntelliJ IDEA, eine der umfangreichsten und produktivsten
IDEs in der Java- und Kotlin-Welt.
Zur alltäglichen Kommunikation wie z.B. Stand-Ups oder Pair-Programming nutzen wir Microsoft Teams.
Zur Projektplanung und Umsetzung des Kanban-Workflows nutzen wir YouTrack. Zusätzlich dient es es auch als interne Wissensdatenbank.
Davon erzählen wir in loser Folge gerne: Interessante Einblicke in die Entwicklungsabteilung bei T2med, was passiert abseits vom Tagesgeschäft?
Montag, 29. Juli 2024
Torben Brennecke
Über 15000 Entwicklerinnen und Entwickler, 800 Unternehmen und über 500 Referentinnen und Referenten. Wie finde ich hier eigentlich, was mich interessiert und was interessant ist, obwohl ich es nicht kenne? Dieser Frage bin ich in diesem Jahr in Berlin nachgegangen.
Die Konferenz begann mit einem kleinen Check-In-Event im 10. Stock des Motel One in Berlin, wo man bei einem kühlen Getränk einen schönen Blick über Berlin mit der Kaiser-Wilhelm-Gedächtniskirche vor der Nase hatte.
Weiterlesen
Sonntag, 26. Mai 2024
Gerrit Collienne
Vom 22. bis 25. Mai fand in Kopenhagen die diesjährige KotlinConf statt. Auch wir waren wie in den vergangenen Jahren mit einer Gruppe vor Ort.
Nach einer erfreulich unspektakulären Anreise am Mittwochmorgen konnten wir gegen 15 Uhr unsere Hotelzimmer beziehen. Um am ersten Konferenztag nicht Schlange stehen zu müssen, sind wir direkt zum Veranstaltungsort der KotlinConf, dem Bella-Center, gelaufen, um unsere Badges, T-Shirts und Trinkflaschen abzuholen. Fertig gewappnet für den ersten Konferenztag, haben wir uns anschließend Kopenhagen angeschaut.
Weiterlesen
Freitag, 10. Mai 2024
Angela Avenarius & Ingo Krüger
Moin, wir sind Angela und Ingo, zwei Quality Engineers aus Team J, und wir hatten dieses Jahr die Ehre, am 7. und 8. Mai dem German Testing Day 2024 auf dem Messegelände in Frankfurt am Main beiwohnen zu dürfen.
Die Anreise für uns aus dem hohen Norden hieß, eine lange Anfahrtszeit in Kauf zu nehmen, und so startete das Event für uns bereits am späten Vormittag des Vortages am Bahnhof in Kiel.
Weiterlesen