Java(EE), Android und iOS Entwicklung
Aktualisiert am 09.03.2021
Profil
Freiberufler / Selbstständiger
Verfügbar ab: 01.01.2022
Verfügbar zu: 100%
davon vor Ort: 100%

Einsatzorte

Einsatzorte

München (+20km)
nicht möglich

Projekte

Projekte

7 Monate
2020-04 - 2020-10

Multibanking Apps

Softwareentwickler Kotlin Swift Kotlin Multiplatform ...
Softwareentwickler

Auf Basis von FinTS sollten eine Multibanking iOS- und Android App sowie eine REST API implementiert werden. Plattformübergreifende Implementierung der FinTS Spezifikation und UIGeschäftslogik mit Kotlin Multiplatform um größtmögliche Teile der Codebasis gleichermaßen für alle Clients verwenden zu können. Für Android und iOS sollten native Apps entwickelt werden, die REST API mit Quarkus.

  • Plattformübergreifende FinTS Implementierung und UI Geschäftslogik auf Basis von Kotlin Multiplatform
  • Entwicklung nativer Apps für iOS und Android
  • Implementierung REST API mit Quarkus
  • Softwarearchitektur, Spezifikation Geschäftslogik, Sicherstellung Softwarequalität und Wartbarkeit
Xcode Android Studio Lucene iText
Kotlin Swift Kotlin Multiplatform Kotlin Native Coroutines Ktor FinTS SwiftUI UIKit Core Data Xcode Android Room Dagger AndroidX Android Studio Gradle Quarkus JUnit Mockito AssertJ Authentifizierung mit Fingerabdruck / FaceID Lucene iText jSoup SwiftSoup Datenbankverschlüsselung Git
3 Monate
2020-01 - 2020-03

Serveradministration und Backend industrieller Heizungsanlagen

Softwareentwickler Java Spring Hibernate ...
Softwareentwickler

Zur Fernwartung und Konfiguration industrieller Heizungsanlagen sollten die bestehenden Serversysteme administriert und auf eine neue Kubernetes Infrastruktur umgezogen werden. Zudem sollten geobasierte Zugriffssperren implementiert, das Berechtigungssystem an länderspezifische Gesetzgebung anpassbar gemacht und Nutzerrechte auf Third Party Nutzer übertragen werden können.

  • Serveradministration
  • Sicherstellung Netzwerkfernzugriff per HTTP, VNC und Programmierschnittstelle durch Ip-tables Konfiguration
  • Implementierung Geoblocking und länderspezifisches Berechtigungssystem
  • Spezifikation einladbaren Nutzern Nutzerrechte zu gewähren
  • Wartung, Bugfixing und Qualitätsverbesserung bestehender Anwendungen
GitLab IntelliJ
Java Spring Hibernate Kubernetes JUnit Google Truth Mockito Asciidoc Swagger Git iText Iptables Konfiguration in Docker Containern
1 Jahr 10 Monate
2018-03 - 2019-12

Backend IoT Heizungssteuerung

Java Spring SpringBoot ...

In die bestehende IoT-Plattform eines Heizungsherstellers sollte in die REST API und ins Vaadin Webfrontend eine neue Gerätegeneration integriert werden. Die Heizungsanlagen können von Nutzern per App gesteuert und von Installateuren per Web Frontend gewartet werden. Zudem sollte das Web Frontend auf eine neuere Vaadin Version migriert und die Anwendung performanter und wartbarer gemacht werden.

  • Erstellen REST API mit Spring
  • Implementierung Kompatibilitätsschicht zwischen neuer und bestehender API
  • Unit Tests, Einführung von Integrations-, System- und Lasttests mit hoher Testabdeckung
  • Migration des Web Frontends von Vaadin 6 auf 8
  • Verbesserung Code Qualität und Performanz
MariaDB Jackson Mosquitto RabbitMQ Vaadin GitLab IntelliJ Jenkins Jira Confluence Hazelcast
Java Spring SpringBoot Hibernate JPA SQL MariaDb Liquibase REST JSON SOAP SoapUI AMQP MQTT RabbitMQ Mosquitto Camel Hazelcast Vaadin 8 ein bißchen Grafana Prometheus und Metrics / Micrometer JavaScript CSS JUnit AssertJ Mockito WireMock Selenium Cucumber Akka Python Maven Git GitLab Jenkins Docker Docker Compse IntelliJ Jira Confluence Scrum Reviews Pair Programming Softwarearchitektur Design Patterns
3 Monate
2019-04 - 2019-06

Eigenprojekt: Rechnungsverwaltung

Kotlin Java JavaFX ...

Eigenprojekt zur Verringerung des monatlichen Verwaltungsaufwandes. Gebuchte Aufwände werden per REST API vom Zeiterfassungstool abgeholt und per Templates automatisch daraus Rechnungen generiert. Anbindung an Online Banking zur automatischen Erfassung der bezahlten Rechnungen und geschäftlichen Ausgaben eines Monats zur Erstellung der Umsatzsteuervoranmeldung. Hochladen der Umsatzsteuervoranmeldung zu Elster per Programmierschnittstelle.

  • Softwarearchitektur: Trennung der Anwendung in die Schichten UI, Business logic und Data access layer
  • Integration Fremdkomponenten in eigene Architektur und Datenmodell (Harvest REST API für die Zeiterfassung, HBCI / FinTS über hbci4java, Anbindung des Elster Rich Clients zur Kommunikation mit Elster)
  • Templatingsystem zur automatisierten Rechnungserstellung mit Velocity (über XDocReport)
  • Desktopoberfläche mit JavaFX (TornadoFX)
  • Unit und Integration (jedoch nicht UI) Tests
Velocity Couchbase Lite Jackson OkHttp LogBack Slf4J
Kotlin Java JavaFX TornadoFX Harvest REST API Velocity XdocReport HBCI / FinTS RxJava Couchbase Lite JSON Dagger 2 JPA KAPT OkHttp Jackson LogBack Slf4J JUnit Mockito AssertJ Gradle Git IntelliJ Softwarearchitektur Design Patterns
8 Monate
2017-07 - 2018-02

Eigenprojekt: Wissensmanagementapp DeepThought

Software Entwickler und Architekt Android Kotlin Java ...
Software Entwickler und Architekt

App um seine Wissenssammlung an einer zentralen Stelle zu speichern und ständig lokal verfügbar zu haben. Integration einer Suchmaschine um selbst große Datenbestände im Millisekundenbereich zu durchsuchen. Cloudlose Multi-Master Synchronisation mit anderen Android Geräten oder Desktop Computern über das lokale Netz.

Anwendungsdetails

  • Softwarearchitektur: Trennung der Anwendung in die Schichten UI, Business logic und Data access layer. Verwendung des Architekturpatterns VIPER (View, Interactor, Presenter, Entity, Routing) zur logischen Aufgliederung der UI Schicht.
  • Verwendung der NoSQL Datenbank Couchbase Lite
  • Multi-Master Synchronisation der Daten über das lokale Netzwerk (ohne Server!)
  • Entwicklung eines eigenen JPA Providers für Couchbase Lite
  • Entwicklung eines Annotation Processors für JPA Annotationen für den APT Build Schritt um die JPA Entity Konfiguration bereits zur Compile- und nicht erst zur Laufzeit zu lesen
  • Suchindex mit Lucene
  • Entwicklung eines eigenen Rich Text Editors für Android
  • Continuous Integration: Ein in einem Docker Container laufender Jenkins für periodische Builds, Unit und Integration (jedoch nicht UI) Tests
Android Studio JavaPoet Jackson Jsoup Jenkins SonarQube Couchbase Lite OkHttp Lucene Docker
Android Kotlin Java JavaScript JSON Dagger 2 JPA Couchbase Lite Lucene APT JavaPoet Reflection OkHttp Jackson Jsoup MBassador Espresso JUnit Hamcrest Mockito Gradle Git Git Flow Android Studio Jenkins SonarQube Softwarearchitektur Design Patterns
5 Monate
2017-02 - 2017-06

Android App zur Steuerung intelligenter Lampen

Software Entwickler und Architekt Android SDK Java WebSockets ...
Software Entwickler und Architekt

ComfyLight Lampen detektieren Bewegungen und erkennen, wenn die Besitzer das Haus verlassen. Wird eine unerwartete Bewegung erkannt, werden die Besitzer sofort über die Smartphone App informiert und können live verfolgen in welchen Räumen Bewegungen wahrgenommen werden. Zur Abschreckung von Einbrechern simulieren die Lampen bei Abwesenheit aus den gewonnen Bewegungsdaten Verhaltensmuster als wären die Besitzer zu Hause.

  • Weiterentwicklung und zur Marktreife Bringung der Alpha App
  • Hinzufügung neuer Lampenfeatures und Produktpflege
  • Refactoring des Bestandcodes für bessere Wartbarkeit
  • Einführung automatisierter, periodischer Integrationtests auf einer Vielzahl von echten Android Geräten
  • Softwarearchitektur und Code Qualitätssicherung
Android SDK Java WebSockets REST Protobuf JSON Dependency Injection mit Dagger 2 (und Android Annotations) Geo Location Services (GeoFence) Greenrobot EventBus JUnit Hamcrest Mockito UI Tests mit Espresso verteiltes Testen mit Spoon Gradle Git Git Flow Android Studio Jenkins SonarQube Fastlane Phabricator
ComfyLight
München
2 Monate
2017-01 - 2017-02

Messe App für die Conexpo 2017

Software Entwickler Objective-C Java REST ...
Software Entwickler

Weiterentwicklung untenstehender Messe App.

  • Update der iOS App auf iOS 10

  • Update der Android App auf Android 6

  • Anpassen der App Inhalte auf den neuen Messeauftritt

Xcode Android Studio
Objective-C Java REST Gradle JSON Git Android iOS REST
Liebherr
München
5 Monate
2016-04 - 2016-08

Smart Home App auf Cordova Basis

Software Entwickler JavaScript Java Objective-C ...
Software Entwickler

Weiterentwicklung einer bestehenden Smart Home App, die die Steuerung von Smart Home Geräten verschiedener Hersteller unter einer Nuterzoberfläche vereint. Statt die jeweiligen Hersteller Apps benutzen zu müssen, können mit ihr Sonos Lautsprecher, Philipps Hue und Osram Lightify Leuchten, KNX Geräte (Lampen, Heizungen, Rolläden, Garagentore, Fensterkontakte, Schalter, ...), WeMo Steckdosen, Türsprechanlagen, intelligente Rauchmelder und viele weitere von einer einzigen App aus gesteuert werden.

  • Schnittstellenimplementierung zu Smart Home Geräten, vorwiegend KNX
  • Netzwerkverbindungsschicht
  • Entwicklung nativer Cordova Plugins für Android, Verbesserung bestehender für iOS
  • Architekturverbesserung
  • Migration von Legacy Code
  • Profiling und Performance Optimierung der bestehenden App
  • Implementierung von Workarounds für in Cordova nicht berücksichtigte Android Spezifika (Ethernet, …)
Cordova KNX Google Traffic Service WebStorm Visual Studio Code Android Studio Xcode Atlassian JIRA Atlassian Confluence
JavaScript Java Objective-C Cordova Plugin Entwicklung Git Flow Git Scrum Android iOS
iHaus
München
2 Monate
2016-02 - 2016-03

Umsetzung einer WebRTC App für Cordova

Software Entwickler JavaScript jQuery Java ...
Software Entwickler

Eine bestehende Browser WebRTC Anwendung sollte für iOS und gängige Android Versionen umgesetzt werden. Herausforderung hierbei war, dass WebRTC von iOS nicht und von Android erst ab Version 5 unterstützt wird. Zudem wurde ein Buildserver entwickelt mit dem Kunden anhand dieser Codebasis ihre eigene angepasste App (eigenes Branding, Farbgebung, Menüführung, App Icon, App Name, Bundle ID bzw. Package Name für den App bzw. Play Store, …) erstellen können.

Buildserver:

  • Architektur und Implementierung des Build Servers

  • Verwendung des Spring Stacks: Dependency Injection, Scheduling und JDBC (Oracle DB bzw. H2 Embedded für Unit Tests)

  • Unit und Integration Tests

iOS und Android App:

  • iOS WebRTC Plugin funktional bekommen, bestehende Anwendung daraufhin anpassen

  • Performance Optimierung der bestehenden Anwendung v.a. hinsichtlich iOS

  • Crosswalk für Android Versionen älter als Android 5

  • Zugriff (Berechtigungskonzept) auf Kamera und Mikrophon unter iOS und Android

Cordova Xcode Android Studio Jackson Crosswalk ImageMagick
JavaScript jQuery Java Objective-C WebRTC Spring JDBC JSON XML JUnit Mockito Maven SVN Swift (passiv)
ECT
München
2 Monate
2016-02 - 2016-03

Messeapp für verschiedene Messeauftritte

Java Objective-C C# ...

Für die Baumaschinenmessen Bauma 2013, ConExpo 2014 und Bauma 2016 wurden jeweils Apps zur Begleitung des Messeauftritt für iOS, Android und Windows Phone entwickelt. Die Messeprodukte wurden kategorisiert in einer hierarchischen Darstellung angezeigt, bestimme Produkte auf der Startseite hervorgehoben und der Messeaufbau des Herstellers mit einem Karten Overlay für MapKit, Google Maps bzw. Bing Maps dargestellt. Zudem konnte man sich die Standorte der Produkte auf der Karte anzeigen lassen und es gab einen News Ticker für Messenachrichten. Der Hersteller konnte die Inhalte und Hervorhebungen in einem CMS auf SharePoint Basis selbst festlegen.

  • Anbindung an den Webservice der demilitarisierten Zone
  • Einbinden von Google Maps bzw. Bing Maps
  • Darstellung des Messeaufbaus des Kunden als Overlay in diesen Karten
  • Umsetzung einer Windows Store (Windows 8) Demoanwendung für die Bauma 2013
  • Nahtlose Integration der App in Windows (Windows Suche, App Einstellungen)
  • Migration und Aktualisierung der bestehenden iOS App für die Bauma 2016
Java Objective-C C# Android Windows Store Apps Google Maps Bing Maps JSON UML Eclipse Android Studio Xcode Interface Builder Visual Studio Team Foundation Server Git
Liebherr
5 Monate
2015-10 - 2016-02

Assistenzsystem für Güterzüge

Software Entwickler Java JavaEE Vaadin ...
Software Entwickler

JavaEE Backend und Vaadin Frontend Entwicklung zur Assistenz von Lokführern von Güterzügen. Anhand von Geoinformationen sollten dem Lokführer auf einem On Board Gerät Hinweise zur optimalen Zugführung angezeigt werden um Energiekosten in Höhe von mehreren Millionen Euro jährlich sparen zu können. Zudem sollte eine große Anzahl verschiedenster Messwerte der Züge verarbeitet und in Tabellen- und Kartenform dargestellt und eine Verwaltungsoberfläche implementiert werden.

  • UI Programmierung mit Vaadin

  • Integration Tests mit Vaadin Testbench

  • Datenbankzugriff mit JPA

  • Generischer Datenfilter auf Basis der JPA Criteria API

  • OSGi Bundles entwickeln und Dependency Injection mit Blueprint

IntelliJ IDEA Blueprint Atlassian Confluence Artifactory
Java JavaEE Vaadin Maven Vaadin Testbench JPA JPA Criteria API JUnit Mockito SVN OSGi (Apache Karaf)
Knorr Bremse
München
11 Monate
2014-02 - 2014-12

System zur kabellosen Lichtsteuerung von Geschäftsgebäuden

Software Entwickler Java Android Swing ...
Software Entwickler

Zur Ablösung des komplexen DALI Standards sollte ein einfach zu bedienendes System zur Steuerung der Lichtanlagen von Geschäftsgebäuden für die neuen Osram Lightify Leuchten entwickelt werden. Sämtliche Leuchten und Sensoren können damit identifiziert, auf einem Gebäudeplan angeordnet, parametriert und zentral gesteuert werden.

  • Entwicklung und Komplettarchitekur einer Java Swing zur Steuerung und Überwachung des Busses (Management Konsole)
  • Gewährleistung der Android Kompatibilität der Java Anwendung
  • Verbesserung der Architektur der bestehenden iOS Anwendung
  • Entwicklung einer Android Demonstrationsanwendung
  • Testen und Codequalität
  • Kommunikation auf Low Level Ebene (ZigBee Befehle) mit dem Gateway der Funkleuchten, asynchrone threadsichere Messagequeue
  • Synchronisierung der Verwaltungsdaten zwischen den Apps und der Java Anwendung
Nexus NetBeans jmDNS Android Studio
Java Android Swing JavaFX Hibernate JSON Git Gradle JUnit JMeter UML Design Patterns
Osram
München
1 Monat
2014-10 - 2014-10

App zur Leihe von Baumaschinen

Java Android JSON ...

App zum Auffinden von Verleihpartnern für Liebherr Baumaschinen für iOS, Android und Windows Phone. Es konnten sowohl Händler als auch Produkte gesondert dargestellt und durchsucht und Distanz und Strecke zu nahe gelegenen Händlern auf einer Karte angezeigt werden.

  • Migration der bestehenden Messeapp (siehe oben) für Android
  • Teilimplementierung der Android UI
  • Anbindung ans Backend und Umsetzung des Datenmodells
Java Android JSON Eclipse Team Foundation Server UML
Liebherr
1 Monat
2014-07 - 2014-07

App zur Leihe von Baumaschinen

Software Entwickler Java Android JSON ...
Software Entwickler

App zum Auffinden von Verleihpartnern für Liebherr Baumaschinen für iOS, Android und Windows Phone. Es konnten sowohl Händler als auch Produkte gesondert dargestellt und durchsucht und Distanz und Strecke zu nahe gelegenen Händlern auf einer Karte angezeigt werden.

  • Migration der bestehenden Messeapp (siehe unten) für Android

  • Teilimplementierung der Android UI

  • Anbindung ans Backend und Umsetzung des Datenmodells

Eclipse Team Foundation Server
Java Android JSON UML
Liebherr
München
1 Monat
2014-02 - 2014-02

Messeapp für verschiedene Messeauftritte

Java Objective-C C# ...

Für die Baumaschinenmessen Bauma 2013, ConExpo 2014 und Bauma 2016 wurden jeweils Apps zur Begleitung des Messeauftritt für iOS, Android und Windows Phone entwickelt. Die Messeprodukte wurden kategorisiert in einer hierarchischen Darstellung angezeigt, bestimme Produkte auf der Startseite hervorgehoben und der Messeaufbau des Herstellers mit einem Karten Overlay für MapKit, Google Maps bzw. Bing Maps dargestellt. Zudem konnte man sich die Standorte der Produkte auf der Karte anzeigen lassen und es gab einen News Ticker für Messenachrichten. Der Hersteller konnte die Inhalte und Hervorhebungen in einem CMS auf SharePoint Basis selbst festlegen.

  • Teilimplementierung der Android App für die Bauma 2013 und ConExpo 2014
  • Anbindung an den Webservice der demilitarisierten Zone
  • Einbinden von Google Maps bzw. Bing Maps
  • Darstellung des Messeaufbaus des Kunden als Overlay in diesen Karten
  • Nahtlose Integration der App in Windows (Windows Suche, App Einstellungen)
Java Objective-C C# Android Windows Store Apps Google Maps Bing Maps JSON UML Eclipse Android Studio Xcode Interface Builder Visual Studio Team Foundation Server Git
Liebherr
3 Monate
2012-12 - 2013-02

Messeapp für verschiedene Messeauftritte

Software Entwickler Java Objective-C C# ...
Software Entwickler

Für die Baumaschinenmessen Bauma 2013, ConExpo 2014 und Bauma 2016 wurden jeweils Apps zur Begleitung des Messeauftritt für iOS, Android und Windows Phone entwickelt. Die Messeprodukte wurden kategorisiert in einer hierarchischen Darstellung angezeigt, bestimme Produkte auf der Startseite hervorgehoben und der Messeaufbau des Herstellers mit einem Karten Overlay für MapKit, Google Maps bzw. Bing Maps dargestellt. Zudem konnte man sich die Standorte der Produkte auf der Karte anzeigen lassen und es gab einen News Ticker für Messenachrichten. Der Hersteller konnte die Inhalte und Hervorhebungen in einem CMS auf SharePoint Basis selbst festlegen.

  • Teilimplementierung der Android App für die Bauma 2013 und ConExpo 2014
  • Anbindung an den Webservice der demilitarisierten Zone
  • Einbinden von Google Maps bzw. Bing Maps
  • Darstellung des Messeaufbaus des Kunden als Overlay in diesen Karten
  • Umsetzung einer Windows Store (Windows 8) Demoanwendung für die Bauma 2013
  • Nahtlose Integration der App in Windows (Windows Suche, App Einstellungen)
Java Objective-C C# Android Windows Store Apps Google Maps Bing Maps JSON UML Eclipse Android Studio Xcode Interface Builder Visual Studio Team Foundation Server Git
Liebherr
München
2 Jahre 9 Monate
2010-04 - 2012-12

iPad Live Streaming Anwendung

Software Entwickler C# / .NET Objective-C WCF ...
Software Entwickler

Eine der ersten iPad Apps weltweit mit Live Streaming des Fernsehprogramms. Anzeige des verschlüsselten Live Streams, übersichtliche Darstellung des Programms sämtlicher Sender, Sendungsarchiv und Datencenter für Sportereignisse. Implementierung eines Sicherheitsservices um nur autorisierten Kunden Zugang zum Live Stream zu gewähren, Anbindung von und Importer für CMS der Sendungsdaten.

  • Migration des Security Web Services zur Anpassung an neues Backend
  • Sessionmanagement und Zugangsberechtigung zum Live Stream
  • Anpassen des Web Services für Hosting in Azure
  • Teilimplementierung für Multiinstanzfähigkeit des Web Services
  • Konzeption und Implementierung des Importers der Sendungsdaten ins CMS
  • Transformation mittels XSLT, Hotfolder Überwachung
  • Überwachung und Wartung des Services
  • Implementierung einer iPhone Demonstrationsanwendung
C# / .NET Objective-C WCF RESTful Services SOA Azure Dependency Injection SOAP XML XSLT Visual Studio Xcode UML SOAP UI Mercurial SVN
Sky
München

Kompetenzen

Kompetenzen

Produkte / Standards / Erfahrungen / Methoden

Agile Softwareentwicklung
Android Annotations
Android SDK
Android Studio
Apache Karaf
APT
Artifactory
Azure
Bing Maps
Blueprint
Clean Code
CodedUI Test
Confluence
Cordova
Plugin Entwicklung
Core Data
Couchbase Lite
Crosswalk
CSS
Dagger 2
Dependency Injection
Design Pattern
Eclipse
Espresso
EventBus
Fastlane
FinTS
Geodaten
GeoFence
Git
Git Flow
Google
Maps, Traffic Service
Gradle
Greenrobot EventBus
Hamcrest
HBCI
Hibernate
ImageMagick
IntelliJ
IDEA
Interface Builder
iOS
iText
Jackson
JavaFX
JavaPoet
Jenkins
Jira
jmDNS
JMeter
JPA
JPA Criteria API
JSON
Jsoup
JUnit
KNX
Liquibase
Lucene
Maven
MBassador
Mercurial
Mockito
multi-tier Softwarearchitektur
NetBeans
Nexus
OkHttp
OSGI
Phabricator
Protobuf
Reflection
REST
Scrum
SOA
SOAP
SOAP UI
Softwarearchitektur
SonarQube
Spring
SVN
Swift
Swing
Team Foundation Server
Vaadin
Vaadin Testbench
Velocity
Verteiltes Testen mit Spoon
Visual Studio
Visual Studio Code
VisualVM
WCF
WebRTC
WebStorm
Windows Store Apps
Xcode
XML
XSLT

Betriebssysteme

Android
Iptables

Programmiersprachen

C#
Java
8, EE
JavaScript
jQuery
Kotlin
Objective-C
UML

Datenbanken

Hazelcast
JDBC
MariaDB
NoSQL
SQL

Datenkommunikation

MQTT
Web Sockets

Einsatzorte

Einsatzorte

München (+20km)
nicht möglich

Projekte

Projekte

7 Monate
2020-04 - 2020-10

Multibanking Apps

Softwareentwickler Kotlin Swift Kotlin Multiplatform ...
Softwareentwickler

Auf Basis von FinTS sollten eine Multibanking iOS- und Android App sowie eine REST API implementiert werden. Plattformübergreifende Implementierung der FinTS Spezifikation und UIGeschäftslogik mit Kotlin Multiplatform um größtmögliche Teile der Codebasis gleichermaßen für alle Clients verwenden zu können. Für Android und iOS sollten native Apps entwickelt werden, die REST API mit Quarkus.

  • Plattformübergreifende FinTS Implementierung und UI Geschäftslogik auf Basis von Kotlin Multiplatform
  • Entwicklung nativer Apps für iOS und Android
  • Implementierung REST API mit Quarkus
  • Softwarearchitektur, Spezifikation Geschäftslogik, Sicherstellung Softwarequalität und Wartbarkeit
Xcode Android Studio Lucene iText
Kotlin Swift Kotlin Multiplatform Kotlin Native Coroutines Ktor FinTS SwiftUI UIKit Core Data Xcode Android Room Dagger AndroidX Android Studio Gradle Quarkus JUnit Mockito AssertJ Authentifizierung mit Fingerabdruck / FaceID Lucene iText jSoup SwiftSoup Datenbankverschlüsselung Git
3 Monate
2020-01 - 2020-03

Serveradministration und Backend industrieller Heizungsanlagen

Softwareentwickler Java Spring Hibernate ...
Softwareentwickler

Zur Fernwartung und Konfiguration industrieller Heizungsanlagen sollten die bestehenden Serversysteme administriert und auf eine neue Kubernetes Infrastruktur umgezogen werden. Zudem sollten geobasierte Zugriffssperren implementiert, das Berechtigungssystem an länderspezifische Gesetzgebung anpassbar gemacht und Nutzerrechte auf Third Party Nutzer übertragen werden können.

  • Serveradministration
  • Sicherstellung Netzwerkfernzugriff per HTTP, VNC und Programmierschnittstelle durch Ip-tables Konfiguration
  • Implementierung Geoblocking und länderspezifisches Berechtigungssystem
  • Spezifikation einladbaren Nutzern Nutzerrechte zu gewähren
  • Wartung, Bugfixing und Qualitätsverbesserung bestehender Anwendungen
GitLab IntelliJ
Java Spring Hibernate Kubernetes JUnit Google Truth Mockito Asciidoc Swagger Git iText Iptables Konfiguration in Docker Containern
1 Jahr 10 Monate
2018-03 - 2019-12

Backend IoT Heizungssteuerung

Java Spring SpringBoot ...

In die bestehende IoT-Plattform eines Heizungsherstellers sollte in die REST API und ins Vaadin Webfrontend eine neue Gerätegeneration integriert werden. Die Heizungsanlagen können von Nutzern per App gesteuert und von Installateuren per Web Frontend gewartet werden. Zudem sollte das Web Frontend auf eine neuere Vaadin Version migriert und die Anwendung performanter und wartbarer gemacht werden.

  • Erstellen REST API mit Spring
  • Implementierung Kompatibilitätsschicht zwischen neuer und bestehender API
  • Unit Tests, Einführung von Integrations-, System- und Lasttests mit hoher Testabdeckung
  • Migration des Web Frontends von Vaadin 6 auf 8
  • Verbesserung Code Qualität und Performanz
MariaDB Jackson Mosquitto RabbitMQ Vaadin GitLab IntelliJ Jenkins Jira Confluence Hazelcast
Java Spring SpringBoot Hibernate JPA SQL MariaDb Liquibase REST JSON SOAP SoapUI AMQP MQTT RabbitMQ Mosquitto Camel Hazelcast Vaadin 8 ein bißchen Grafana Prometheus und Metrics / Micrometer JavaScript CSS JUnit AssertJ Mockito WireMock Selenium Cucumber Akka Python Maven Git GitLab Jenkins Docker Docker Compse IntelliJ Jira Confluence Scrum Reviews Pair Programming Softwarearchitektur Design Patterns
3 Monate
2019-04 - 2019-06

Eigenprojekt: Rechnungsverwaltung

Kotlin Java JavaFX ...

Eigenprojekt zur Verringerung des monatlichen Verwaltungsaufwandes. Gebuchte Aufwände werden per REST API vom Zeiterfassungstool abgeholt und per Templates automatisch daraus Rechnungen generiert. Anbindung an Online Banking zur automatischen Erfassung der bezahlten Rechnungen und geschäftlichen Ausgaben eines Monats zur Erstellung der Umsatzsteuervoranmeldung. Hochladen der Umsatzsteuervoranmeldung zu Elster per Programmierschnittstelle.

  • Softwarearchitektur: Trennung der Anwendung in die Schichten UI, Business logic und Data access layer
  • Integration Fremdkomponenten in eigene Architektur und Datenmodell (Harvest REST API für die Zeiterfassung, HBCI / FinTS über hbci4java, Anbindung des Elster Rich Clients zur Kommunikation mit Elster)
  • Templatingsystem zur automatisierten Rechnungserstellung mit Velocity (über XDocReport)
  • Desktopoberfläche mit JavaFX (TornadoFX)
  • Unit und Integration (jedoch nicht UI) Tests
Velocity Couchbase Lite Jackson OkHttp LogBack Slf4J
Kotlin Java JavaFX TornadoFX Harvest REST API Velocity XdocReport HBCI / FinTS RxJava Couchbase Lite JSON Dagger 2 JPA KAPT OkHttp Jackson LogBack Slf4J JUnit Mockito AssertJ Gradle Git IntelliJ Softwarearchitektur Design Patterns
8 Monate
2017-07 - 2018-02

Eigenprojekt: Wissensmanagementapp DeepThought

Software Entwickler und Architekt Android Kotlin Java ...
Software Entwickler und Architekt

App um seine Wissenssammlung an einer zentralen Stelle zu speichern und ständig lokal verfügbar zu haben. Integration einer Suchmaschine um selbst große Datenbestände im Millisekundenbereich zu durchsuchen. Cloudlose Multi-Master Synchronisation mit anderen Android Geräten oder Desktop Computern über das lokale Netz.

Anwendungsdetails

  • Softwarearchitektur: Trennung der Anwendung in die Schichten UI, Business logic und Data access layer. Verwendung des Architekturpatterns VIPER (View, Interactor, Presenter, Entity, Routing) zur logischen Aufgliederung der UI Schicht.
  • Verwendung der NoSQL Datenbank Couchbase Lite
  • Multi-Master Synchronisation der Daten über das lokale Netzwerk (ohne Server!)
  • Entwicklung eines eigenen JPA Providers für Couchbase Lite
  • Entwicklung eines Annotation Processors für JPA Annotationen für den APT Build Schritt um die JPA Entity Konfiguration bereits zur Compile- und nicht erst zur Laufzeit zu lesen
  • Suchindex mit Lucene
  • Entwicklung eines eigenen Rich Text Editors für Android
  • Continuous Integration: Ein in einem Docker Container laufender Jenkins für periodische Builds, Unit und Integration (jedoch nicht UI) Tests
Android Studio JavaPoet Jackson Jsoup Jenkins SonarQube Couchbase Lite OkHttp Lucene Docker
Android Kotlin Java JavaScript JSON Dagger 2 JPA Couchbase Lite Lucene APT JavaPoet Reflection OkHttp Jackson Jsoup MBassador Espresso JUnit Hamcrest Mockito Gradle Git Git Flow Android Studio Jenkins SonarQube Softwarearchitektur Design Patterns
5 Monate
2017-02 - 2017-06

Android App zur Steuerung intelligenter Lampen

Software Entwickler und Architekt Android SDK Java WebSockets ...
Software Entwickler und Architekt

ComfyLight Lampen detektieren Bewegungen und erkennen, wenn die Besitzer das Haus verlassen. Wird eine unerwartete Bewegung erkannt, werden die Besitzer sofort über die Smartphone App informiert und können live verfolgen in welchen Räumen Bewegungen wahrgenommen werden. Zur Abschreckung von Einbrechern simulieren die Lampen bei Abwesenheit aus den gewonnen Bewegungsdaten Verhaltensmuster als wären die Besitzer zu Hause.

  • Weiterentwicklung und zur Marktreife Bringung der Alpha App
  • Hinzufügung neuer Lampenfeatures und Produktpflege
  • Refactoring des Bestandcodes für bessere Wartbarkeit
  • Einführung automatisierter, periodischer Integrationtests auf einer Vielzahl von echten Android Geräten
  • Softwarearchitektur und Code Qualitätssicherung
Android SDK Java WebSockets REST Protobuf JSON Dependency Injection mit Dagger 2 (und Android Annotations) Geo Location Services (GeoFence) Greenrobot EventBus JUnit Hamcrest Mockito UI Tests mit Espresso verteiltes Testen mit Spoon Gradle Git Git Flow Android Studio Jenkins SonarQube Fastlane Phabricator
ComfyLight
München
2 Monate
2017-01 - 2017-02

Messe App für die Conexpo 2017

Software Entwickler Objective-C Java REST ...
Software Entwickler

Weiterentwicklung untenstehender Messe App.

  • Update der iOS App auf iOS 10

  • Update der Android App auf Android 6

  • Anpassen der App Inhalte auf den neuen Messeauftritt

Xcode Android Studio
Objective-C Java REST Gradle JSON Git Android iOS REST
Liebherr
München
5 Monate
2016-04 - 2016-08

Smart Home App auf Cordova Basis

Software Entwickler JavaScript Java Objective-C ...
Software Entwickler

Weiterentwicklung einer bestehenden Smart Home App, die die Steuerung von Smart Home Geräten verschiedener Hersteller unter einer Nuterzoberfläche vereint. Statt die jeweiligen Hersteller Apps benutzen zu müssen, können mit ihr Sonos Lautsprecher, Philipps Hue und Osram Lightify Leuchten, KNX Geräte (Lampen, Heizungen, Rolläden, Garagentore, Fensterkontakte, Schalter, ...), WeMo Steckdosen, Türsprechanlagen, intelligente Rauchmelder und viele weitere von einer einzigen App aus gesteuert werden.

  • Schnittstellenimplementierung zu Smart Home Geräten, vorwiegend KNX
  • Netzwerkverbindungsschicht
  • Entwicklung nativer Cordova Plugins für Android, Verbesserung bestehender für iOS
  • Architekturverbesserung
  • Migration von Legacy Code
  • Profiling und Performance Optimierung der bestehenden App
  • Implementierung von Workarounds für in Cordova nicht berücksichtigte Android Spezifika (Ethernet, …)
Cordova KNX Google Traffic Service WebStorm Visual Studio Code Android Studio Xcode Atlassian JIRA Atlassian Confluence
JavaScript Java Objective-C Cordova Plugin Entwicklung Git Flow Git Scrum Android iOS
iHaus
München
2 Monate
2016-02 - 2016-03

Umsetzung einer WebRTC App für Cordova

Software Entwickler JavaScript jQuery Java ...
Software Entwickler

Eine bestehende Browser WebRTC Anwendung sollte für iOS und gängige Android Versionen umgesetzt werden. Herausforderung hierbei war, dass WebRTC von iOS nicht und von Android erst ab Version 5 unterstützt wird. Zudem wurde ein Buildserver entwickelt mit dem Kunden anhand dieser Codebasis ihre eigene angepasste App (eigenes Branding, Farbgebung, Menüführung, App Icon, App Name, Bundle ID bzw. Package Name für den App bzw. Play Store, …) erstellen können.

Buildserver:

  • Architektur und Implementierung des Build Servers

  • Verwendung des Spring Stacks: Dependency Injection, Scheduling und JDBC (Oracle DB bzw. H2 Embedded für Unit Tests)

  • Unit und Integration Tests

iOS und Android App:

  • iOS WebRTC Plugin funktional bekommen, bestehende Anwendung daraufhin anpassen

  • Performance Optimierung der bestehenden Anwendung v.a. hinsichtlich iOS

  • Crosswalk für Android Versionen älter als Android 5

  • Zugriff (Berechtigungskonzept) auf Kamera und Mikrophon unter iOS und Android

Cordova Xcode Android Studio Jackson Crosswalk ImageMagick
JavaScript jQuery Java Objective-C WebRTC Spring JDBC JSON XML JUnit Mockito Maven SVN Swift (passiv)
ECT
München
2 Monate
2016-02 - 2016-03

Messeapp für verschiedene Messeauftritte

Java Objective-C C# ...

Für die Baumaschinenmessen Bauma 2013, ConExpo 2014 und Bauma 2016 wurden jeweils Apps zur Begleitung des Messeauftritt für iOS, Android und Windows Phone entwickelt. Die Messeprodukte wurden kategorisiert in einer hierarchischen Darstellung angezeigt, bestimme Produkte auf der Startseite hervorgehoben und der Messeaufbau des Herstellers mit einem Karten Overlay für MapKit, Google Maps bzw. Bing Maps dargestellt. Zudem konnte man sich die Standorte der Produkte auf der Karte anzeigen lassen und es gab einen News Ticker für Messenachrichten. Der Hersteller konnte die Inhalte und Hervorhebungen in einem CMS auf SharePoint Basis selbst festlegen.

  • Anbindung an den Webservice der demilitarisierten Zone
  • Einbinden von Google Maps bzw. Bing Maps
  • Darstellung des Messeaufbaus des Kunden als Overlay in diesen Karten
  • Umsetzung einer Windows Store (Windows 8) Demoanwendung für die Bauma 2013
  • Nahtlose Integration der App in Windows (Windows Suche, App Einstellungen)
  • Migration und Aktualisierung der bestehenden iOS App für die Bauma 2016
Java Objective-C C# Android Windows Store Apps Google Maps Bing Maps JSON UML Eclipse Android Studio Xcode Interface Builder Visual Studio Team Foundation Server Git
Liebherr
5 Monate
2015-10 - 2016-02

Assistenzsystem für Güterzüge

Software Entwickler Java JavaEE Vaadin ...
Software Entwickler

JavaEE Backend und Vaadin Frontend Entwicklung zur Assistenz von Lokführern von Güterzügen. Anhand von Geoinformationen sollten dem Lokführer auf einem On Board Gerät Hinweise zur optimalen Zugführung angezeigt werden um Energiekosten in Höhe von mehreren Millionen Euro jährlich sparen zu können. Zudem sollte eine große Anzahl verschiedenster Messwerte der Züge verarbeitet und in Tabellen- und Kartenform dargestellt und eine Verwaltungsoberfläche implementiert werden.

  • UI Programmierung mit Vaadin

  • Integration Tests mit Vaadin Testbench

  • Datenbankzugriff mit JPA

  • Generischer Datenfilter auf Basis der JPA Criteria API

  • OSGi Bundles entwickeln und Dependency Injection mit Blueprint

IntelliJ IDEA Blueprint Atlassian Confluence Artifactory
Java JavaEE Vaadin Maven Vaadin Testbench JPA JPA Criteria API JUnit Mockito SVN OSGi (Apache Karaf)
Knorr Bremse
München
11 Monate
2014-02 - 2014-12

System zur kabellosen Lichtsteuerung von Geschäftsgebäuden

Software Entwickler Java Android Swing ...
Software Entwickler

Zur Ablösung des komplexen DALI Standards sollte ein einfach zu bedienendes System zur Steuerung der Lichtanlagen von Geschäftsgebäuden für die neuen Osram Lightify Leuchten entwickelt werden. Sämtliche Leuchten und Sensoren können damit identifiziert, auf einem Gebäudeplan angeordnet, parametriert und zentral gesteuert werden.

  • Entwicklung und Komplettarchitekur einer Java Swing zur Steuerung und Überwachung des Busses (Management Konsole)
  • Gewährleistung der Android Kompatibilität der Java Anwendung
  • Verbesserung der Architektur der bestehenden iOS Anwendung
  • Entwicklung einer Android Demonstrationsanwendung
  • Testen und Codequalität
  • Kommunikation auf Low Level Ebene (ZigBee Befehle) mit dem Gateway der Funkleuchten, asynchrone threadsichere Messagequeue
  • Synchronisierung der Verwaltungsdaten zwischen den Apps und der Java Anwendung
Nexus NetBeans jmDNS Android Studio
Java Android Swing JavaFX Hibernate JSON Git Gradle JUnit JMeter UML Design Patterns
Osram
München
1 Monat
2014-10 - 2014-10

App zur Leihe von Baumaschinen

Java Android JSON ...

App zum Auffinden von Verleihpartnern für Liebherr Baumaschinen für iOS, Android und Windows Phone. Es konnten sowohl Händler als auch Produkte gesondert dargestellt und durchsucht und Distanz und Strecke zu nahe gelegenen Händlern auf einer Karte angezeigt werden.

  • Migration der bestehenden Messeapp (siehe oben) für Android
  • Teilimplementierung der Android UI
  • Anbindung ans Backend und Umsetzung des Datenmodells
Java Android JSON Eclipse Team Foundation Server UML
Liebherr
1 Monat
2014-07 - 2014-07

App zur Leihe von Baumaschinen

Software Entwickler Java Android JSON ...
Software Entwickler

App zum Auffinden von Verleihpartnern für Liebherr Baumaschinen für iOS, Android und Windows Phone. Es konnten sowohl Händler als auch Produkte gesondert dargestellt und durchsucht und Distanz und Strecke zu nahe gelegenen Händlern auf einer Karte angezeigt werden.

  • Migration der bestehenden Messeapp (siehe unten) für Android

  • Teilimplementierung der Android UI

  • Anbindung ans Backend und Umsetzung des Datenmodells

Eclipse Team Foundation Server
Java Android JSON UML
Liebherr
München
1 Monat
2014-02 - 2014-02

Messeapp für verschiedene Messeauftritte

Java Objective-C C# ...

Für die Baumaschinenmessen Bauma 2013, ConExpo 2014 und Bauma 2016 wurden jeweils Apps zur Begleitung des Messeauftritt für iOS, Android und Windows Phone entwickelt. Die Messeprodukte wurden kategorisiert in einer hierarchischen Darstellung angezeigt, bestimme Produkte auf der Startseite hervorgehoben und der Messeaufbau des Herstellers mit einem Karten Overlay für MapKit, Google Maps bzw. Bing Maps dargestellt. Zudem konnte man sich die Standorte der Produkte auf der Karte anzeigen lassen und es gab einen News Ticker für Messenachrichten. Der Hersteller konnte die Inhalte und Hervorhebungen in einem CMS auf SharePoint Basis selbst festlegen.

  • Teilimplementierung der Android App für die Bauma 2013 und ConExpo 2014
  • Anbindung an den Webservice der demilitarisierten Zone
  • Einbinden von Google Maps bzw. Bing Maps
  • Darstellung des Messeaufbaus des Kunden als Overlay in diesen Karten
  • Nahtlose Integration der App in Windows (Windows Suche, App Einstellungen)
Java Objective-C C# Android Windows Store Apps Google Maps Bing Maps JSON UML Eclipse Android Studio Xcode Interface Builder Visual Studio Team Foundation Server Git
Liebherr
3 Monate
2012-12 - 2013-02

Messeapp für verschiedene Messeauftritte

Software Entwickler Java Objective-C C# ...
Software Entwickler

Für die Baumaschinenmessen Bauma 2013, ConExpo 2014 und Bauma 2016 wurden jeweils Apps zur Begleitung des Messeauftritt für iOS, Android und Windows Phone entwickelt. Die Messeprodukte wurden kategorisiert in einer hierarchischen Darstellung angezeigt, bestimme Produkte auf der Startseite hervorgehoben und der Messeaufbau des Herstellers mit einem Karten Overlay für MapKit, Google Maps bzw. Bing Maps dargestellt. Zudem konnte man sich die Standorte der Produkte auf der Karte anzeigen lassen und es gab einen News Ticker für Messenachrichten. Der Hersteller konnte die Inhalte und Hervorhebungen in einem CMS auf SharePoint Basis selbst festlegen.

  • Teilimplementierung der Android App für die Bauma 2013 und ConExpo 2014
  • Anbindung an den Webservice der demilitarisierten Zone
  • Einbinden von Google Maps bzw. Bing Maps
  • Darstellung des Messeaufbaus des Kunden als Overlay in diesen Karten
  • Umsetzung einer Windows Store (Windows 8) Demoanwendung für die Bauma 2013
  • Nahtlose Integration der App in Windows (Windows Suche, App Einstellungen)
Java Objective-C C# Android Windows Store Apps Google Maps Bing Maps JSON UML Eclipse Android Studio Xcode Interface Builder Visual Studio Team Foundation Server Git
Liebherr
München
2 Jahre 9 Monate
2010-04 - 2012-12

iPad Live Streaming Anwendung

Software Entwickler C# / .NET Objective-C WCF ...
Software Entwickler

Eine der ersten iPad Apps weltweit mit Live Streaming des Fernsehprogramms. Anzeige des verschlüsselten Live Streams, übersichtliche Darstellung des Programms sämtlicher Sender, Sendungsarchiv und Datencenter für Sportereignisse. Implementierung eines Sicherheitsservices um nur autorisierten Kunden Zugang zum Live Stream zu gewähren, Anbindung von und Importer für CMS der Sendungsdaten.

  • Migration des Security Web Services zur Anpassung an neues Backend
  • Sessionmanagement und Zugangsberechtigung zum Live Stream
  • Anpassen des Web Services für Hosting in Azure
  • Teilimplementierung für Multiinstanzfähigkeit des Web Services
  • Konzeption und Implementierung des Importers der Sendungsdaten ins CMS
  • Transformation mittels XSLT, Hotfolder Überwachung
  • Überwachung und Wartung des Services
  • Implementierung einer iPhone Demonstrationsanwendung
C# / .NET Objective-C WCF RESTful Services SOA Azure Dependency Injection SOAP XML XSLT Visual Studio Xcode UML SOAP UI Mercurial SVN
Sky
München

Kompetenzen

Kompetenzen

Produkte / Standards / Erfahrungen / Methoden

Agile Softwareentwicklung
Android Annotations
Android SDK
Android Studio
Apache Karaf
APT
Artifactory
Azure
Bing Maps
Blueprint
Clean Code
CodedUI Test
Confluence
Cordova
Plugin Entwicklung
Core Data
Couchbase Lite
Crosswalk
CSS
Dagger 2
Dependency Injection
Design Pattern
Eclipse
Espresso
EventBus
Fastlane
FinTS
Geodaten
GeoFence
Git
Git Flow
Google
Maps, Traffic Service
Gradle
Greenrobot EventBus
Hamcrest
HBCI
Hibernate
ImageMagick
IntelliJ
IDEA
Interface Builder
iOS
iText
Jackson
JavaFX
JavaPoet
Jenkins
Jira
jmDNS
JMeter
JPA
JPA Criteria API
JSON
Jsoup
JUnit
KNX
Liquibase
Lucene
Maven
MBassador
Mercurial
Mockito
multi-tier Softwarearchitektur
NetBeans
Nexus
OkHttp
OSGI
Phabricator
Protobuf
Reflection
REST
Scrum
SOA
SOAP
SOAP UI
Softwarearchitektur
SonarQube
Spring
SVN
Swift
Swing
Team Foundation Server
Vaadin
Vaadin Testbench
Velocity
Verteiltes Testen mit Spoon
Visual Studio
Visual Studio Code
VisualVM
WCF
WebRTC
WebStorm
Windows Store Apps
Xcode
XML
XSLT

Betriebssysteme

Android
Iptables

Programmiersprachen

C#
Java
8, EE
JavaScript
jQuery
Kotlin
Objective-C
UML

Datenbanken

Hazelcast
JDBC
MariaDB
NoSQL
SQL

Datenkommunikation

MQTT
Web Sockets

Vertrauen Sie auf GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das GULP Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.