Intro
Glad you found the way to my homepage. I am a freelance software engineer with many years of practical experience in the industry doing mainly system design and programming.
Over the last couple of years I was involved in many projects in the fields of Android, Automotive and Connected Car. But other topics are just as welcome, with roles as software architect, team lead and definitely also hands-on development.
If you are interested in my services, please send me an email or simply call me.
Top Skills
Android
Java
Mobile Architecture
C / C++
Kotlin
Team Lead
Automotive / Connected Car
Databases
Unix
Mac OS
Windows
Projects
Android & Backend Architect and Lead Developer (Automotive) for a company which develops vehicle-engine-tuning modules. A newly developed smartphone application communicates with the tuning-module via Bluetooth Classic & Low Energy to adjust car-tuning parameters and select programs. There are several hardware variants of the modules, which are each controlled by a separate app. All these apps can be generated from the same source code base, so that code maintenance is less complex. Each application also connects to a central backend via REST API to send module data and statistics and download updated configurations or firmware. I am responsible for design and development of the Android app and the backend, additionally I am coordinating the iOS development.
Maintenance of an app for public transport in Nuremberg. This is a follow-up order for the project from 03/2020 - 03/2021, see below.
Integration of a TSE (technical security device) in accordance with the German tax regulations into an existing Android app for medium-sized taxi companies.
Development of an Android app for a research project to track road users in order to optimize traffic flow in a German city.
Maintenance of an existing fleet management app and design of a framework for a new app to be installed on Android custom hardware in the fleet’s vehicles.
Maintenance of an app for local public transport in Nuremberg. This is a follow-up assignment of the project 03/2020 - 03/2021, see below.
Android UI and Service framework for an app to be deployed in a locomotive cab to help the driver choose an efficient driving strategy. The business logic was completely implemented by the customer and runs in a background service. I was responsible for setting up a state-of-the-art Android framework so that the background service can communicate with the UI components asynchronously and according to the MVVM concept. I also realized some dynamic graphical UI components.
Design and implementation of several Android apps to enable users to administer their private data and provide access permissions to third parties for viewing the user’s private data in accordance with the European GDPR. Additionally design and implementation of a backend with REST-API to access the privacy/permissions database for logged in users. This REST-API can be used by the above mentioned Android app and also by other clients (e.g. iOS, web app).
Framework and part of an app for local public transport in Nuremberg. Design and implementation of a chat module with WhatsApp-like functionality, including text chat with embedded multimedia elements (pictures and other documents). Users can chat with customer support and subscribe to news and traffic updates, with WhatsApp like functionality and UI. Communication with the backend via REST API.
App-prototype for an app for package delivery agents. Proof-of-concept and Android application framework for an app which will run as the only application in kiosk mode on a rugged device. The user will be able to start a Google Maps turn-by-turn navigation from the app. When the navigation is completed or cancelled, the kiosk-mode app will take back control.
Android App Prototype for a payment solution. A client app (e.g. shopping app) sends the payment data to a payment provider server app on the same device. The payment server app then displays an overlay UI with the payment details on top of the client app. Now the user can confirm the payment. In a real world use case the payment server app would then handle the payment transaction with the payment provider backend, but that was not part of the prototype.
Android Architect (Automotive) for SCANIA Deutschland. Concept and implementation of an Android native tablet app for damage assessment of truck rental returns. The app embeds an existing web app and extends it with native functionality (camera, image editor). Communication with an existing backend via REST API.
Android Architect/Developer for T-Systems Multimedia Solutions. Concept and basic building blocks of a framework for development of a native Android email app.
Android Architect/Developer for contura Modellbau, Berlin. Concept for and development of an Android native tablet app with connection to external hardware via Bluetooth LE. The app runs in kiosk-mode on a tablet which is embedded in an architectural model. Users can press external hardware buttons to invoke functions within the tablet app, e.g. to play videos.
Android Architect/Developer for a German social media company. Development of a location based messaging functionality for a students’ app. With this students can post text and images to a public group board and rate the postings of other participants. Communication with an existing backend via REST API.
Android Architect for Mobility Media GmbH, a BOSCH subsidiary in Berlin. Responsible for the communication with offshore and nearshore development teams, creating concepts for technical architecture, security assessments, all for a Connected-Car project and accompanying SDK for Android, iOS which connects to a backend/portal system.
Android Architect (Automotive): Redesign of an Android-App which is part of vehicle fleet administration system with automated driver’s logbook, logging of routes, petrol stops, driver’s authentication, with direct connection to vehicle via OBD2/bluetooth to query the available vehicle parameters. The app will now be connected to a new backend server and the evaluation of car values will be enhanced.
Android Architect (Automotive): Enhancement of the Android-Wear smartwatch application which was started at the end of 2014 and served as a Connected-Car showcase for car expos. The Android companion app can now also be displayed on tablets and includes new scenarios for the showcase, including Digital Car Key functions.
Design and implementation of an Android device driver and an Android test application for a Bluetooth-OBD-Dongle in a car. The connection is first established on the Bluetooth layer and then cryptographically authenticated. The test application enables the subscription and display of current car values, such as fuel consumption etc.
Android Architect (Automotive): Concept for modularization and documentation for an app framework to be used for the Android apps of Volkswagen AG.
Architecture and implementation of Google Deep Linking in one of the most popular German-language weather apps with several million downloads. The new functionality had to be embedded into the existing application framework and unit tests had to be implemented.
Review and technical redesign of an Android app in the field ConnectedCar. The app connects to a car via a Bluetooth-OBDII dongle. The user can view current and historical data on his smartphone, such as fuel consumption, driver log, error and maintenance messages etc. The customer is Volkswagen AG who will offer the app and dongle as an accessory for his cars.
Android showcase-app for display of wrong-way drivers on highways which are detected automatically. The time and coordinates will be displayed in the app, accompanied by a Google map display. This is part of a research project by a major German car manufacturer who wants to integrate such a display in his cars. Additionally various other aspects of the research project are being visualized in the app.
Android Wear smart-watch application, a Connected-Car showcase to be shown on an auto fair. The user can select certain functions on his Android Wear smart-watch which will be triggered on the connected car, e.g. unlock/lock doors, media player functions etc. Additionally certain information from the car can be displayed on the user’s watch, like fuel consumption, fuel capacity, mileage etc. The customer is Volkswagen AG who considers implementing such functionality in production cars.
Android tablet app, a showcase for a security solution for big trucks. The showcase runs on several Nexus 10 tablets which communicate in a LAN. One of the tablets will act the role of a burglar who can enter the truck’s security zone. If that happens an alarm will be triggered on the other tablets which can act as either truck driver or fleet administration. The alarm will be displayed graphically and acoustically on the other tablets as well as a photo of the burglar will be taken and transmitted over the network. The customer is Volkswagen AG who intends to develop a procuction security solution based on this showcase.
Android-App which is part of vehicle fleet administration system with automated driver’s logbook, logging of routes, petrol stops, driver’s authentication, with direct connection to vehicle via OBD II / Bluetooth to query the available vehicle parameters. The logged data is being synchronized via JSON/REST-API with the vehicle fleet administration system which runs on a SAP backend. The customer is Volkswagen AG who markets the solution as part of vehicle fleet sales.
New versions of some trade fair info apps under Android:, e.g. for “ILA Air Show” in Berlin, SMM ship fair in Hamburg, furthermore “ITB Berlin”, “nortec”, “Reisen Hamburg”, “Best of Events”, “HansePferd”. The app reads the trade fair data from a web service and stores the data in an internal SQLite database. The information is presented to the user in a well structured way. The user can save favorites, take notes, save contacts and phone or email the exhibitors from within the app. These apps are based on the framework developed by me in 2011/2012.
C++ projekt: server monitoring in mainframe + Unix data centers, log file monitoring, data format conversion, data verification, data repair.
Android app for medical/fitness, with pedometer and activity statistics, graphic evaluation, login and storage on a server.
Android app for local ads, with photo and Google Map view, communication with a server.
Android app for regional tourism including Google Maps functions and location aware techniques, picture gallery and a very fast and versatile search function in the directory listing. Search results can be displayed in a list or as interactive pins on a map. This app will also serve as a framework for upcoming regional tourism apps.
Trade fair info apps under Android:, e.g. for “ILA Air Show” in Berlin, SMM ship fair in Hamburg, furthermore “ITB Berlin”, “nortec”, “Reisen Hamburg”, “Best of Events”, “HansePferd”. This app was designed and developed from scratch using an existing iOS app as a model. The app reads the trade fair data from a web service and stores the data in an internal SQLite database. The information is presented to the user in a well structured way. The user can save favorites, take notes, save contacts and phone or email the exhibitors from within the app. Furthermore this app serves as a framework for a whole series of similar trade fair apps.
E-Book App for Android, using the existing iOS app “Fingerspiele” as a model.
Small showcase app for Android / iOS for a software company that develops apps for both platforms. This app displays poems which are downloaded from a webservice.
Part of development team of a classified ad app (iOS + Android) which is used by many publishing companies all over the world
Design/implementation of a native Apple iPhone multimedia application which acts as a client of an enterprise application server.
Design/implementation of SOA components in PowerBuilder-Sybase-EAServer project for integrated print+web solutions.
Design/implementation of a solution to store credit card data securely in a RDBMS using Triple-DES.
Various enhancements (hyphenation, spellchecker, Unicode) to the before mentioned WYSIWYG-Editor and to the newspaper ad-taking application.
Java-Client with GUI (using Swing) and C++-Server, part of a professional print management software package.
C++ Windows application for recognizing text in TV broadcasts (using Abbyy FineEngine OCR and Hauppauge WinTV SDK).
BMC Patrol Knowledge Modules, e.g. a versatile logfile adapter and Netware print server monitoring.
Design/Implementation of the kernel of a major newspaper ad-taking application (using Sybase).
WYSIWYG-Editor implemented as Windows DLL for a PowerBuilder application.
Voice mail kernel and -applications with interface to Oracle database.
Inter process communication module on top of Novell IPX/SPX
Design/Implementation of an OO programming language (compiler, runtime, RDBMS interface…) for WILD AG, Heidelberg
Design of an event-oriented UI for dumb terminals (runtime system + UI description language + translator)
Large warehouse realtime control and management system including implementation of a DBMS
Operating system for a fault tolerant multi-processor-system (underwater robot).
Design/Implementation of the geometry kernel for a 2D CAD application.
Skills & Tools
- Automotive
- Publishing Print
- Publishing Online
- Logistics
- Mechanical Engineering
- Telecoms
- Radio/TV
- Public Administration
- Banks
- IT-Services
- Food Industry
- Aviation
- Tourism
- Health system
- Public Transport
- Google Android SDK/NDK app development (Smartphones, Tablets, Android Wear Smartwatch)
- Android Studio / IntelliJ
- Eclipse (Android, Java, C++)
- Apple iPhone iOS native app development
- Windows Systemprogrammierung
- MS Visual Studio (C++, C#, VBA)
- Apple Xcode
- Borland C++
- Borland JBuilder
- objektorientierte Entwicklung (OOA/OOD/OOP)
- Agile Software Development, SCRUM Master
- BMC Patrol KM Entwicklung
- Triple-DES Verschlüsselung
- Revision Control: git, Subversion SVN, Mercurial, CVS, SourceTree, TortoiseSVN, gitGUI
- Build Tools: Gradle, Maven, Ant, Make
- Atlassian JIRA, Portfolio, Confluence, Stash, SourceTree
- Mantis
- HTML, CSS, REST, XML, JSON, Gson
- JMeter, RESTClient
- OpenAPI / Swagger
- Reactive Programming, RxJava, RxAndroid
- Clean Code
- Android SDK
- Android Wear
- Android Architecture Components
- Android Jetpack Components
- Android Security / Reverse Engineering : Apktool, jadx, bytecode-viewer
- DexGuard / ProGuard app hardening
- Android Google Maps API V1 / V2
- Android Frameworks for Bluetooth & Bluetooth LE
- Android Kiosk Mode
- Google Play Services
- Google ActionBarCompat
- Google Android Location API
- ActionBar Sherlock
- Google GSON
- basic-http-client / AndroidHttpClient (Chandler) - XML Pull Parser
- greenrobot / EventBus
- SQLite
- Realm
- Unit tests: JUnit, Espresso
- Retrofit
- Dagger
- RxJava
- MVP and MVVM architecture
- Bluetooth / Bluetooth LE
- CORBA
- Ethernet
- Internet, Intranet
- Proprietary protocols
- RPC
- RS232
- SMTP
- SNMP
- TCP/IP
- UUCP
- Windows Networks
- Winsock
Hands-on experience in these languages:
Language | since |
---|---|
C | 1986 |
C++ | 1990 |
Java | 1999 |
Kotlin | 2017 |
JavaScript | 2005 |
HTML, XML | 1999 |
Shell (sh, tcsh, bash) | 1990 |
yacc/lex | 1992 |
Assembler | |
Basic | |
C# | |
ESQL/C | |
Imake, GNU-Make | |
Macro languages | |
Modula-2 | |
Objective C | 1990 |
Pascal | 1986 |
PL/SQL | |
Powerbuilder | 1995 |
Script languages | |
Smalltalk |
Database | since |
---|---|
SQL | 1985 |
Oracle | 1990 |
Postgres | 2000 |
Sybase | 1991 |
MS SQL Server | 1997 |
MySQL | 2000 |
SQLite | 2010 |
Adabas | 2000 |
DB2 | 2000 |
ODBC | 1995 |
Realm | 2016 |
CortexDB | 2018 |
Type | OS |
---|---|
Apple Mac | MacOS X |
Apple iPhone / iPad | iOS |
Android Phones, Tablets | Android |
Android Wear Watch | Android |
NeXT Cube / Station | NEXTSTEP |
PC | Windows, Linux |
Echtzeitsysteme | RTOS |
Embedded Systeme | various |
Proprietäre HW | various |
Siemens MX | ORG/M |
SPS | SIMATIC S5 |
Control systems | various |
SUN | Solaris |
DEC VAX | VAX/VMS |
Language | Level |
---|---|
German | native |
English | professional |
Spanish | advanced |
Portuguese | basic |
Thai | basic |
Years | |
---|---|
1983-1988 | Computer Science at TU Berlin, focus on software engineering, embedded software, operating systems, languages and compilers |
1990 | Certified NeXT Developer (NEXTSTEP) |
1991 | Object Oriented Programming and Design (ACM training course) |
1999 | Certified BMC Patrol Knowledge Module Developer |
2010 | Certified ScrumMaster (Scrum Alliance / Boris Gloger) |