C++ und Python Software-Entwicklung, Embedded Systems, Web Anwendungen
Aktualisiert am 03.09.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 01.10.2024
Verfügbar zu: 100%
davon vor Ort: 80%
C++
Python
Linux
C
Assembler
JavaScript
PostgreSQL
Docker
Deutsch
Fließend
Englisch
Fortgeschritten, sehr sicherer Umgang
Griechisch
Fließend, Muttersprache

Einsatzorte

Einsatzorte

Deutschland

möglich

Projekte

Projekte

3 Jahre 7 Monate
2020-12 - 2024-06

C++ Backend-Entwicklung

C++ Entwickler C++ Linux Docker ...
C++ Entwickler

Mitarbeit am E-Rezept Server. Mein Hauptteil war die Implementierung der JWT / JWS Konzepte zur Verifikation und Authentifizierung von Web Requests. Der Code wurde in C++17 und mit Einsatz von OpenSSL geschrieben. Als Entwicklungstools wurden neben GCC, Conan, CMake, Github (Code Reviews) eingesetzt. Die Arbeit wurde für das Linux Betriebssystem ausgelegt.

  • Code-Review von Arbeitsergebnissen
  • Evaluation, Fehlersuche / Debugging von Graphene und Performance Tests.
  • Einsatz von Intel SGX Technologien (sichere Enklave)
  • Mitentwicklung an Dockerfiles und CMake Dateien.
  • Code Dokumentation und Beschreibungen für Zertifizierungs und Prüfungsteams.


Weitere Projektverlaengerung mit zusaetzlichen Aufgaben im Bereich:

  • Docker / docker-compose / kubernetes
  • Datenbank Skript-Entwicklung in Python
  • Umsetzung neuer C++ Komponenten fuer den E-Rezept Server


Docker Kubernetes PostgreSQL C++ Linux Redis
C++ Linux Docker PostgreSQL Python Redis
IBM Deutschland
4 Jahre
2020-01 - 2023-12

Einarbeitung in Bestandscode einer Qt

C++ / Qt-Entwickler (Bad Ems)
C++ / Qt-Entwickler (Bad Ems)
  • Einarbeitung in Bestandscode einer Qt (5.9.6) UI zur Bedienung einer Beatmungsmaschine auf Basis von C++11.
  • Erweiterung der Qt UI um weitere Funktionen.
  • Die Software ist auf Basis des MVVM Design-Patterns aufgebaut.
  • Entwicklung eines seriellen Protokolls zur Kommunikation mit dem Display-Controller und des Drehgebers.
  • Anbindung des Drehgebers als input device in den Grafik-Stack als Eingabegerät.
  • Installation und Einrichtung eines Linux Systems mit Hilfe von OpenEmbedded-Core (Linux Kernel) / Yocto auf das Zielsystem (Basis i.MX 8QM, ARM A72 / A53 Prozessoren).
  • Portierung der Qt UI auf das Zielsystem.
  • Einarbeitung in Bestandscode einer älteren UI auf Basis von MFC / Win32. Entwicklung von UI Tests der Qt UI.


Projektverlaengerungen:

- Umsetzung neuer Komponenten in Qt / C++

- Durchfuehrung von Systemtests

- Dokumentation und Unit Tests

- Umsetzung propriaeterer Kommunikationsprotokolle in C++

    1 Jahr
    2020-01 - 2020-12

    Embedded / C++ / Qt-Entwicklung

    C++ Yocto Linux ...
    • Einarbeitung in Bestandscode einer Qt (5.9.6) UI zur Bedienung einer Beatmungsmaschine auf Basis von C++11
    • Erweiterung der Qt UI um weitere Funktionen
    • Die Software ist auf Basis des MVVM Design-Patterns aufgebaut
    • Entwicklung eines seriellen Protokolls zur Kommunikation mit dem Display-Controller und des Drehgebers
    • Anbindung des Drehgebers als input device in den Grafik-Stack als Eingabegerät
    • Installation und Einrichtung eines Linux Systems mit Hilfe von OpenEmbedded-Core / Yocto auf das Zielsystem (Basis i.MX 8QM, ARM A72 / A53 Prozessoren)
    • Portierung der Qt UI auf das Zielsystem
    •  Einarbeitung in Bestandscode einer älteren UI auf Basis von MFC / Win32
    • Entwicklung von UI Tests der Qt UI
    C++ Yocto Linux Qt
    Bad Ems
    4 Monate
    2019-12 - 2020-03

    Einrichtung von Qt Toolchains für iOS, Android und Linux

    Cross-Platform Qt-Entwickler
    Cross-Platform Qt-Entwickler
    • Einrichtung von Toolchains für iOS, Android und Linux auf Basis von Qt .pro Dateien
    • Hier kommt erschwerend hinzu, dass Kombinationen von aktuellen Versionen von Xcode und Android Studio (samt Zusatz-Tools) und Qt 5.9. zusammen gebracht werden sollen, was z. T. Probleme macht (Beispiel: „alter“ GCC 4.9 im Android-NDK erzeugt fehlerhaften Qt Code)
    • Debugging von ähnlichen Problemen, wie oben beschrieben
    • Anpassungen im Bestandscode um die Unit Tests auf den genannten Platformen zum positiven Ergebnis zu bringen
    • Als Basis wurde Qt 5.9.6 festgelegt unter Berücksichtigung, dass nur ältere NDK- und Buildtool-Versionen verwendet werden können
    6 Monate
    2019-07 - 2019-12

    Portierung von Bildverarbeitungsalgorithmen einer Kalibrierungssoftware in Python

    C++ / Android-Entwickler
    C++ / Android-Entwickler
    • Portierung von Bildverarbeitungsalgorithmen einer Kalibrierungssoftware in Python (Numpy) nach C++11 und Testen der daraus resultierenden Bibliothek unter Linux und Windows
    • Weiterhin Anbindung der Bibliothek auf einer Android Plattform und Kommunikation mittels JNI
    Siegen
    9 Monate
    2019-04 - 2019-12

    Übernahme der Rolle als Implementierungs-Verantwortlicher für UI5 Apps

    Implementierungs-Lead und UI5-Entwickler JavaScript UI5 OData ...
    Implementierungs-Lead und UI5-Entwickler
    • Mitarbeit an verschiedenen UI5 Web-Anwendungen des Kunden, die aus der Beratung, Konzeption, Bewertung und Umsetzung von Lösungsvorschlägen besteht
    • Übernahme der Rolle als Implementierungs-Verantwortlicher für UI5 Apps der Abteilung
    • Die Aufgabe besteht aus Festlegung eines agilen Software Entwicklungs-Prozesses, Richtlinien für Coding Guidelines von UI5 / JavaScript Apps, Coding Review-Richtlinien und Dokumentation
    • Entwicklung eines Node.js Backends zur Unterstützung von „headless“ unit tests im UI5- / JavaScript Bereich
    JavaScript UI5 OData SCRUM SAP Fiori SCP Node.js
    DB Systel
    Frankfurt am Main
    4 Monate
    2018-12 - 2019-03

    Mitarbeit an einer App (iOS, Android) zur Steuerung einer Zentralheizung

    C++ / Qt Entwickler
    C++ / Qt Entwickler
    • Planung und Umsetzung des Datenmodells in C++
    • Umsetzung eines Kommunikationsprotokolls zwischen der QML-Schicht und der C++-Schicht
    • Umsetzung der UI und custom controls nach UI/UX Vorgaben
    C++ Qt 5 QML
    2 Jahre 8 Monate
    2016-08 - 2019-03

    Android- und UI5/JavaScript Web App-Entwicklung

    Software-Entwickler UI5 JavaScript TypeScript ...
    Software-Entwickler

    Bei meiner Arbeit handelt es sich um native Android Apps und Webanwendungen für den Desktop auf Basis von UI5 (Fiori), die von den Mitarbeitern des Kunden produktiv eingesetzt werden.

    • Der Kunde verspricht sich durch die Modernisierung der vormals SAP GUI-basierten Anwendungen eine Produktivitätssteigerung als auch eine schnellere Erweiterung der z. T. mobilen Anwendungen
    • Inhalt der nativen Android-Entwicklung ist die Anbindung von Google Maps und die Visualisierung von unterschiedlichen Karten-Materialien des Kunden, wie z. B. Bahnhöhe, Bahnschranken, Brücken, etc.
    • Diese Informationen werden über verschiedene Web Services bezogen und in einer SQLite Datenbank gespeichert
    • Dabei handelt es sich um ein Volumen von über 500 MB Rohdaten, was spezielle Anforderungen an den Downloads-Prozess (Download ist nicht nur via WLAN möglich), den Import-Prozess in die Datenbank und auch an die Visualisierung auf der Karte stellt
    • Durch Anwendung von verschiedenen Filter-Mechanismen (z. B. Berücksichtigung der Zoom-Stufe der Karte) werden entsprechend mehr oder weniger Daten angezeigt
    • Unter durchgängigen Einsatz von Streams wird der Speicherverbrauch möglichst niedrig gehalten
    • Mit dem Framework wird eine stabile Struktur zur asynchronen Verarbeitung der Prozesse gewährleistet, inkl. Fehlerbehandlung, Abbruch und Weiterführung der Vorgänge
    • Bei den Webanwendungen geht es um die Entwicklung von komplexen UI5 web apps und der Anbindung von SAP Gateway Services
    • Die web apps erreichen mittlerweile den Umfang von nativen Desktop Anwendungen
    • Dabei handelt es sich um aufwendige Vorgänge, die ehemals in der SAP GUI stattfanden und nun effizienter mit modernen Interaktionen aus der modernen UI / UX Welt durchgeführt werden können
    • Entwicklung eines auf basierten servers in modernem C++14 um Nachrichten an UI5 apps senden zu können
    • Ich habe zwei Entwicklungswege genutzt: die vereinfachte Version mittels (server-sent events) und eine komplexere Variante auf Grundlage des Protokolls
    Android Studio SAP UI5 Emacs Android C++ OData SAP Gateway gradle
    UI5 JavaScript TypeScript SCRUM
    Deutsche Bahn AG
    Frankfurt am Main
    5 Monate
    2017-11 - 2018-03

    Weiterentwicklung einer bestehenden Informations-App für Mitarbeiter des Kunden

    Android Entwickler
    Android Entwickler
    • Die bestehende Android Anwendung wurde um weitere Fragmente erweitert, die Informationen in Form von PDF Dokumente, Web Inhalte oder Listen (z. B. Mitarbeiter-Verzeichnis) anbietet
    • Die vorgehaltenen Daten wurden vom Kundenserver regelmäßig bezogen. Wichtig war hier, dass die Daten nahezu komplett verschlüsselt im Android Gerät vorliegen
    • Eine besondere Herausforderung war, dass gerade die Verschlüsselungsthematik sich auf unterschiedlichen Android Versionen und Geräten z. T. unterschiedlich verhält
    • Hier war eine intensive Ursachenklärung notwendig, bis eine angemessene Lösung entwickelt werden konnte
    Android Java Android Studio gradle Einsatz von starken Verschlüsselungstechniken
    Mainz
    9 Monate
    2015-10 - 2016-06

    Entwickelung neuer Features in C++ und nativem Android Code (Java)

    C++ / Qt und Android Entwickler
    C++ / Qt und Android Entwickler
    • In einer bestehenden Android App auf Basis von C++ / Qt entwickelte ich neue Features in C++ und nativem Android Code (Java)
    • Bei der Software handelt es sich um eine Verwaltungs-App für Außendienst-Mitarbeiter zur Wartung und Inspektion von Stadtwerke-Anlagen
    • Der Bestandscode (in C++) ist an manchen Stellen zum Teil älter als 15 Jahre alt (manche Module sogar noch aus Mitte der 90er – Kenner wissen, was ich damit meine), sodass ich mich mit unterschiedlichen Programmier-Stilen und C++ Standards auseinandersetzen musste
    • Ein generelles Refactoring war nicht gewünscht da der Code (berechtigt) über die Jahre fehlerbereinigt werden konnte
    Aschaffenburg
    1 Jahr 3 Monate
    2015-04 - 2016-06

    Native iOS Lösung für das iPad zur Unterstützung des Verkaufsprozesses

    iOS und Java Entwickler
    iOS und Java Entwickler

    Native iOS Lösung für das iPad zur Unterstützung des Verkaufsprozesses in Autohäusern. Anschließend unterstützte ich das Team in der Backend-Entwicklung, welche in Java erfolgte.

    • Bei der Entwicklung ging es im Kern um die Umsetzung einer hoch spezialisierten Design-Vorgabe in enger Absprache mit der Design-Agentur
    • Dies war auch notwendig, denn es gab zahlreiche Muster, die Sonderlösungen den Einsatz von Core Animation und aufwendigen Tricks mit UIKit erforderlich machten
    • Die Anbindung an das backend erfolgte über die Middleware Apiomat, welches in Abstimmung mit dem Hersteller stattfand
    • Es wurde mit den neuesten Objective-C Technologien entwickelt. Neben dem Einsatz von high level frameworks wie z. B. Bolts war es dennoch notwendig, bis auf libdispatch Ebene zu debuggen oder aber mit Instruments nicht optimale UI Pfade zu optimieren
    • Nachdem das iOS Team verstärkt wurde und in der Backend-Entwicklung weitere Entwicklungsarbeit notwendig war, wechselte ich meine Rolle als Java Backend-Entwickler, um die oben genannte Middleware voran zu treiben
    • Hier kam hauptsächlich Java 8 mit Eclipse und maven zum Einsatz
    • Zeitgemäße Entwicklungs-Methodik im Scrum-Modus mit einer Vier-Augen-QA nach jedem commit in Richtung develop branch
    iOS Objective-C Bolts Framework Apiomat Java Eclipse
    Frankfurt am Main
    8 Monate
    2015-05 - 2015-12

    Folgeauftrag UI für Time-of-flight Kameras

    C++ / Qt und Android-Entwickler
    C++ / Qt und Android-Entwickler
    • Redesign einer bestehenden UI mit Qt5 + QML, inkl. Sicherstellung der Funktionalität unter Android, iOS, GNU/Linux, Mac OS X und Windows
    • Die Hauptarbeit wurde mit C++11, Qt5 und QML realisiert
    • Es wurden komplexe UI Widgets in Qt entwickelt, um eine moderne und auf allen Plattformen einheitliche Darstellung zu gewährleisten
    • Es wurde ein grafisches Qt Control entwickelt, welches dem Interface des nachgebaut wurde, inkl. Animationen und Effekte
    • Das Control wurde eingesetzt, um Netzwerke von digitalen Bildverarbeitungsfiltern interaktiv zu bauen und zu konfigurieren
    • Die Netzwerke wurden in ein binäres Format umgewandelt, welches von der Kamera-Software des Kunden interpretiert wurde und eingesetzt werden konnte
    Qt5 C++11 QML Cross Plattform-Entwicklung git
    Siegen
    6 Monate
    2014-09 - 2015-02

    Entwicklung einer Cross Plattform-Anwendung zur Visualisierung von Daten einer Time-of-flight Kamera

    C++ / Qt und Android-Entwickler
    C++ / Qt und Android-Entwickler
    • Bei der Anwendung geht es um die Verarbeitung und Visualisierung von Messdaten in Form einer 3D Punkte-Wolke. Die Aufnahmen erfolgen mit einer 3D Kamera, nach dem Prinzip
    • Meine Aufgabe war es, die Visualisierung der Punkte-Wolke in einer hohen Qualität wiederzugeben
    • Unter Einsatz von Algorithmen aus der digitalen Bildverarbeitung in GLSL und diversen Vorverarbeitungs-Algorithmen (in C++) ist mir dies gelungen
    • Hierbei ging es hauptsächlich um das Filtern von Sampling Fehlern, Streupixel, etc
    • Entwicklung von spezialisierten Qt Widgets zur Interaktion mit der Punkte-Wolke und zur Ansteuerung der Verarbeitungskette (Shader, Algorithmen-Parameter, Filterung von Mess-Fehlern usw.)
    • Anschließend wurde eine Anbindung der Kameras an Android Tablets mit dem NDK und libusb durchgeführt
    • Umsetzung der Visualisierung auf Android-Systemen mit OpenGL ES 2 und dem Android SDK
    • Die Hauptarbeit wurde mit Visual Studio 2010 und 2013 realisiert. Als Konfigurations- und Build-Tool wurde CMake verwendet
    • Native Android Entwicklung in C++ mit dem NDK
    Qt 4.8.x C++11 3D Kameras digitale Bildverarbeitung Visual Studio 2013 CMake Android NDK GLSL Shader
    Siegen
    10 Monate
    2014-03 - 2014-12

    Full-Stack Entwicklung eines App-Generators

    Web-, Backend-, iOS- und Android-Entwickler
    Web-, Backend-, iOS- und Android-Entwickler
    • Design und Umsetzung einer Web Anwendung zur Content-Verwaltung von Web-Inhalten für mobile Apps
    • Hierfür habe ich ein innovatives Bedienkonzept in HTML5/CSS, d3.js und jQuery entwickelt. Im Prinzip wird ein interaktiver Graph dargestellt, dessen Knoten Web-Inhalten entsprechen
    • Unterschiedliche Knoten erforderten die Umsetzung von spezialisierten Editoren (z. B. Text-Editor, Bilder-Galerie, usw.)
    • Via Drag and Drop konnte die Navigationsstruktur der App verändert werden
    • Entwicklung der Backend Software in Common Lisp, um die Business-Logik der Web Anwendung zu realisieren
    • Entwicklung eines optimierten CGI Programms in ANSI C für Apache, um die Kommunikation zwischen Web App und backend herzustellen
    • Die Wahl für CGI wurde aufgrund der Einfachheit der Umsetzung getroffen
    • Darüber hinaus vereinfachte die nicht-öffentliche Nutzung der Web Anwendung weiterhin
    • Entwicklung des nativen Android und iOS App Containers mit Einsatz von Standard SDK Frameworks
    • Mit dem entwickelten System werden die mobilen Inhalte der jährlichen Kunden-Events (Lighthouse Festival, Technoball, u. a.) verwaltet und veröffentlicht
    JavaScript Objective-C Android Java C
    4 Monate
    2014-05 - 2014-08

    Mitarbeit an einer nativen iPhone App (Gelbe Seiten)

    iOS-Entwickler Klassisches iOS Entwicklung Objective-C
    iOS-Entwickler
    • Beratung und Umsetzung von Software-Komponenten für die Gelbe Seiten iPhone App
    • Der größte Teil meiner Arbeit beinhaltete die Umsetzung eines iPhone-ähnlichen Dashboards, auf welchem Icons abgelegt, gelöscht und bearbeitet werden, bzw. per Drag And Drop zu Gruppen zusammengefasst werden können
    • Die Interaktion und Animation sollte dabei möglichst dem iPhone-Dashboard entsprechen
    • Die Entwicklung wurde mit Objective-C und diversen Frameworks des iOS SDKs umgesetzt
    Klassisches iOS Entwicklung Objective-C
    Frankfurt am Main
    6 Monate
    2013-09 - 2014-02

    Mitarbeit an einer nativen iPad App für Versicherungsmakler

    C und iOS Entwickler (Frankfurt am Main)
    C und iOS Entwickler (Frankfurt am Main)
    • Entwicklung einer 3D Engine in ANSI C auf OpenGL ES 2 Basis, um komplexe 3D-Diagramme aus der Versicherungsbranche wiederzugeben
    • Intensive Nutzung von linearer Algebra zur Erstellung von Verfahren zur Abbildung von Touches (2D) in den Raum (3D)
    • Dies ermöglichte das Interagieren mit den Diagrammen auf dem iPad
    • Entwicklung eines Objective-C wrappers, damit die Engine als Komponente in iOS Apps mehrfach eingesetzt werden kann
    • Entwicklung eines Wavefront Converters in Common Lisp, um 3D-Modelle aus Blender in das Engine-spezifische Format zu transformieren, d. h. das Ausgabeformat ist auf vorher ermittelte Vertex Buffer Formate abgestimmt, um optimale render performance zu erzielen
    • Entwicklung von GLSL shadern um visuelle Effekte gem. Abstimmung mit den Visual Designern zu erreichen, z. B. Antialiasing, Körnung, etc
    • Mitarbeit an der gesamten App-Entwicklung in Objective-C, Core Animation, Core Data und weiteren iOS Frameworks
    • Team-Arbeit im Scrum-Modus, mit wöchentlichen Sprints
    • Hoch optimierte low level C und OpenGL ES Entwicklung.
    • Entwicklung von GLSL Shader Programmen
    Objective-C OpenGL 3D / lineare Algebra
    3 Monate
    2013-07 - 2013-09

    Web-, Android- und iOS-Entwicklung einer Werbe-App

    • Entwicklung nativer App-Container für das iPhone (in Objective C) und für Android Geräte (in Java)
    • Entwicklung der eigentlichen App mit Hilfe von JavaScript / CSS3 und HTML5 Technologien
    • Als Frameworks kamen jQuery und d3.js (Visualisierung von Diagrammen) zum Einsatz
    • Die Einbindung von Flurry für iOS und Android diente zur Sammlung von Nutzungsdaten, während push notifications mit der Integration von Urban Airship ermöglicht wurde
    • Die Auswahl der Frameworks und Technologien wurde in Absprache mit dem Kunden durchgeführt
    • Die Apps wurden als Marketingkampagne für das Red Bull SummerSplash Event eingesetzt

    Aus- und Weiterbildung

    Aus- und Weiterbildung

    1998 - 2002
    Fachhochschule Wiesbaden
    Studium Allgemeine Informatik

    Dipl. - Inform. (FH)

     
    1996 - 1998
    Fachoberschule Friedrich-Ebert-Schule
    Fachrichtung Elektrotechnik

    Position

    Position

    Interessensgebiete

    • Allgemeine Software-Entwicklung für Windows, GNU Linux (Frontend- und Backend-Entwicklung)
    • Web-Entwicklung
    • Grafik und Multimedia (computer games, virtual reality auf OpenGL ES 2.0 Basis)
    • HMI / GUI, Infotainment und Entertainment Software

    Kompetenzen

    Kompetenzen

    Top-Skills

    C++ Python Linux C Assembler JavaScript PostgreSQL Docker

    Produkte / Standards / Erfahrungen / Methoden

    Android Studio
    Node.js
    OData
    Qt
    SAP Fiori
    SAP UI5
    SCP
    SCRUM
    UI5
    Yocto
    Profil
    Ich arbeite seit 2005 als freiberuflicher Software-Entwickler und technischer Berater. Die folgende Liste (alphabetisch sortiert) gibt einen Überblick meiner Schwerpunkte:
    • High Level Software-Entwicklung in C++, Java, JavaScript
    • Low Level (hardwarenahe) Software-Entwicklung in C, C++ und Assembler
    • Mobile Software-Entwicklung (iOS, Android)
     
    Darüber hinaus biete ich Expertise in den Bereichen:
    • Common Lisp
    • Elektronik Entwicklung
    • Entwicklung von Web-Anwendungen (UI5, Angular, TypeScript)
    • GNU / Linux
    • OpenGL (2D und 3D)
    • Programmierung von Mikrocontroller (PIC, AVR, ARM)
    • Umsetzung von User Interfaces und UI Frameworks

    Tools

    • Android Studio
    • CMake
    • Conan
    • Eclipse
    • Emacs
    • GNU make
    • Git
    • Jira
    • Node.js
    • Xcode
    • Clang / LLVM

    Frameworks, Libs

    • Cocoa, UIKit
    • GTK
    • Glibc
    • Qt 5.x
    • SAP UI5
    • UIKit
    • Angular
    • OpenSSL

    APIs, SDKs:

    • Android NDK, SDK
    • iOS SDK
    • OpenGL
    • Win32
    • Intel SGX

    Entwicklungsumgebungen:
    • Emacs
    • Xcode
    • Eclipse
    • Common Lisp (SBCL, CLISP, LispWorks, Clozue CL)
    • Cygwin

    Debugger:
    • Lauterbach Debugger
    • CANopen, CANalyzer

    Microcontroller und sonstige ICs:
    • Grafik-Controller: Fujitsu (Jasmine, Scarlet, Coral), Hitachi und EPSON
    • Philips Video Decoder SAA 711x (7113)
    • Microchip PIC16x devices (C166 / C167)
    • x86, PowerPC, ARM7

    Software (Office):
    • Microsoft Word, Excel, Powerpoint, Outlook
    • OpenOffice

    Methoden und Praktiken:
    • Funktionale Programmierung
    • Objektorientierte Programmierung
    • UML
    • SCRUM
    • Design Patterns

    Betriebssysteme

    Android
    GNU
    Graphene
    iOS
    Linux
    Mac OS X
    MS-DOS
    Unix
    Windows
    10

    Programmiersprachen

    Assembler
    80x86, ARM, AVR (Atmel)
    Bash
    Basic
    C
    C++
    C++14
    Common Lisp
    Emacs
    Emacs Lisp
    GLSL
    Java
    JavaScript
    Objective C
    PHP
    Python
    Qt QML
    TypeScript

    Datenbanken

    SQLite

    Datenkommunikation

    Ethernet
    Grundlagen
    parallele Schnittstelle
    Aufbau und Programmierung
    RS232
    Aufbau und Programmierung
    SPI (Programmierung)
    TCP/IP
    Grundlagen

    Hardware

    Bus
    CAN, I2C, SPI
    Embedded Systeme
    Verschiedene Kombinationen von Controllern, CPUs und sonst. Peripherie (z. B. PC/104, div. starter kits, firmeninterne Systeme).
    Mikrocontroller
    C167, AVR ATmega644, ATmega328
    Motorola
    MPC5200 (603e), PowerPC (PPC): G3 (750), G4 und 68000 CPU's. Erfahrung aus Projekten und privater Nutzung.
    PC
    80x86 Familie, Hardware-Details (z. B. PIC), hardwarenahe Programmierung.

    Branchen

    Branchen

    Embedded Systems

    • Automotive (z. B. car infotainment und entertainment für Automobile)
    • Software-Hersteller
    • Hardware-Hersteller (z. B. Halbleiterindustrie)

     

    Multimedia / Medien

    • Internet- und mobile Technologien


    Software-Unternehmen

    • Applikations-Entwicklung für Windows, Unix/Linux, Android, Mac OS X (Desktop und iOS)

     

    Finanzwelt

    • Börsen, Investment-Häuser

    Einsatzorte

    Einsatzorte

    Deutschland

    möglich

    Projekte

    Projekte

    3 Jahre 7 Monate
    2020-12 - 2024-06

    C++ Backend-Entwicklung

    C++ Entwickler C++ Linux Docker ...
    C++ Entwickler

    Mitarbeit am E-Rezept Server. Mein Hauptteil war die Implementierung der JWT / JWS Konzepte zur Verifikation und Authentifizierung von Web Requests. Der Code wurde in C++17 und mit Einsatz von OpenSSL geschrieben. Als Entwicklungstools wurden neben GCC, Conan, CMake, Github (Code Reviews) eingesetzt. Die Arbeit wurde für das Linux Betriebssystem ausgelegt.

    • Code-Review von Arbeitsergebnissen
    • Evaluation, Fehlersuche / Debugging von Graphene und Performance Tests.
    • Einsatz von Intel SGX Technologien (sichere Enklave)
    • Mitentwicklung an Dockerfiles und CMake Dateien.
    • Code Dokumentation und Beschreibungen für Zertifizierungs und Prüfungsteams.


    Weitere Projektverlaengerung mit zusaetzlichen Aufgaben im Bereich:

    • Docker / docker-compose / kubernetes
    • Datenbank Skript-Entwicklung in Python
    • Umsetzung neuer C++ Komponenten fuer den E-Rezept Server


    Docker Kubernetes PostgreSQL C++ Linux Redis
    C++ Linux Docker PostgreSQL Python Redis
    IBM Deutschland
    4 Jahre
    2020-01 - 2023-12

    Einarbeitung in Bestandscode einer Qt

    C++ / Qt-Entwickler (Bad Ems)
    C++ / Qt-Entwickler (Bad Ems)
    • Einarbeitung in Bestandscode einer Qt (5.9.6) UI zur Bedienung einer Beatmungsmaschine auf Basis von C++11.
    • Erweiterung der Qt UI um weitere Funktionen.
    • Die Software ist auf Basis des MVVM Design-Patterns aufgebaut.
    • Entwicklung eines seriellen Protokolls zur Kommunikation mit dem Display-Controller und des Drehgebers.
    • Anbindung des Drehgebers als input device in den Grafik-Stack als Eingabegerät.
    • Installation und Einrichtung eines Linux Systems mit Hilfe von OpenEmbedded-Core (Linux Kernel) / Yocto auf das Zielsystem (Basis i.MX 8QM, ARM A72 / A53 Prozessoren).
    • Portierung der Qt UI auf das Zielsystem.
    • Einarbeitung in Bestandscode einer älteren UI auf Basis von MFC / Win32. Entwicklung von UI Tests der Qt UI.


    Projektverlaengerungen:

    - Umsetzung neuer Komponenten in Qt / C++

    - Durchfuehrung von Systemtests

    - Dokumentation und Unit Tests

    - Umsetzung propriaeterer Kommunikationsprotokolle in C++

      1 Jahr
      2020-01 - 2020-12

      Embedded / C++ / Qt-Entwicklung

      C++ Yocto Linux ...
      • Einarbeitung in Bestandscode einer Qt (5.9.6) UI zur Bedienung einer Beatmungsmaschine auf Basis von C++11
      • Erweiterung der Qt UI um weitere Funktionen
      • Die Software ist auf Basis des MVVM Design-Patterns aufgebaut
      • Entwicklung eines seriellen Protokolls zur Kommunikation mit dem Display-Controller und des Drehgebers
      • Anbindung des Drehgebers als input device in den Grafik-Stack als Eingabegerät
      • Installation und Einrichtung eines Linux Systems mit Hilfe von OpenEmbedded-Core / Yocto auf das Zielsystem (Basis i.MX 8QM, ARM A72 / A53 Prozessoren)
      • Portierung der Qt UI auf das Zielsystem
      •  Einarbeitung in Bestandscode einer älteren UI auf Basis von MFC / Win32
      • Entwicklung von UI Tests der Qt UI
      C++ Yocto Linux Qt
      Bad Ems
      4 Monate
      2019-12 - 2020-03

      Einrichtung von Qt Toolchains für iOS, Android und Linux

      Cross-Platform Qt-Entwickler
      Cross-Platform Qt-Entwickler
      • Einrichtung von Toolchains für iOS, Android und Linux auf Basis von Qt .pro Dateien
      • Hier kommt erschwerend hinzu, dass Kombinationen von aktuellen Versionen von Xcode und Android Studio (samt Zusatz-Tools) und Qt 5.9. zusammen gebracht werden sollen, was z. T. Probleme macht (Beispiel: „alter“ GCC 4.9 im Android-NDK erzeugt fehlerhaften Qt Code)
      • Debugging von ähnlichen Problemen, wie oben beschrieben
      • Anpassungen im Bestandscode um die Unit Tests auf den genannten Platformen zum positiven Ergebnis zu bringen
      • Als Basis wurde Qt 5.9.6 festgelegt unter Berücksichtigung, dass nur ältere NDK- und Buildtool-Versionen verwendet werden können
      6 Monate
      2019-07 - 2019-12

      Portierung von Bildverarbeitungsalgorithmen einer Kalibrierungssoftware in Python

      C++ / Android-Entwickler
      C++ / Android-Entwickler
      • Portierung von Bildverarbeitungsalgorithmen einer Kalibrierungssoftware in Python (Numpy) nach C++11 und Testen der daraus resultierenden Bibliothek unter Linux und Windows
      • Weiterhin Anbindung der Bibliothek auf einer Android Plattform und Kommunikation mittels JNI
      Siegen
      9 Monate
      2019-04 - 2019-12

      Übernahme der Rolle als Implementierungs-Verantwortlicher für UI5 Apps

      Implementierungs-Lead und UI5-Entwickler JavaScript UI5 OData ...
      Implementierungs-Lead und UI5-Entwickler
      • Mitarbeit an verschiedenen UI5 Web-Anwendungen des Kunden, die aus der Beratung, Konzeption, Bewertung und Umsetzung von Lösungsvorschlägen besteht
      • Übernahme der Rolle als Implementierungs-Verantwortlicher für UI5 Apps der Abteilung
      • Die Aufgabe besteht aus Festlegung eines agilen Software Entwicklungs-Prozesses, Richtlinien für Coding Guidelines von UI5 / JavaScript Apps, Coding Review-Richtlinien und Dokumentation
      • Entwicklung eines Node.js Backends zur Unterstützung von „headless“ unit tests im UI5- / JavaScript Bereich
      JavaScript UI5 OData SCRUM SAP Fiori SCP Node.js
      DB Systel
      Frankfurt am Main
      4 Monate
      2018-12 - 2019-03

      Mitarbeit an einer App (iOS, Android) zur Steuerung einer Zentralheizung

      C++ / Qt Entwickler
      C++ / Qt Entwickler
      • Planung und Umsetzung des Datenmodells in C++
      • Umsetzung eines Kommunikationsprotokolls zwischen der QML-Schicht und der C++-Schicht
      • Umsetzung der UI und custom controls nach UI/UX Vorgaben
      C++ Qt 5 QML
      2 Jahre 8 Monate
      2016-08 - 2019-03

      Android- und UI5/JavaScript Web App-Entwicklung

      Software-Entwickler UI5 JavaScript TypeScript ...
      Software-Entwickler

      Bei meiner Arbeit handelt es sich um native Android Apps und Webanwendungen für den Desktop auf Basis von UI5 (Fiori), die von den Mitarbeitern des Kunden produktiv eingesetzt werden.

      • Der Kunde verspricht sich durch die Modernisierung der vormals SAP GUI-basierten Anwendungen eine Produktivitätssteigerung als auch eine schnellere Erweiterung der z. T. mobilen Anwendungen
      • Inhalt der nativen Android-Entwicklung ist die Anbindung von Google Maps und die Visualisierung von unterschiedlichen Karten-Materialien des Kunden, wie z. B. Bahnhöhe, Bahnschranken, Brücken, etc.
      • Diese Informationen werden über verschiedene Web Services bezogen und in einer SQLite Datenbank gespeichert
      • Dabei handelt es sich um ein Volumen von über 500 MB Rohdaten, was spezielle Anforderungen an den Downloads-Prozess (Download ist nicht nur via WLAN möglich), den Import-Prozess in die Datenbank und auch an die Visualisierung auf der Karte stellt
      • Durch Anwendung von verschiedenen Filter-Mechanismen (z. B. Berücksichtigung der Zoom-Stufe der Karte) werden entsprechend mehr oder weniger Daten angezeigt
      • Unter durchgängigen Einsatz von Streams wird der Speicherverbrauch möglichst niedrig gehalten
      • Mit dem Framework wird eine stabile Struktur zur asynchronen Verarbeitung der Prozesse gewährleistet, inkl. Fehlerbehandlung, Abbruch und Weiterführung der Vorgänge
      • Bei den Webanwendungen geht es um die Entwicklung von komplexen UI5 web apps und der Anbindung von SAP Gateway Services
      • Die web apps erreichen mittlerweile den Umfang von nativen Desktop Anwendungen
      • Dabei handelt es sich um aufwendige Vorgänge, die ehemals in der SAP GUI stattfanden und nun effizienter mit modernen Interaktionen aus der modernen UI / UX Welt durchgeführt werden können
      • Entwicklung eines auf basierten servers in modernem C++14 um Nachrichten an UI5 apps senden zu können
      • Ich habe zwei Entwicklungswege genutzt: die vereinfachte Version mittels (server-sent events) und eine komplexere Variante auf Grundlage des Protokolls
      Android Studio SAP UI5 Emacs Android C++ OData SAP Gateway gradle
      UI5 JavaScript TypeScript SCRUM
      Deutsche Bahn AG
      Frankfurt am Main
      5 Monate
      2017-11 - 2018-03

      Weiterentwicklung einer bestehenden Informations-App für Mitarbeiter des Kunden

      Android Entwickler
      Android Entwickler
      • Die bestehende Android Anwendung wurde um weitere Fragmente erweitert, die Informationen in Form von PDF Dokumente, Web Inhalte oder Listen (z. B. Mitarbeiter-Verzeichnis) anbietet
      • Die vorgehaltenen Daten wurden vom Kundenserver regelmäßig bezogen. Wichtig war hier, dass die Daten nahezu komplett verschlüsselt im Android Gerät vorliegen
      • Eine besondere Herausforderung war, dass gerade die Verschlüsselungsthematik sich auf unterschiedlichen Android Versionen und Geräten z. T. unterschiedlich verhält
      • Hier war eine intensive Ursachenklärung notwendig, bis eine angemessene Lösung entwickelt werden konnte
      Android Java Android Studio gradle Einsatz von starken Verschlüsselungstechniken
      Mainz
      9 Monate
      2015-10 - 2016-06

      Entwickelung neuer Features in C++ und nativem Android Code (Java)

      C++ / Qt und Android Entwickler
      C++ / Qt und Android Entwickler
      • In einer bestehenden Android App auf Basis von C++ / Qt entwickelte ich neue Features in C++ und nativem Android Code (Java)
      • Bei der Software handelt es sich um eine Verwaltungs-App für Außendienst-Mitarbeiter zur Wartung und Inspektion von Stadtwerke-Anlagen
      • Der Bestandscode (in C++) ist an manchen Stellen zum Teil älter als 15 Jahre alt (manche Module sogar noch aus Mitte der 90er – Kenner wissen, was ich damit meine), sodass ich mich mit unterschiedlichen Programmier-Stilen und C++ Standards auseinandersetzen musste
      • Ein generelles Refactoring war nicht gewünscht da der Code (berechtigt) über die Jahre fehlerbereinigt werden konnte
      Aschaffenburg
      1 Jahr 3 Monate
      2015-04 - 2016-06

      Native iOS Lösung für das iPad zur Unterstützung des Verkaufsprozesses

      iOS und Java Entwickler
      iOS und Java Entwickler

      Native iOS Lösung für das iPad zur Unterstützung des Verkaufsprozesses in Autohäusern. Anschließend unterstützte ich das Team in der Backend-Entwicklung, welche in Java erfolgte.

      • Bei der Entwicklung ging es im Kern um die Umsetzung einer hoch spezialisierten Design-Vorgabe in enger Absprache mit der Design-Agentur
      • Dies war auch notwendig, denn es gab zahlreiche Muster, die Sonderlösungen den Einsatz von Core Animation und aufwendigen Tricks mit UIKit erforderlich machten
      • Die Anbindung an das backend erfolgte über die Middleware Apiomat, welches in Abstimmung mit dem Hersteller stattfand
      • Es wurde mit den neuesten Objective-C Technologien entwickelt. Neben dem Einsatz von high level frameworks wie z. B. Bolts war es dennoch notwendig, bis auf libdispatch Ebene zu debuggen oder aber mit Instruments nicht optimale UI Pfade zu optimieren
      • Nachdem das iOS Team verstärkt wurde und in der Backend-Entwicklung weitere Entwicklungsarbeit notwendig war, wechselte ich meine Rolle als Java Backend-Entwickler, um die oben genannte Middleware voran zu treiben
      • Hier kam hauptsächlich Java 8 mit Eclipse und maven zum Einsatz
      • Zeitgemäße Entwicklungs-Methodik im Scrum-Modus mit einer Vier-Augen-QA nach jedem commit in Richtung develop branch
      iOS Objective-C Bolts Framework Apiomat Java Eclipse
      Frankfurt am Main
      8 Monate
      2015-05 - 2015-12

      Folgeauftrag UI für Time-of-flight Kameras

      C++ / Qt und Android-Entwickler
      C++ / Qt und Android-Entwickler
      • Redesign einer bestehenden UI mit Qt5 + QML, inkl. Sicherstellung der Funktionalität unter Android, iOS, GNU/Linux, Mac OS X und Windows
      • Die Hauptarbeit wurde mit C++11, Qt5 und QML realisiert
      • Es wurden komplexe UI Widgets in Qt entwickelt, um eine moderne und auf allen Plattformen einheitliche Darstellung zu gewährleisten
      • Es wurde ein grafisches Qt Control entwickelt, welches dem Interface des nachgebaut wurde, inkl. Animationen und Effekte
      • Das Control wurde eingesetzt, um Netzwerke von digitalen Bildverarbeitungsfiltern interaktiv zu bauen und zu konfigurieren
      • Die Netzwerke wurden in ein binäres Format umgewandelt, welches von der Kamera-Software des Kunden interpretiert wurde und eingesetzt werden konnte
      Qt5 C++11 QML Cross Plattform-Entwicklung git
      Siegen
      6 Monate
      2014-09 - 2015-02

      Entwicklung einer Cross Plattform-Anwendung zur Visualisierung von Daten einer Time-of-flight Kamera

      C++ / Qt und Android-Entwickler
      C++ / Qt und Android-Entwickler
      • Bei der Anwendung geht es um die Verarbeitung und Visualisierung von Messdaten in Form einer 3D Punkte-Wolke. Die Aufnahmen erfolgen mit einer 3D Kamera, nach dem Prinzip
      • Meine Aufgabe war es, die Visualisierung der Punkte-Wolke in einer hohen Qualität wiederzugeben
      • Unter Einsatz von Algorithmen aus der digitalen Bildverarbeitung in GLSL und diversen Vorverarbeitungs-Algorithmen (in C++) ist mir dies gelungen
      • Hierbei ging es hauptsächlich um das Filtern von Sampling Fehlern, Streupixel, etc
      • Entwicklung von spezialisierten Qt Widgets zur Interaktion mit der Punkte-Wolke und zur Ansteuerung der Verarbeitungskette (Shader, Algorithmen-Parameter, Filterung von Mess-Fehlern usw.)
      • Anschließend wurde eine Anbindung der Kameras an Android Tablets mit dem NDK und libusb durchgeführt
      • Umsetzung der Visualisierung auf Android-Systemen mit OpenGL ES 2 und dem Android SDK
      • Die Hauptarbeit wurde mit Visual Studio 2010 und 2013 realisiert. Als Konfigurations- und Build-Tool wurde CMake verwendet
      • Native Android Entwicklung in C++ mit dem NDK
      Qt 4.8.x C++11 3D Kameras digitale Bildverarbeitung Visual Studio 2013 CMake Android NDK GLSL Shader
      Siegen
      10 Monate
      2014-03 - 2014-12

      Full-Stack Entwicklung eines App-Generators

      Web-, Backend-, iOS- und Android-Entwickler
      Web-, Backend-, iOS- und Android-Entwickler
      • Design und Umsetzung einer Web Anwendung zur Content-Verwaltung von Web-Inhalten für mobile Apps
      • Hierfür habe ich ein innovatives Bedienkonzept in HTML5/CSS, d3.js und jQuery entwickelt. Im Prinzip wird ein interaktiver Graph dargestellt, dessen Knoten Web-Inhalten entsprechen
      • Unterschiedliche Knoten erforderten die Umsetzung von spezialisierten Editoren (z. B. Text-Editor, Bilder-Galerie, usw.)
      • Via Drag and Drop konnte die Navigationsstruktur der App verändert werden
      • Entwicklung der Backend Software in Common Lisp, um die Business-Logik der Web Anwendung zu realisieren
      • Entwicklung eines optimierten CGI Programms in ANSI C für Apache, um die Kommunikation zwischen Web App und backend herzustellen
      • Die Wahl für CGI wurde aufgrund der Einfachheit der Umsetzung getroffen
      • Darüber hinaus vereinfachte die nicht-öffentliche Nutzung der Web Anwendung weiterhin
      • Entwicklung des nativen Android und iOS App Containers mit Einsatz von Standard SDK Frameworks
      • Mit dem entwickelten System werden die mobilen Inhalte der jährlichen Kunden-Events (Lighthouse Festival, Technoball, u. a.) verwaltet und veröffentlicht
      JavaScript Objective-C Android Java C
      4 Monate
      2014-05 - 2014-08

      Mitarbeit an einer nativen iPhone App (Gelbe Seiten)

      iOS-Entwickler Klassisches iOS Entwicklung Objective-C
      iOS-Entwickler
      • Beratung und Umsetzung von Software-Komponenten für die Gelbe Seiten iPhone App
      • Der größte Teil meiner Arbeit beinhaltete die Umsetzung eines iPhone-ähnlichen Dashboards, auf welchem Icons abgelegt, gelöscht und bearbeitet werden, bzw. per Drag And Drop zu Gruppen zusammengefasst werden können
      • Die Interaktion und Animation sollte dabei möglichst dem iPhone-Dashboard entsprechen
      • Die Entwicklung wurde mit Objective-C und diversen Frameworks des iOS SDKs umgesetzt
      Klassisches iOS Entwicklung Objective-C
      Frankfurt am Main
      6 Monate
      2013-09 - 2014-02

      Mitarbeit an einer nativen iPad App für Versicherungsmakler

      C und iOS Entwickler (Frankfurt am Main)
      C und iOS Entwickler (Frankfurt am Main)
      • Entwicklung einer 3D Engine in ANSI C auf OpenGL ES 2 Basis, um komplexe 3D-Diagramme aus der Versicherungsbranche wiederzugeben
      • Intensive Nutzung von linearer Algebra zur Erstellung von Verfahren zur Abbildung von Touches (2D) in den Raum (3D)
      • Dies ermöglichte das Interagieren mit den Diagrammen auf dem iPad
      • Entwicklung eines Objective-C wrappers, damit die Engine als Komponente in iOS Apps mehrfach eingesetzt werden kann
      • Entwicklung eines Wavefront Converters in Common Lisp, um 3D-Modelle aus Blender in das Engine-spezifische Format zu transformieren, d. h. das Ausgabeformat ist auf vorher ermittelte Vertex Buffer Formate abgestimmt, um optimale render performance zu erzielen
      • Entwicklung von GLSL shadern um visuelle Effekte gem. Abstimmung mit den Visual Designern zu erreichen, z. B. Antialiasing, Körnung, etc
      • Mitarbeit an der gesamten App-Entwicklung in Objective-C, Core Animation, Core Data und weiteren iOS Frameworks
      • Team-Arbeit im Scrum-Modus, mit wöchentlichen Sprints
      • Hoch optimierte low level C und OpenGL ES Entwicklung.
      • Entwicklung von GLSL Shader Programmen
      Objective-C OpenGL 3D / lineare Algebra
      3 Monate
      2013-07 - 2013-09

      Web-, Android- und iOS-Entwicklung einer Werbe-App

      • Entwicklung nativer App-Container für das iPhone (in Objective C) und für Android Geräte (in Java)
      • Entwicklung der eigentlichen App mit Hilfe von JavaScript / CSS3 und HTML5 Technologien
      • Als Frameworks kamen jQuery und d3.js (Visualisierung von Diagrammen) zum Einsatz
      • Die Einbindung von Flurry für iOS und Android diente zur Sammlung von Nutzungsdaten, während push notifications mit der Integration von Urban Airship ermöglicht wurde
      • Die Auswahl der Frameworks und Technologien wurde in Absprache mit dem Kunden durchgeführt
      • Die Apps wurden als Marketingkampagne für das Red Bull SummerSplash Event eingesetzt

      Aus- und Weiterbildung

      Aus- und Weiterbildung

      1998 - 2002
      Fachhochschule Wiesbaden
      Studium Allgemeine Informatik

      Dipl. - Inform. (FH)

       
      1996 - 1998
      Fachoberschule Friedrich-Ebert-Schule
      Fachrichtung Elektrotechnik

      Position

      Position

      Interessensgebiete

      • Allgemeine Software-Entwicklung für Windows, GNU Linux (Frontend- und Backend-Entwicklung)
      • Web-Entwicklung
      • Grafik und Multimedia (computer games, virtual reality auf OpenGL ES 2.0 Basis)
      • HMI / GUI, Infotainment und Entertainment Software

      Kompetenzen

      Kompetenzen

      Top-Skills

      C++ Python Linux C Assembler JavaScript PostgreSQL Docker

      Produkte / Standards / Erfahrungen / Methoden

      Android Studio
      Node.js
      OData
      Qt
      SAP Fiori
      SAP UI5
      SCP
      SCRUM
      UI5
      Yocto
      Profil
      Ich arbeite seit 2005 als freiberuflicher Software-Entwickler und technischer Berater. Die folgende Liste (alphabetisch sortiert) gibt einen Überblick meiner Schwerpunkte:
      • High Level Software-Entwicklung in C++, Java, JavaScript
      • Low Level (hardwarenahe) Software-Entwicklung in C, C++ und Assembler
      • Mobile Software-Entwicklung (iOS, Android)
       
      Darüber hinaus biete ich Expertise in den Bereichen:
      • Common Lisp
      • Elektronik Entwicklung
      • Entwicklung von Web-Anwendungen (UI5, Angular, TypeScript)
      • GNU / Linux
      • OpenGL (2D und 3D)
      • Programmierung von Mikrocontroller (PIC, AVR, ARM)
      • Umsetzung von User Interfaces und UI Frameworks

      Tools

      • Android Studio
      • CMake
      • Conan
      • Eclipse
      • Emacs
      • GNU make
      • Git
      • Jira
      • Node.js
      • Xcode
      • Clang / LLVM

      Frameworks, Libs

      • Cocoa, UIKit
      • GTK
      • Glibc
      • Qt 5.x
      • SAP UI5
      • UIKit
      • Angular
      • OpenSSL

      APIs, SDKs:

      • Android NDK, SDK
      • iOS SDK
      • OpenGL
      • Win32
      • Intel SGX

      Entwicklungsumgebungen:
      • Emacs
      • Xcode
      • Eclipse
      • Common Lisp (SBCL, CLISP, LispWorks, Clozue CL)
      • Cygwin

      Debugger:
      • Lauterbach Debugger
      • CANopen, CANalyzer

      Microcontroller und sonstige ICs:
      • Grafik-Controller: Fujitsu (Jasmine, Scarlet, Coral), Hitachi und EPSON
      • Philips Video Decoder SAA 711x (7113)
      • Microchip PIC16x devices (C166 / C167)
      • x86, PowerPC, ARM7

      Software (Office):
      • Microsoft Word, Excel, Powerpoint, Outlook
      • OpenOffice

      Methoden und Praktiken:
      • Funktionale Programmierung
      • Objektorientierte Programmierung
      • UML
      • SCRUM
      • Design Patterns

      Betriebssysteme

      Android
      GNU
      Graphene
      iOS
      Linux
      Mac OS X
      MS-DOS
      Unix
      Windows
      10

      Programmiersprachen

      Assembler
      80x86, ARM, AVR (Atmel)
      Bash
      Basic
      C
      C++
      C++14
      Common Lisp
      Emacs
      Emacs Lisp
      GLSL
      Java
      JavaScript
      Objective C
      PHP
      Python
      Qt QML
      TypeScript

      Datenbanken

      SQLite

      Datenkommunikation

      Ethernet
      Grundlagen
      parallele Schnittstelle
      Aufbau und Programmierung
      RS232
      Aufbau und Programmierung
      SPI (Programmierung)
      TCP/IP
      Grundlagen

      Hardware

      Bus
      CAN, I2C, SPI
      Embedded Systeme
      Verschiedene Kombinationen von Controllern, CPUs und sonst. Peripherie (z. B. PC/104, div. starter kits, firmeninterne Systeme).
      Mikrocontroller
      C167, AVR ATmega644, ATmega328
      Motorola
      MPC5200 (603e), PowerPC (PPC): G3 (750), G4 und 68000 CPU's. Erfahrung aus Projekten und privater Nutzung.
      PC
      80x86 Familie, Hardware-Details (z. B. PIC), hardwarenahe Programmierung.

      Branchen

      Branchen

      Embedded Systems

      • Automotive (z. B. car infotainment und entertainment für Automobile)
      • Software-Hersteller
      • Hardware-Hersteller (z. B. Halbleiterindustrie)

       

      Multimedia / Medien

      • Internet- und mobile Technologien


      Software-Unternehmen

      • Applikations-Entwicklung für Windows, Unix/Linux, Android, Mac OS X (Desktop und iOS)

       

      Finanzwelt

      • Börsen, Investment-Häuser

      Vertrauen Sie auf Randstad

      Im Bereich Freelancing
      Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

      Fragen?

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

      Das Freelancer-Portal

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