Schlagwörter
Skills
Projekthistorie
- Entwicklung einer medizineschen Diabetes-App SiDiary für die Firma Sinovo. An der Entwicklung dieser App habe ich sowol als Entwickler als auch Projektleiter gearbetet. Diese App verwaltet sensitive Patientendaten und wurde nach der dutschen Industrienorm EN ISO 13485 entwickelt. Es wurden verschiedene Bluetooth, BLE und NFC Messgeräte angebunden, aus denen die App Daten auslesen und verarbeiten kann. Diese App gehört zu bestbewerteten Diabetes-Apps sowohl für Android als auch iOS.
- Entwicklung von Custom GUI Komponenten
- Sicherstellung der Blindtauglichkeit der App
- Swift/Objective-C, Java/Kotlin, C++, RxJava
- Analysieren und Beheben von Softwarefehlern in produktiver Umgebung, Umsetzen von Change Requests
- Konzipieren und Realisieren von Softwareverbesserungen im Lebenszyklus der App
- Entwicklung, Implementierung und Wartung von Schnittstellen, Komponenten und Modulen
- Übernahme von Support und Weiterentwicklung der App
- Unterstützung in Qualitätssicherung
In diesem Projekt habe ich das BMW Android Team bei der Entwicklung eines eigenen Launchers und eines eigenen Keyboards(IME) unterstützt. Diese Komponenten mussten alle gängingen Android Funktionalitäten fehlerfrei unterstützen, damit das von BMW entwickelte Android System die Google Zertifizierungen bestehen kann. Dabei ging es um Funktionen wie z.B Widgets (aka. RemoteViews), Adaptive icons oder verschiedene Eingabemöglichkeiten für das Keyboard. Die Herausforderung war dabei, das Android System tiefgründlich kennen zu lernen und heraus zu finden, welche Funktionalitäten diese Komponenten (Launcher und Keyboard) untestützen müssen und wie sie korrekt implementiert werden. Eine sehr hohe Codequalität und fehlerfreie Funktion dieser Komponenten war besonders wichtig, da diese Einfluss auf alle installierte Applikationen hatten.
Des weiteren haben wir versucht, als Team zu wachsen und uns zu verbessern. Wir haben verschiedene Techniken eingesetzt wie Pair programming, Pair code review, Arbeitsplatzrotation usw. Dadurch waren wir in der Lage, das gesamte Projekt gründlich kennen zu lernen, sodass jeder Entwickler an jeder Projektaufgabe arbeiten konnte. Auch konnten dadurch Ideen, Programmiertechniken und verschiedene Kentnisse unter den Entwicklern getauscht werden.
Eine meiner Aufgaben war die Programmierung eines GNSS Location providers. Dazu war es notwendig, sich in das Android Framework und die Android Treiberarchitektur (HALs) einzuarbeiten. Das hat mir die Möglichkeit gegeben, das AOSP (Android open source project) und das gesamte Android OS gründlich kennen zu lernen, so dass ich dem Team einen GNSS HAL Treiber (Hardware abstraction layer) zur Verfügung stellen konnte.
Im Rahmen dieses Projektes habe ich ein nRF52840 ARM Cortex-M4 programmiert und eine App für Android entwickelt. Es wurden diverse BLE (Bluetooth Low Energy) Profile, Services und Charakteristiken für den nRF52840 in C programmiert. Weiterhin habe ich eine Ansteuerungsapp in Kotlin Android entwickelt, die mit dem nRF52840 über Bluetooth kommunizieren und diverse Einstellungen an diesen übertragen kann
- Erstellung der Gesamtarchitektur für die Ansteuerung. Lösung sowie Implementierung eines Proof-Of-Concepts. Evaluierung von diversen Hardware-Plattformen (Raspberry Zero, CC2541 Mini Development Kit, nRF52840 Development Board)
- Strenge Zeitvorgaben, Entwicklung in vorgegebener Zeit erfolgreich abgeschlossen
- C, BLE, Kotlin
- Erstellung der Dokumentation
Entwicklung eines Ticketsystems für Schiffsinspektoren. Diese App ermöglicht die Erstellung von Tickets bei Schiffsinspetionen. Es können Bilder und Videos zu den Tickets hinzugefügt und die Daten mit einem Server synchronisiert werden. Die Erfassung von Tickets ist sowohl Online als auch Offline möglich.
Xamarin Forms, .Net, Json, RestFull, Push Notification
- Entwicklung einer medizinischen App zur Ansteuerung einer Insulinpumpe. Diese App kann zum Einen die Insulinpumpe konfigurieren. Zum Anderen kann sie Daten aus dieser auslesen, darstellen und mit einem Server synchronisieren
- Implementierung der Kommunikation mit der Insulinpumpe über BLE auf der Windows Plattform. Reverse- Engineering, Sensor Firmware (BLED112). Anpassung der Pumpen-Firmware um die BLE-Kommunikation mit Windows und mobilen Geräten zu ermöglichen.
- GUI Entwicklung, Bluetooth Low Energy Kommunikation
- Kotlin, Swift, Bluetooth Low Energy, Json, RestFull, C++
- Dagger2, RxJava, Retrofit2