08.05.2026 aktualisiert

**** ******** ****
Premiumkunde
100 % verfügbar

Werner Dittmann

Albaching, Deutschland
Deutschland
Albaching, Deutschland
Deutschland

Profilanlagen

DittmannWerner_ProjectProfile_en.pdf

Skills

C (Programmiersprache)JavaAndroidAndroid Application DevelopmentAndroid NDKAndroid StudioC++GradleJUnitSoftwareentwicklungSystemarchitekturKotlin
  • Über 30 Jahre Fachwissen in IT Design und Entwicklung in internationalen Projekten mit Schwerpunkt auf Lösungs- und Systemarchitektur, IT- und Netzwerkintegration. 
  • Sehr gutes und breites Praxiswissen in der Softwareentwicklung, in verschiedenen Programmiersprachen wie C, C++, Java, Kotlin
  • Seit etwa 10 Jahren mit Schwerpunkt auf Design, Entwicklung und Implementierung von Android Anwendungen, zum Beispiel Kommunikations­anwendungen (Audio, Video, Messaging) mit Verschlüsselung (in C und C++, Java und Kotlin), UI Implementierung. Verwendete Protokolle sind unter anderem SIP, RTP, XMPP, HTTP
  • Langjähriges Know-How bei der Entwicklung sicherheitskritischer Software, (VoIP Verschlüsselung, SRTP, ZRTP, ThreeFish, Skein, etc)
  • Verwendete Entwicklungssysteme für Android: Android Studio, Gradle, Android SDK, Android NDK (für C/C++ Anteile)
  • Testmethodiken u.a Android Espresso, UI Automation, JUnit Tests, Instrumentation Tests, Google Test für C++ und C

Erfahrung

Berufserfahrungmehr als 10 Jahre
Freelancer seit2012

Sprachen

DeutschMutterspracheEnglischverhandlungssicher

Projekthistorie

Development of USB andRadio Backend in Android Car

BMW Group

Automobil und Fahrzeugbau

>10.000 Mitarbeiter

Design, development, and refactoring of Android Media backend Services for USB und Radio which use Android's Media Provider and Android's Car broadcast Radio manager infrastructure. The backends use Android's Media session to communicate with Front-End media applications.

The backends implement the MediaBrowserService or MediaLibraryService roles of Android's Media architecture.

Both backend services use and implement a reactive design and make use of Kotlin flows to process the data in a parallel and asynchronous fashion. This greatly reduces transaction and response times of Front-End requests.

The whole project strictly follows the manufacturer's project development, test, and release processes with a very high focus on development quality and test/QA procedures.

The project uses the following tools and development environments:
  1. Android Studio, gradle, etc for Android Softwareentwicklung
  2. Koin dependency injection (DI)
  3. Git (Enterprise) software repositories
  4. Jira and Confluence for project management and documentation
  5. Gerrit and AOSP environment to support AOSP software development

Development of In-Car Passenger Entertainment System

BMW Group

Automobil und Fahrzeugbau

>10.000 Mitarbeiter

This project was set up to develop a passenger entertainment system for the manufacturer's topline cars. The system consists of a large screen (8k by 2.5k), a specific hardware to drive the screen and to connect to the car's other systems. The project is implemented by an international team.

As a software architect and a software developer I'm responsible for software design, interfaces to other systems, and software implementation/refactoring across the whole system. This includes the full range of Android development:
  1. Android UI implementation (MVVM)
  2. Android service implementation (application level) to connect to other car systems
  3. Implementation of Hardware Abstraction Layer (HAL) modules and associated services (AOSP level) to provide lower layer connectivity
  4. Implementation of tests, test suites
The whole project strictly follows the manufacturer's project development, test, and release processes with a very high focus on development quality and test/QA procedures.

The project uses the following tools and development environments:
  1. Android Studio, gradle etc to develop Android software
  2. Git (Enterprise) as software repositories
  3. Jira and Confluence to support project managment and documentation
  4. Gerrit and AOSP tools to develop AOSP software

Porting proprietary payment terminal software to Android and Android capable hardware

NDA

Banken und Finanzdienstleistungen

500-1000 Mitarbeiter

The existing software was implemented in the C language and runs on a proprietary hardware (payment terminal). The build process used standard makefiles, GNU autotools and the source management was using CVS. 

The project was set up to to develop Android software to replace many of the existing C based software modules, to use newer development and build tools, and to connect to C modules which could not be replaced. Another part of the project was to use a newer hardware which was able to run an Android system. 

The first step of the project replaced the build system: migrate makefiles, GNU autotools to gradle and cmake This first step was necessary to enable Android software development. Parallel to these actitivies the CVS software management system  was migrated to to git and Google repo tool.

During the second project step the team developed the new Android software and started , implemented interfaces (JNI) to remaining C modules. This included new and/or enhanced UI design, adaptations to the new hardware and its features. Another important topic was to migrate the test suite of the software to provide the certification process.

Other tools were: Jira, Confluence to manage to project.

Software für verschlüsselten Nachrichtenaustausch (Chat) auf Basis XMPP / OMEMO / Double Ratchet Protokoll

Telekommunikation

10-50 Mitarbeiter

DIe Aufgabenstellung umfasst die Entwicklung einer in C++ implementierten Bibliothek zum verschlüsselen/entschlüsseln und versenden von Nachrichten über einen XMPP Server. Die Bibliothek implementiert die OMEMO XMPP Erweiterung, die Verschlüsselungsmethoden und -protokolle. DIe Bibliothen ist für Android, iOS, Windows, MacOs etc verfügbar.
Die entsprechenden Chat-Clients auf den jeweiligen Plattformen nutzen diese Bibliothek und implementieren das UI. Teil meiner Aufgabe ist die Unterstürtzung um Implementierung der Android Chat-Client. Die Entwicklung für Android erfolgt in Kotlin.

Entwicklung einer Android Anwendung zur Erfassung von Störungen und Defekten im Bahnbereich, Spezifikation REST Schnittstelle zum Server

Atos/VPS

Transport und Logistik

5000-10.000 Mitarbeiter

Eine einfach zu bedienende Android Andwendung zur Erfassung von diversen Störungen im Bahnbetrieb, melden von defekten Teilen wie Signale, Weichen und ähnliches. Besonderer Wert wurde auf einfach und schnell Bedienung gelegt, damit das Betriebspersonal (Lokführer, Rangierführer) schnell und ohne weiter Ablenkungen Störungen und Defekte melden können.
Die Entwicklung erfolgte in sehr enger Abstimmung mit dem Kunden und dem Fachpersonal.
Desweiteren wurde eine REST Schnittstelle zwischen der Android Anwendung und dem Server spezifiziert und in der Anwendung implementiert.
Uterstürtzung bei Inbetriebnahme der Gesamtlösung, Anwendung inklusive Serveranteil.

Entwicklung einer Android Anwendung im Bereich Bank

Atos/Helaba

Banken und Finanzdienstleistungen

5000-10.000 Mitarbeiter

Der Kunde benötigt eine Rahmenapplikation, in die verschiedene weitere Funktionsmodule eingegliedert werden können. In einem ersten Schritte wurde ein Modul für Videolegitimation in die Rahmenapplikation integriert. In weiteren Schritte sollen weitere Module folgen.

Daneben die Unterstützung der Projektleitung bei Android-spezifischen Fragen, Deploymentkonzept, Bewertung der Softwarezulieferungen von Dritten, usw.

Design und Implementierung einer Kommunikationsanwendung für Android

Silent Circle

Telekommunikation

50-250 Mitarbeiter

Die Anwendung implementiert verschlüsselte Audio- und Videoübertragung sowie Messaging mit Attachments (u.a. Audio, Video, Bild Attachements). Die Anwendung nutzt die übliche Android Architektur wie Activities, Fragments, Boradcastreceivers, und Services.

Besondere Schwerpunkte dieser Anwendung liegen auf den Bereichen Sicherheit der Anwendung (verschlüsselte Kommunikation), Sicherheit der Daten, einfache Bedienbarkeit (UI), sowie auf Energieeffizienz um die Laufzeit der mobilen Geräte nicht zu verkürzen.

Die Verschlüsselungsfunktionen sowie bestimmte Protokollfunktionen wurden in den Programmiersprachen C und C++ implementiert und über die entsprechenden Schnittstellen mit dem Android Java Code integriert. Hierbei wurde das Android NDK verwendet.

Die Nutzung von Android Diensten wie zum Beispiel Bluetooth, Power- management, Netzmanagment und Monitoring ist für diese Anwendung notwendig.

Ein wichtiger Teil des Projekts und der Implementierung ist die Integration der Anwendung mit den Backendsystemen SIP Server, Benutzerverwaltung (Provisioning), und Konfigurationssystemen. Die Integration mit Benutzer- verwaltung und den Konfigurationssystemen Integration erfolgt mit Webservices (REST, JSON)

Erweiterung einer Android Anwendung im Bereich Fahrzeugautomatisierung

Automobil und Fahrzeugbau

In diesem Projekt bestand die Aufgabe darin eine bestehende Android- anwendung zu erweitern. Die Anwendung verwendet ein spezielles Framework, um Fahrzeugdaten zu erfassen und darzustellen, mit einem Backend-Server zu kommunizieren und Aufträge entgegenzunehmen.

Diese Anwendung wurde erweitert, um Bluetooth-Geräte zur Datenerfassung (Scanner, Fahrzeugdaten) zu unterstützen. Zusätzlich wurden noch eine Netzwerküberwachung sowie Schnittstellen für RFID Karten entwickelt.


Kontaktanfrage

Einloggen & anfragen.

Das Kontaktformular ist nur für eingeloggte Nutzer verfügbar.

RegistrierenAnmelden