C++, Qt, Python, Boost, OpenGL, Vulkan
Aktualisiert am 01.11.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 01.01.2025
Verfügbar zu: 100%
davon vor Ort: 50%
C++
Qt
Python
Boost
OpenGL
Vulkan
CMake
Deutsch
Muttersprache
Englisch
gut
Französisch
Grundkenntnisse

Einsatzorte

Einsatzorte

Altötting (+100km) München (+100km) Tübingen (+100km) Titisee-Neustadt (+75km) Mindelheim (+100km) Erlangen (+100km) Deggendorf (+75km)
Österreich
möglich

Projekte

Projekte

2 Jahre 11 Monate
2020-12 - 2023-10

Entwicklung von Applikationen für IT-Systeme von Hochgeschwindigkeitszügen

Softwareingenieur C++17 Python Git ...
Softwareingenieur
  • Entwicklung eines Client und Servers für den Empfang und das Senden von Nachrichten in einem proprietären Binärformat (TCOMM)
  •  Entwicklung einer Geofencing-Applikation, welche beim Eintritt in fest definierte Gebiete ein Signal auslöst
    • Funktionen für den Import von Daten in den Formaten GeoJson (RFC 7946) und GPX eingebaut
    • Signal wird über OPC-UA gesetzt
  • Entwicklung eines Programms (Leittechnik-Entkopplungsgateway), welches Daten über ASN.1 (BER) serialisiert und periodisch (Echtzeitkritisch) unidirektional über einen seriellen Port (RS422) sendet
    • Schreiben von Erweiterungen für die Programmiersprache Python in C und C++
    • Implementierung einer REST-API (HTTP) als Server, durch die andere Anwendung Daten bereitstellen können
  • Schreiben einer Bibliothek die über eine REST-API (HTTP) als Client mit dem Diagnoseserver kommuniziert
  • Behebung von Multithreading-Problemen in Legacy-Code
Visual Studio Code VMware CMake Gitlab Redmine Subversion Docker
C++17 Python Git open62541
Siemens Mobility
Erlangen, remote
1 Jahr 3 Monate
2019-03 - 2020-05

Weiterentwicklung

Softwareingenieur
Softwareingenieur

Weiterentwicklung einer Embedded Applikation (ARM Cortex-A7) die eine Maschine zur Behandlung von Augenkrankheiten mittels eines Lasers ansteuert

Projekt 1:

  • Detektion von Memory Leaks mittels geeigneter Tools
  • Anpassen der Linux Distribution (basierend auf Yocto) um neue Anforderungen zu unterstützen:
    • Backporten von Qt 5.12 LTS auf einer ältere Version der Pokydistribution
    • Einbau der Unterstützung für das exFAT-Dateisystem mittels FUSE
    • Schreiben von systemd Unitdateien
  • Erweiterung der auf Qt basierenden grafischen Oberfläche
  • Umstellung des auf QMake und Visual Studio Projektdateien basierenden Buildsystems auf CMake

Projekt 2:

  • Entwicklung einer auf Poky (Yocto Projekt) basierenden Linuxdistribution:
  • Erstellung eigener Layer mit sog. Recipes für firmeninterne Anwendungen
  • Schreiben von umfangreichen Recipes (für Bitbake) teilweise in Python für das Deployen der Anwendungen
  • Bereitstellung einer .NET Core Laufzeitumgebung unter i.MX6 und i.MX8
  • Betreuung des CMake-basierten Buildsystems des Projekts
  • Ansprechpartner für Fragen zu Linux und Git
  • Einrichten von Code Coverage basierend auf GCov/LCov
  • Einrichten einer statischen Codeanalyse basierend auf clang-tidy
  • Einrichten von Codeformatierung basierend auf clang-format
QMake CMake Qt5/QWidgets Microsoft Visual Studio 2010 Microsoft Visual Studio 2017 QtCreator KDAB Gammaray GNU/Linux Windows 10 Team Foundation Server Yocto Linux Valgrind GNU Compiler Collection GNU GDB systemd Bash Shell LLVM/Clang Microsoft Visual Studio 2019
Jena
10 Monate
2018-04 - 2019-01

Weiterentwicklung der Navigations- und Steuerungssoftware von Schiffsbrücken

Softwareentwicklung Scrum
Softwareentwicklung
  • Entwicklung von Komponenten für das Backendsystem, z.B. zur Weiterverarbeitung von NMEA-Nachrichten
  • Pflege des Servicetools zur Konfiguration der Anlage
  • Behebung von Darstellungsfehlern in Qt Anwendungen (Qt Quick 2 Scenegraph)
  • Migration der Toolchain inkl. Bibliotheken (Qt, Boost, ...) von Visual Studio 2013 auf Visual Studio 2017
CMake Boost Qt5/QML C++ Visual Studio 2017 Atlassian JIRA Apache Subversion
Scrum
Kiel
1 Jahr 6 Monate
2016-11 - 2018-04

Buildmanagement / Softwareentwicklung

C++ Shellprogrammierung (Bash) Qt4/Qt5 ...
Buildmanagement und Anpassung an Buildskripten für die Plattform i.MX 6 (NXP)
  • Absicherung eines Embedded Linux im Netzwerk (Firewall)
  • Betreuung der Buildsysteme (CMake, QMake) und der Skripte (Shellskripte) für das Steuern des Builds
  • Einrichtung und Betreung eines Buildservers (Jenkins)
    • Einrichtung der Testinfrastruktur
    • Planung/Einrichtung eines Continuous Integration / Continuous Delivery Prozess
  • Erweiterung des VNC-Viewers der Applikation um eine Verschlüsselung (tunneln über SSH)
  • Erstellung von Rezepten für die interne auf PTXDist basierte Distribution
C++ Shellprogrammierung (Bash) Qt4/Qt5 QMake CMake GCC GNU/Linux UBoot (Bootloader) PuTTY Virtualbox PTXDist SCRUM
9 Monate
2015-05 - 2016-01

Softwareentwicklung

C++ Python Qt4 ...

Testautomatisierung für Flugkörperablenkungssystem, Implementierung von Algorithmen

  • Anforderungsanalyse (Requirements Engineering)
  • Herleiten von Tests aus den Anforderungen
  • Implementierung der Tests
  • Implementierung eines Glättungsalgorithmus für Windsensordaten
  • Neuimplementierung eines Netzwerkmoduls
C++ Python Qt4 Enterprise Architect Microsoft Office Valgrind Qt Creator QMake Debian GNU/Linux Qwt MS Visual Studio 2010 GCC LLVM/Clang GDB (Remote Debugging)
5 Monate
2012-11 - 2013-03

Entwicklung Netzwerkkomponenten eines Cloudbasierten Dienstes

Softwareentwickler C++ Java
Softwareentwickler
  • Entwicklung des Userinterface für eine auf eine ApolloText-Datenbank (semantische Textsuche) zugreifende Applikation
  • Entwicklung eines minimalen HTTP-Servers
  • Weiterentwicklung einer Android-Applikation für Abfotografieren von Preisanzeigen an Tankstellen
  • Entwicklung von Komponenten zur Bereitstellung von Netzwerkdiensten (QTcpServer)
  • Entwicklung eines Clients zum Empfang von MJPEG Netzwerkstreams
Subversion Eclipse MS Visual C++ Android SDK Qt4 Qt Qt Solution
C++ Java
Wolfratshausen
1 Jahr 7 Monate
2011-09 - 2013-03

Qt-Softwareentwicklung

von Okt 2011 - Juni 2012 im Projekteinsatz bei [Branche Automotive; Mitarbeiter: <10.000]

  • Weiterentwicklung an der Bedienoberfläche der Navigationskomponente des Onboard-Infotainment-system
    • Traceanalyse (MOST) (hauptsächlich)
    • Fehlerbeseitigung im Quellcode
    • Implementierung von Change Requests
  • Programmiersprache:
    • C++, Python (Toolentwicklung)
  • Technologien:
    • Mercurial, Jira (Bugtracker), Eclipse/Pydev, Boost, STL, IBM Rational DOORS

von Juli 2012 - Okt 2012 internes Projekt

  • Entwicklung eines durch selbstdefinierte Schemas anpassbaren Editors zur Bearbeitung von Binärdateien
    • Planung der Applikation
    • Entwicklung der Applikation (inkl. Unit-Tests)
  • Programmiersprache:
    • Python
  • Technologien:
    • Subversion, Redmine (Bugtracker), Eclipse/Pydev, PySide (Python bindings für Qt)

von Nov 2012 - März 2013 im Projekteinsatz bei [Branche Bildverarbeitung; Mitarbeiter: <10]

  • Entwicklung des Userinterface für eine auf eine ApolloText-Datenbank (semantische Textsuche) zugreifende Applikation
  • Entwicklung eines minimalen HTTP-Servers
  • Weiterentwicklung einer Android-Applikation für Abfotografieren von Preisanzeigen an Tankstellen
  • Entwicklung von Komponenten zur Bereitstellung von Netzwerkdiensten (QTcp- Server)
  • Entwicklung eines Clients zum Empfang von MJPEG Netzwerkstreams
  • Programmiersprache:
    • C++, Java (Android-Entwicklung)
  • Technologien:
    • Subversion, Eclipse/JDT, MS Visual C++, Android SDK, Qt4, QMake, Qt Solution
4 Monate
2012-07 - 2012-10

Entwicklung eines erweiterten Hexeditors

Softwareentwickler Python
Softwareentwickler
  • Entwicklung eines durch selbstdefinierte Schemas anpassbaren Editors zur Bearbeitung von Binärdateien
  • Planung der Applikation
  • Entwicklung der Applikation (inkl. Unit-Tests)
PySide PyQt Subversion Redmine Eclipse/PyDev
Python
München
9 Monate
2011-10 - 2012-06

Bedienoberfläche HMI Infotainmentsystem

Softwarentwickler C++ Python
Softwarentwickler
  • Traceanalyse (MOST) (hauptsächlich)
  • Fehlerbeseitigung im Quellcode
  • Implementierung von Change Requests
Mercurial Jira Eclipse/PyDev Boost IBM Rational Doors
C++ Python
München
1 Jahr 8 Monate
2010-02 - 2011-09

Entwicklung visueller Komponenten

Softwareentwickler C++ OpenGL
Softwareentwickler

Weiterentwicklung von PACKAssistant (Packoptimierer produziert in Zusammenarbeit mit [Branche Scientific Computing; Mitarbeiter: <1.000])

  • Implementierung des Imports von STEP-Dateien mittels OpenCascade-Bibliothek
  • Pflege von Legacy-Code (Elimination von Seiteneffekten)
  • Implementierung eines Baums (QTreeView) nach dem Model-View-Controller Konzept
  • Entwicklung von Unit Tests
  • Bachelorarbeit: Nov 2010 - April 2011
    • Thema: “Dynamische Visualisierung von Teiledaten abhängig vom Betrachtungsabstand”
    • Beschreibung verschiedener LOD-Arten (Level of Details)
    • Betrachtung einiger schon zur Verfügung stehender LOD-Frameworks unter verschiedenen Gesichtspunkten: Lizenz, Verwendbarkeit und Wartbarkeit
    • Evaluierung mehrerer Algorithmen für LOD-Erzeugung
    • Implementierung des “Quadric Error Metrics”-Algorithmus von Garland und Heckbert
CMake Eigen (lin. Algebra) Qt3 Qt4 Mercurial OpenCascade VTK Subversion MS Visual C++ QMake GraphViz
C++ OpenGL
München
6 Monate
2009-08 - 2010-01

Qt-Softwareentwicklung

Softwareentwickler C++ XML
Softwareentwickler

Praktisches Studiensemester

  • Entwicklung eines Reportgenerator mittels PoDoFo Bibliothek für ein Dokumentensystem
  • Erweiterung der Software zur Erfassung der herstellerspezifischen Definitionen von Maschinenestörungscodes für ein Fertigungsleitsystem
  • Entwicklung eines Code-Generator-Tools zur Generierung von C++-Klassen und Code aus XML-Dateien
Qt4 MS Visual C++ PoDoFo
C++ XML
Immenstadt
4 Monate
2008-05 - 2008-08

Entwicklung an ERP-Software

Softwareentwickler Java Subversion Eclipse ...
Softwareentwickler
  • Entwicklung an ADempiere (Fork von Compiere, ERP unter freier Lizenz)
  • Anpassung des Quellcodes für Kunden
  • Betreuung der Datev-Schnittstelle
Java Subversion Eclipse Netbeans PostgreSQL
Landshut

Aus- und Weiterbildung

Aus- und Weiterbildung

4 Jahre 1 Monat
2013-03 - 2017-03

Master of Science

Master, Hochschule München
Master
Hochschule München

Computergraphik/Bildverarbeitung

3 Jahre 11 Monate
2007-10 - 2011-08

Bachelor of Science Studiengang Informatik

Bachelor of Science, Hochschule Landshut
Bachelor of Science
Hochschule Landshut

Bachelorarbeit

Titel

Dynamische Visualisierung von Teiledaten abhängig vom Betrachtungsabstand
Beschreibung

Die Bachelorarbeit erläutert mehrere Möglichkeiten ein dreidimensionales Modell in ein weniger hoch auflösendes Modell umzuwandeln. Es werden dabei zuerst grundlegende Begriffe von “Level of Details” geklärt, die verschiedenen Unterarten von Level of Details und auch Techniken zur Reduktion eines Modells. Es werden zwei Algorithmen (Quadric Error Metrics und Vertex Clustering) vorgestellt,
die auch implementiert wurden. Die Resultate, die die beiden Algorithmen liefern, werden miteinander verglichen. Ebenfalls werden in der Bachelorarbeit mehrere Bibliotheken vorgestellt, die Modelle reduzieren können.

Kompetenzen

Kompetenzen

Top-Skills

C++ Qt Python Boost OpenGL Vulkan CMake

Produkte / Standards / Erfahrungen / Methoden

Apache Subversion
Atlassian JIRA
Boost
GCC
GNU Compiler Collection
GNU GDB
KDAB Gammaray
LLVM/Clang
Microsoft Visual Studio 2010
Microsoft Visual Studio 2017
Microsoft Visual Studio 2019
PuTTY
Qt5/QML
Qt5/QWidgets
QtCreator
SCRUM
systemd
Team Foundation Server
Valgrind
Virtualbox
Yocto Linux

Modellierungsarten

  • UML 2.0
  • Flussdiagramm
  • Petri-Netze

Software/IDE

  • Eclipse CDT/PyDev
  • Netbeans
  • QtCreator
  • Visual Studio

Bibliotheken/Frameworks/API
Boost

  • Serialization
  • Function
  • IOStreams
  • Signals
  • Smartpointer
  • Thread
  • Tuple
  • Unordered
  • Variant
  • Log
  • Test
  • Asio
  • Python
  • Tokenizer

Qt Development Framework (Qt3, Qt4 und Qt5)

  • Signal-Slot-Konzept
  • Qt Container
  • GUI / Widgets
  • Netzwerk
  • SQL
  • Threads
  • Model View Controller / ItemViews
  • XML Modul
  • Unit Test
  • Qt Designer
  • OpenGL Modul
  • Qt Solutions
  • Qwt
  • Qt Bindings für PySide, PyQt
  • Python
  • Matrix, Eigen, GLM (OpenGL Mathematics)
  • Bibliotheken
    3D Grafik/ OpenGL (1.1-4.3), GLSL, GLEW (OpenGL Extension Wrangler), C++ AMP, GPGPU
  • Python
    • NumPy, SciPy, Matplotlib
  • Sonstige
    • OpenCascade, PoDoFo, Intel Threading Building Blocks

Sonstiges
Compiler

  • GCC, Clang/LLVM, MS Visual C++ Compiler

Buildsysteme

  • CMake, QMake, GNU Make

Con. Integr.

  • Jenkins

Dokumentation

  • Doxygen, Sphinx (Python), Javadoc

VCS

  • Subversion, Mercurial, Git

Markup Lang.

  • LATEX(Textsatzsystem), Dot/Graphviz (Visualisierung), HTML/CSS, XML, ReST
    (reStructuredText), JSON

Bugtracker

  • JIRA, Redmine, TRAC

Betriebssysteme

Debian GNU/Linux
GNU/Linux
RHEL
UBoot (Bootloader)
Windows 10
Windows 2000/XP/7

Programmiersprachen

Bash Shell
C++
CMake
Haskell
Java
Python
QMake
Shellprogrammierung (Bash)

Datenbanken

PostgreSQL
SQLite

Design / Entwicklung / Konstruktion

PTXDist
Qt4/Qt5
Visual Studio 2017

Branchen

Branchen

  • Automotive
  • Scientific Computing
  • Embedded
  • Marinetechnik
  • Rüstungsindustrie
  • Bildverarbeitung
  • Medizintechnik

Einsatzorte

Einsatzorte

Altötting (+100km) München (+100km) Tübingen (+100km) Titisee-Neustadt (+75km) Mindelheim (+100km) Erlangen (+100km) Deggendorf (+75km)
Österreich
möglich

Projekte

Projekte

2 Jahre 11 Monate
2020-12 - 2023-10

Entwicklung von Applikationen für IT-Systeme von Hochgeschwindigkeitszügen

Softwareingenieur C++17 Python Git ...
Softwareingenieur
  • Entwicklung eines Client und Servers für den Empfang und das Senden von Nachrichten in einem proprietären Binärformat (TCOMM)
  •  Entwicklung einer Geofencing-Applikation, welche beim Eintritt in fest definierte Gebiete ein Signal auslöst
    • Funktionen für den Import von Daten in den Formaten GeoJson (RFC 7946) und GPX eingebaut
    • Signal wird über OPC-UA gesetzt
  • Entwicklung eines Programms (Leittechnik-Entkopplungsgateway), welches Daten über ASN.1 (BER) serialisiert und periodisch (Echtzeitkritisch) unidirektional über einen seriellen Port (RS422) sendet
    • Schreiben von Erweiterungen für die Programmiersprache Python in C und C++
    • Implementierung einer REST-API (HTTP) als Server, durch die andere Anwendung Daten bereitstellen können
  • Schreiben einer Bibliothek die über eine REST-API (HTTP) als Client mit dem Diagnoseserver kommuniziert
  • Behebung von Multithreading-Problemen in Legacy-Code
Visual Studio Code VMware CMake Gitlab Redmine Subversion Docker
C++17 Python Git open62541
Siemens Mobility
Erlangen, remote
1 Jahr 3 Monate
2019-03 - 2020-05

Weiterentwicklung

Softwareingenieur
Softwareingenieur

Weiterentwicklung einer Embedded Applikation (ARM Cortex-A7) die eine Maschine zur Behandlung von Augenkrankheiten mittels eines Lasers ansteuert

Projekt 1:

  • Detektion von Memory Leaks mittels geeigneter Tools
  • Anpassen der Linux Distribution (basierend auf Yocto) um neue Anforderungen zu unterstützen:
    • Backporten von Qt 5.12 LTS auf einer ältere Version der Pokydistribution
    • Einbau der Unterstützung für das exFAT-Dateisystem mittels FUSE
    • Schreiben von systemd Unitdateien
  • Erweiterung der auf Qt basierenden grafischen Oberfläche
  • Umstellung des auf QMake und Visual Studio Projektdateien basierenden Buildsystems auf CMake

Projekt 2:

  • Entwicklung einer auf Poky (Yocto Projekt) basierenden Linuxdistribution:
  • Erstellung eigener Layer mit sog. Recipes für firmeninterne Anwendungen
  • Schreiben von umfangreichen Recipes (für Bitbake) teilweise in Python für das Deployen der Anwendungen
  • Bereitstellung einer .NET Core Laufzeitumgebung unter i.MX6 und i.MX8
  • Betreuung des CMake-basierten Buildsystems des Projekts
  • Ansprechpartner für Fragen zu Linux und Git
  • Einrichten von Code Coverage basierend auf GCov/LCov
  • Einrichten einer statischen Codeanalyse basierend auf clang-tidy
  • Einrichten von Codeformatierung basierend auf clang-format
QMake CMake Qt5/QWidgets Microsoft Visual Studio 2010 Microsoft Visual Studio 2017 QtCreator KDAB Gammaray GNU/Linux Windows 10 Team Foundation Server Yocto Linux Valgrind GNU Compiler Collection GNU GDB systemd Bash Shell LLVM/Clang Microsoft Visual Studio 2019
Jena
10 Monate
2018-04 - 2019-01

Weiterentwicklung der Navigations- und Steuerungssoftware von Schiffsbrücken

Softwareentwicklung Scrum
Softwareentwicklung
  • Entwicklung von Komponenten für das Backendsystem, z.B. zur Weiterverarbeitung von NMEA-Nachrichten
  • Pflege des Servicetools zur Konfiguration der Anlage
  • Behebung von Darstellungsfehlern in Qt Anwendungen (Qt Quick 2 Scenegraph)
  • Migration der Toolchain inkl. Bibliotheken (Qt, Boost, ...) von Visual Studio 2013 auf Visual Studio 2017
CMake Boost Qt5/QML C++ Visual Studio 2017 Atlassian JIRA Apache Subversion
Scrum
Kiel
1 Jahr 6 Monate
2016-11 - 2018-04

Buildmanagement / Softwareentwicklung

C++ Shellprogrammierung (Bash) Qt4/Qt5 ...
Buildmanagement und Anpassung an Buildskripten für die Plattform i.MX 6 (NXP)
  • Absicherung eines Embedded Linux im Netzwerk (Firewall)
  • Betreuung der Buildsysteme (CMake, QMake) und der Skripte (Shellskripte) für das Steuern des Builds
  • Einrichtung und Betreung eines Buildservers (Jenkins)
    • Einrichtung der Testinfrastruktur
    • Planung/Einrichtung eines Continuous Integration / Continuous Delivery Prozess
  • Erweiterung des VNC-Viewers der Applikation um eine Verschlüsselung (tunneln über SSH)
  • Erstellung von Rezepten für die interne auf PTXDist basierte Distribution
C++ Shellprogrammierung (Bash) Qt4/Qt5 QMake CMake GCC GNU/Linux UBoot (Bootloader) PuTTY Virtualbox PTXDist SCRUM
9 Monate
2015-05 - 2016-01

Softwareentwicklung

C++ Python Qt4 ...

Testautomatisierung für Flugkörperablenkungssystem, Implementierung von Algorithmen

  • Anforderungsanalyse (Requirements Engineering)
  • Herleiten von Tests aus den Anforderungen
  • Implementierung der Tests
  • Implementierung eines Glättungsalgorithmus für Windsensordaten
  • Neuimplementierung eines Netzwerkmoduls
C++ Python Qt4 Enterprise Architect Microsoft Office Valgrind Qt Creator QMake Debian GNU/Linux Qwt MS Visual Studio 2010 GCC LLVM/Clang GDB (Remote Debugging)
5 Monate
2012-11 - 2013-03

Entwicklung Netzwerkkomponenten eines Cloudbasierten Dienstes

Softwareentwickler C++ Java
Softwareentwickler
  • Entwicklung des Userinterface für eine auf eine ApolloText-Datenbank (semantische Textsuche) zugreifende Applikation
  • Entwicklung eines minimalen HTTP-Servers
  • Weiterentwicklung einer Android-Applikation für Abfotografieren von Preisanzeigen an Tankstellen
  • Entwicklung von Komponenten zur Bereitstellung von Netzwerkdiensten (QTcpServer)
  • Entwicklung eines Clients zum Empfang von MJPEG Netzwerkstreams
Subversion Eclipse MS Visual C++ Android SDK Qt4 Qt Qt Solution
C++ Java
Wolfratshausen
1 Jahr 7 Monate
2011-09 - 2013-03

Qt-Softwareentwicklung

von Okt 2011 - Juni 2012 im Projekteinsatz bei [Branche Automotive; Mitarbeiter: <10.000]

  • Weiterentwicklung an der Bedienoberfläche der Navigationskomponente des Onboard-Infotainment-system
    • Traceanalyse (MOST) (hauptsächlich)
    • Fehlerbeseitigung im Quellcode
    • Implementierung von Change Requests
  • Programmiersprache:
    • C++, Python (Toolentwicklung)
  • Technologien:
    • Mercurial, Jira (Bugtracker), Eclipse/Pydev, Boost, STL, IBM Rational DOORS

von Juli 2012 - Okt 2012 internes Projekt

  • Entwicklung eines durch selbstdefinierte Schemas anpassbaren Editors zur Bearbeitung von Binärdateien
    • Planung der Applikation
    • Entwicklung der Applikation (inkl. Unit-Tests)
  • Programmiersprache:
    • Python
  • Technologien:
    • Subversion, Redmine (Bugtracker), Eclipse/Pydev, PySide (Python bindings für Qt)

von Nov 2012 - März 2013 im Projekteinsatz bei [Branche Bildverarbeitung; Mitarbeiter: <10]

  • Entwicklung des Userinterface für eine auf eine ApolloText-Datenbank (semantische Textsuche) zugreifende Applikation
  • Entwicklung eines minimalen HTTP-Servers
  • Weiterentwicklung einer Android-Applikation für Abfotografieren von Preisanzeigen an Tankstellen
  • Entwicklung von Komponenten zur Bereitstellung von Netzwerkdiensten (QTcp- Server)
  • Entwicklung eines Clients zum Empfang von MJPEG Netzwerkstreams
  • Programmiersprache:
    • C++, Java (Android-Entwicklung)
  • Technologien:
    • Subversion, Eclipse/JDT, MS Visual C++, Android SDK, Qt4, QMake, Qt Solution
4 Monate
2012-07 - 2012-10

Entwicklung eines erweiterten Hexeditors

Softwareentwickler Python
Softwareentwickler
  • Entwicklung eines durch selbstdefinierte Schemas anpassbaren Editors zur Bearbeitung von Binärdateien
  • Planung der Applikation
  • Entwicklung der Applikation (inkl. Unit-Tests)
PySide PyQt Subversion Redmine Eclipse/PyDev
Python
München
9 Monate
2011-10 - 2012-06

Bedienoberfläche HMI Infotainmentsystem

Softwarentwickler C++ Python
Softwarentwickler
  • Traceanalyse (MOST) (hauptsächlich)
  • Fehlerbeseitigung im Quellcode
  • Implementierung von Change Requests
Mercurial Jira Eclipse/PyDev Boost IBM Rational Doors
C++ Python
München
1 Jahr 8 Monate
2010-02 - 2011-09

Entwicklung visueller Komponenten

Softwareentwickler C++ OpenGL
Softwareentwickler

Weiterentwicklung von PACKAssistant (Packoptimierer produziert in Zusammenarbeit mit [Branche Scientific Computing; Mitarbeiter: <1.000])

  • Implementierung des Imports von STEP-Dateien mittels OpenCascade-Bibliothek
  • Pflege von Legacy-Code (Elimination von Seiteneffekten)
  • Implementierung eines Baums (QTreeView) nach dem Model-View-Controller Konzept
  • Entwicklung von Unit Tests
  • Bachelorarbeit: Nov 2010 - April 2011
    • Thema: “Dynamische Visualisierung von Teiledaten abhängig vom Betrachtungsabstand”
    • Beschreibung verschiedener LOD-Arten (Level of Details)
    • Betrachtung einiger schon zur Verfügung stehender LOD-Frameworks unter verschiedenen Gesichtspunkten: Lizenz, Verwendbarkeit und Wartbarkeit
    • Evaluierung mehrerer Algorithmen für LOD-Erzeugung
    • Implementierung des “Quadric Error Metrics”-Algorithmus von Garland und Heckbert
CMake Eigen (lin. Algebra) Qt3 Qt4 Mercurial OpenCascade VTK Subversion MS Visual C++ QMake GraphViz
C++ OpenGL
München
6 Monate
2009-08 - 2010-01

Qt-Softwareentwicklung

Softwareentwickler C++ XML
Softwareentwickler

Praktisches Studiensemester

  • Entwicklung eines Reportgenerator mittels PoDoFo Bibliothek für ein Dokumentensystem
  • Erweiterung der Software zur Erfassung der herstellerspezifischen Definitionen von Maschinenestörungscodes für ein Fertigungsleitsystem
  • Entwicklung eines Code-Generator-Tools zur Generierung von C++-Klassen und Code aus XML-Dateien
Qt4 MS Visual C++ PoDoFo
C++ XML
Immenstadt
4 Monate
2008-05 - 2008-08

Entwicklung an ERP-Software

Softwareentwickler Java Subversion Eclipse ...
Softwareentwickler
  • Entwicklung an ADempiere (Fork von Compiere, ERP unter freier Lizenz)
  • Anpassung des Quellcodes für Kunden
  • Betreuung der Datev-Schnittstelle
Java Subversion Eclipse Netbeans PostgreSQL
Landshut

Aus- und Weiterbildung

Aus- und Weiterbildung

4 Jahre 1 Monat
2013-03 - 2017-03

Master of Science

Master, Hochschule München
Master
Hochschule München

Computergraphik/Bildverarbeitung

3 Jahre 11 Monate
2007-10 - 2011-08

Bachelor of Science Studiengang Informatik

Bachelor of Science, Hochschule Landshut
Bachelor of Science
Hochschule Landshut

Bachelorarbeit

Titel

Dynamische Visualisierung von Teiledaten abhängig vom Betrachtungsabstand
Beschreibung

Die Bachelorarbeit erläutert mehrere Möglichkeiten ein dreidimensionales Modell in ein weniger hoch auflösendes Modell umzuwandeln. Es werden dabei zuerst grundlegende Begriffe von “Level of Details” geklärt, die verschiedenen Unterarten von Level of Details und auch Techniken zur Reduktion eines Modells. Es werden zwei Algorithmen (Quadric Error Metrics und Vertex Clustering) vorgestellt,
die auch implementiert wurden. Die Resultate, die die beiden Algorithmen liefern, werden miteinander verglichen. Ebenfalls werden in der Bachelorarbeit mehrere Bibliotheken vorgestellt, die Modelle reduzieren können.

Kompetenzen

Kompetenzen

Top-Skills

C++ Qt Python Boost OpenGL Vulkan CMake

Produkte / Standards / Erfahrungen / Methoden

Apache Subversion
Atlassian JIRA
Boost
GCC
GNU Compiler Collection
GNU GDB
KDAB Gammaray
LLVM/Clang
Microsoft Visual Studio 2010
Microsoft Visual Studio 2017
Microsoft Visual Studio 2019
PuTTY
Qt5/QML
Qt5/QWidgets
QtCreator
SCRUM
systemd
Team Foundation Server
Valgrind
Virtualbox
Yocto Linux

Modellierungsarten

  • UML 2.0
  • Flussdiagramm
  • Petri-Netze

Software/IDE

  • Eclipse CDT/PyDev
  • Netbeans
  • QtCreator
  • Visual Studio

Bibliotheken/Frameworks/API
Boost

  • Serialization
  • Function
  • IOStreams
  • Signals
  • Smartpointer
  • Thread
  • Tuple
  • Unordered
  • Variant
  • Log
  • Test
  • Asio
  • Python
  • Tokenizer

Qt Development Framework (Qt3, Qt4 und Qt5)

  • Signal-Slot-Konzept
  • Qt Container
  • GUI / Widgets
  • Netzwerk
  • SQL
  • Threads
  • Model View Controller / ItemViews
  • XML Modul
  • Unit Test
  • Qt Designer
  • OpenGL Modul
  • Qt Solutions
  • Qwt
  • Qt Bindings für PySide, PyQt
  • Python
  • Matrix, Eigen, GLM (OpenGL Mathematics)
  • Bibliotheken
    3D Grafik/ OpenGL (1.1-4.3), GLSL, GLEW (OpenGL Extension Wrangler), C++ AMP, GPGPU
  • Python
    • NumPy, SciPy, Matplotlib
  • Sonstige
    • OpenCascade, PoDoFo, Intel Threading Building Blocks

Sonstiges
Compiler

  • GCC, Clang/LLVM, MS Visual C++ Compiler

Buildsysteme

  • CMake, QMake, GNU Make

Con. Integr.

  • Jenkins

Dokumentation

  • Doxygen, Sphinx (Python), Javadoc

VCS

  • Subversion, Mercurial, Git

Markup Lang.

  • LATEX(Textsatzsystem), Dot/Graphviz (Visualisierung), HTML/CSS, XML, ReST
    (reStructuredText), JSON

Bugtracker

  • JIRA, Redmine, TRAC

Betriebssysteme

Debian GNU/Linux
GNU/Linux
RHEL
UBoot (Bootloader)
Windows 10
Windows 2000/XP/7

Programmiersprachen

Bash Shell
C++
CMake
Haskell
Java
Python
QMake
Shellprogrammierung (Bash)

Datenbanken

PostgreSQL
SQLite

Design / Entwicklung / Konstruktion

PTXDist
Qt4/Qt5
Visual Studio 2017

Branchen

Branchen

  • Automotive
  • Scientific Computing
  • Embedded
  • Marinetechnik
  • Rüstungsindustrie
  • Bildverarbeitung
  • Medizintechnik

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.