Softwarearchitekt, Softwareentwickler C++ / C#, Datenbankentwickler, Erfahrung als Projektleiter
Aktualisiert am 23.02.2024
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 01.03.2024
Verfügbar zu: 100%
davon vor Ort: 0%
C++
C#
DB-Entwicklung
Visual Studio
STL
Qt
Boost
Entity Framework
OpenMP
XML
XSD
XSLT
MFC
Python
Assembler
Java
PHP
gRPC
SOAP
Angular
SQL
Deutsch
Muttersprache
Englisch
fließend

Einsatzorte

Einsatzorte

München (+100km) Mindelheim (+100km)
möglich

Projekte

Projekte

07/2023 ? heute: Entwicklung von Softwarekomponenten eines MES

Kunde: BMW über NTT Data

Branche: Automotive

Projektbeschreibung:

Weiterentwicklung von und Bugfixes an Softwarekomponenten, die gemeinsam mit SPSen die Produktion von Fahrzeugkomponenten (Getriebe, Achsen, ?) für die von BMW produzierten Fahrzeuge steuern oder zur Darstellung von Informationen zum Produktionsprozess dienen. Die Softwarekomponenten laufen auf Linux-Servern, die Datenhaltung erfolgt auf separaten Oracle-Servern.

Das Gesamtsystem besteht aus einer Vielzahl einzelner Softwarekomponenten, die jeweils von moderater Komplexität sind und die zum größten Teil als eigenständige Prozesse laufen (ähnlich einer Microservice-Architektur). Die Kommunikation zwischen den Komponenten erfolgt größtenteils über ein von BMW selbst entwickeltes Protokoll, über das Daten im Textformat ausgetauscht werden.

Tätigkeiten:

  • Neuentwicklung, Anpassung, Optimierung teilweise komplexer SQL-Abfragen.
  • Implementierung neuer sowie Anpassung bestehender Komponenten, größtenteils in Python, teilweise in einer von BMW entwickelten Ablaufsteuerungssprache.
  • Anpassungen und Bugfixes einer Angular-Webanwendung mit Python-Backend.
  • Konfiguration von Apache HTTP Servern.
  • Anpassung von Konfigurationen der Softwarekomponenten.
  • Erstellen automatisierter Tests.
  • Manuelle Tests in dedizierten Test- sowie Integrationssystemen.
  • Erstellen von Anleitungen, nach denen Kollegen des Ops-Teams Anpassungen im Produktivsystem vornehmen sowie Begleitung der entsprechenden Anpassungen.

Technologien/Werkzeuge:

  • Python
  • SQL
  • Oracle
  • Angular
  • JavaScript / TypeScript
  • REST-Services
  • Websockets
  • Apache HTTP Server
  • Linux
  • PyCharm
  • SQL Developer
  • MobaXterm
  • Git
  • Bitbucket
  • Jenkins
  • Jira
  • Confluence


07/2021 ? 06/2023: Serverapplikation zur Analyse großer Datenmengen

Kunde: EOS GmbH ? Electro Optical Systems, Krailling / München

Branche: Lasersintertechnologie (Additive Manufacturing, "3D-Druck")

Projektbeschreibung:

Neuentwicklung einer Serverapplikation, die performance-optimiert eine SQL-Abfrage auf vielen (hunderttausend und mehr) einzelnen SQLite-Datenbanken mit identischem Schema ausführt. Der Server dient dazu, Analysen auf den Daten aus Fertigungsläufen von "3D-Druck"-Maschinen zu fahren (eine SQLite-Datenbank je Fertigungslauf).

Tätigkeiten:

  • Analyse der Performance und Skalierbarkeit von SQLite bei paralleler Nutzung mehrerer Prozessorkerne und Festplatten auf verschiedenen Rechnertypen in der Azure Cloud; SQLite gepatcht, um Performance und Skalierbarkeit zu erhöhen.
  • Architektur entworfen (UML) und im Entwicklerteam abgestimmt.
  • Scheduling-Mechanismus entworfen, um sicherzustellen, dass langlaufende Abfragen parallel dazu gestellte kurze Abfragen nicht über Gebühr aufhalten.
  • Implementierungen am gesamten System (C# und C++).
  • Client-/Server-Kommunikation in C++ via TCP realisiert (Windows Sockets).
  • Erstellen von Unit-Tests und automatisierten Integrationstests.

Technologien/Werkzeuge:

  • Microsoft Visual Studio / C# / C++
  • STL, Windows Sockets
  • SQLite
  • UML / Enterprise Architect
  • Azure
  • Git


11/2021 ? 04/2023: DB2-Applikationen um SQLite als alternatives DBMS erweitern

Kunde: EOS GmbH ? Electro Optical Systems, Krailling / München

Branche: Lasersintertechnologie (Additive Manufacturing, "3D-Druck")

Projektbeschreibung:

Erweiterung von Bestandsapplikationen, um alternativ zu DB2 auch SQLite verwenden zu können. Parallel dazu wurde die monolithische DB2-Datenbank für SQLite in mehrere Datenbanken aufgeteilt, um z.B Export und Löschen alter Daten zu vereinfachen.

Tätigkeiten:

  • Entwurf eines Konzepts, um Unterschiede zwischen DB2 und SQLite so zu kapseln, dass möglichst viel Code DBMS-agnostisch ist, um den Umstellungs- und späteren Wartungsaufwand zu minimieren.

  • Sämtliche SQL-Abfragen so umgestellt, dass sie für DB2 und SQLite ausführbar sind (ggf. mit Fallunterscheidungen). Wo Unterschiede zwischen DB2 und SQLite zu groß waren, wurden separate Implementierungen erstellt.

  • Diverse Sonderbehandlungen implementiert, um Aufteilung auf mehrere Datenbanken zu ermöglichen (z.B. für Fremdschlüsselbeziehungen).

  • Erweiterung bestehender und Ergänzung neuer Unit-Tests.

Technologien/Werkzeuge:

  • Microsoft Visual Studio / C#

  • SQLite & DB2

  • VSTest

  • Git


05/2019 ? 10/2021: Neuentwicklung Datenbanksystem

Kunde: EOS GmbH ? Electro Optical Systems, Krailling / München

Branche: Lasersintertechnologie (Additive Manufacturing, "3D-Druck")

Projektbeschreibung:

Neuentwicklung eines Datenbanksystems für alle im Zusammenhang mit Fertigungsläufen von "3D-Druck"-Maschinen relevanten Daten (Prozessdaten, Konfigurationsdaten der Bauaufträge, Informationen über die Bauteile, Ereignisse u.Ä.).

Das System besteht aus einem Windows-Service, der eine SQLite-Datenbank kapselt, einer Bibliothek für die Inter-Prozess-Kommunikation (gRPC) zur Anbindung der schreibenden Systeme sowie einer API für Lesezugriffe (Entity Framework). Das System bietet neben den reinen Schreib- und Lesezugriffen auch Funktionalität für den Ex- und Import. Im Rahmen der Neuentwicklung erfolgte eine komplette Überarbeitung des Datenbankschemas.

Tätigkeiten:

  • Anforderungen analysiert und mit Stakeholdern abgeklärt.

  • Lösungskonzepte erarbeitet und dokumentiert (Word-Dokumente und UML-Diagramme), Konzepte im Team vorgestellt, diskutiert und angepasst.

  • Technologien hinsichtlich Performance und anderer Anforderungen (z.B. Datenintegrität bei Absturz) evaluiert (SQLite, OPC UA, gRPC).

  • Entwurf und Dokumentation des Datenbankschemas.

  • Implementierungen am gesamten System, größtenteils in C#, teilweise in C++.

  • Erweiterung des von Entity Framework bereitgestellten Migrationsmechanismus, um trotz der Einschränkungen in SQLite, die Struktur bestehender Tabellen zu ändern, beliebige Schemaänderungen zu ermöglichen.

  • Implementierung eines generischen Mechanismus mittels Reflection, um empfangene gRPC-Nachrichten an einen weiteren Empfänger weiterzuleiten. Logik zur Vorhaltung bestimmter Nachrichten implementiert, um den zusätzlichen Empfänger bei verspätetem Zuschalten vollständig über den aktuellen Zustand des Bauvorgangs zu informieren.

  • Erstellen eines Generators für Testdaten, die in XML spezifiziert werden inkl. Visualisierung der XML-Eingangsdaten als HTML mittels XSLT.

  • Erstellen von Architekturdokumentation (UML und Textform).

  • Erstellen von Unit-Tests und automatisierten Integrationstests.

Technologien/Werkzeuge:

  • Microsoft Visual Studio / C# / C++

  • STL

  • SQLite

  • Entity Framework

  • UML / Enterprise Architect

  • gRPC

  • OPC UA

  • TFS / Azure DevOps

  • Git

  • XML

  • XSD

  • XSLT

  • VSTest


10/2016 ? 05/2019: Datenbankentwicklung

Kunde: EOS GmbH ? Electro Optical Systems, Krailling / München

Branche: Lasersintertechnologie (Additive Manufacturing, "3D-Druck")

Projektbeschreibung:

Weiterentwicklung eines Datenbankschemas für alle im Zusammenhang mit Fertigungsläufen von "3D-Druck"-Maschinen relevanten Daten (Prozessdaten, Konfigurationsdaten der Bauaufträge, Informationen über die Bauteile, Ereignisse u.Ä.).
Weiterentwicklung von C++-Bibliotheken für Datenbankzugriffe.

Tätigkeiten:

  • Erweiterungen am Datenbankschema konzeptioniert und implementiert unter Berücksichtigung von Speicherverbrauch und Performanceaspekten.

  • Relevante Anwendungsfälle für Lesezugriffe ermittelt; sichergestellt, dass diese mit ausreichender Performance möglich sind, ggf. geeignete Indizes eingeführt, bei Bedarf Ausführungsdiagramme analysiert.

  • Anpassungen an Export-/Import-Funktionalität (C++), z.B. Remapping von Auto-IDs und Überwachung des Transaktionslogs, um ein Überlaufen aufgrund von comitteten aber noch nicht zurückgeschriebenen Seiten zu verhindern.

  • Verbesserungen zur signifikanten Erhöhung der Schreibrate (C++).

  • Erweiterung eines Mechanismus, um bei Ausfall der Datenbank in Binärdateien zu schreiben mit der Möglichkeit, diese Daten später zu importieren (C++).

  • Funktionalität zur automatisierten Pflege der Datenbank (Löschen der ältesten Daten, Aktualisierung von Statistiken) implementiert (C++).

  • Anforderungen und Interfaceänderungen mit den Stakeholdern abstimmen.

  • Erstellen von Architekturdokumentation (UML und Textform).

  • Erstellen von Unit-Tests und automatisierten Integrationstests.

Technologien/Werkzeuge:

  • Microsoft Visual Studio / C++

  • UML / Enterprise Architect

  • STL & Boost

  • DB2 / IBM Data Studio

  • Google Test, VSTest

  • TFS & Git


05/2018 ? 05/2019: Neuentwicklung eines Monitoring-Systems

Kunde: EOS GmbH ? Electro Optical Systems, Krailling / München

Branche: Lasersintertechnologie (Additive Manufacturing, "3D-Druck")

Projektbeschreibung:

Es wurde ein Nachfolger für das Monitoring-System aus dem vorangegangenen Projekt entwickelt. Das neue System bietet eine für den Anwender deutlich einfachere, modulare REST-API an, außerdem können Livedaten über einen OPC UA Server abgefragt werden; auch die Webapplikation (Front- und Backend) wurde komplett neu entwickelt.

Tätigkeiten:

  • C#-Bibliothek für Datenbankzugriffe mit dem Entity-Framework implementiert.

  • Bereitstellen von Daten über REST-API und OPC UA (C#).

  • Erstellen der Benutzerdokumentation der REST-API mittels Swagger.

Technologien/Werkzeuge:

  • Microsoft Visual Studio / C#

  • Entity Framework

  • OPC UA

  • JSON

  • Swagger

  • TFS / Azure DevOps

  • Git


10/2016 ? 05/2018: Weiterentwicklung eines webbasierten Monitoring-Systems

Kunde: EOS GmbH ? Electro Optical Systems, Krailling / München

Branche: Lasersintertechnologie (Additive Manufacturing, "3D-Druck")

Projektbeschreibung:

Weiterentwicklung eines Monitoring-Systems zur Abfrage des aktuellen Status sowie laufender oder abgeschlossener Fertigungsläufe von "3D-Druck"-Maschinen. Die Datenbasis bildet eine DB2-Datenbank, die Darstellung erfolgt über eine Webapplikation sowie eine iOS- und Android-App, die ihre Daten über einen REST-Service erhalten. Außerdem sind über eine SOAP-API beliebige Maschinendaten abfragbar.

Tätigkeiten:

  • Weiterentwicklung der dem SOAP-Service zugrundeliegenden C++-DLL, welche in XML formulierte komplexe Anfragen inklusive Schleifen, Fallunterscheidungen u.Ä. entgegennimmt und Ergebnisdaten als XML zurückliefert. Umfangreiche Refactorings sowie Weiterentwicklung der XML-Abfragesprache. Steigerung der Ausführungsgeschwindigkeit einiger Abfragen um den Faktor 20. Parallelisierung zeitkritischer Schleifen mit OpenMP.

  • Weiterentwicklung des REST-Service (PHP sowie Extensions in C++).

  • Neue Features konzeptioniert, spezifiziert und mit Stakeholdern abgestimmt.

  • Koordination der Zusammenarbeit mit externem Entwicklungspartner der Apps.

  • Anpassungen an der mit GWT / Java erstellten Webapp.

  • Anpassungen des SOAP-Service unter C# / WCF.

  • Konfiguration des Servers für die verschiedenen Komponenten des Monitoring-Systems, insbesondere Anpassungen der IIS-Konfiguration.

  • Implementierung von Lizenzprüfungen mit WIBU CodeMeter / CmDongle, Verschlüsseln von Executables mit WIBU AxProtector.

  • Erstellen von Unit-Tests und automatisierten Integrationstests.

  • Benutzer- und Architekturdokumentation (letztere in UML und Textform).

Technologien/Werkzeuge:

  • Microsoft Visual Studio / C++ / C#

  • DB2 / IBM Data Studio

  • PHP

  • IIS (Microsoft Internet Information Services)

  • UML / Enterprise Architect

  • Boost, STL, OpenMP

  • JSON, XML, XSD

  • TFS / Azure DevOps, Git

  • GWT / Java

  • WIBU CodeMeter und AxProtector

  • Google Test


02/2018 ? 03/2018: Analyse und Dokumentation Architektur von Bestandsapplikationen
Kunde: ProSiebenSat.1 Applications GmbH
Branche: Medien
Projektbeschreibung:
Erstellung einer Übersicht über die Architektur von einem guten Dutzend Bestandsapplikationen, um die für den Betrieb relevanten Zusammenhänge zu visualisieren. Hintergrund war die Übernahme des Betriebs durch das In-House-Operations-Team.
Tätigkeiten:

  • Analyse der Architektur der Bestandsapplikationen.
  • Modellierung der Applikationen und ihrer Komponenten im EAM-Tool (iServer).
  • Visualisierung der Architektur der Applikationen in diversen Visio-Diagrammen.

07/2013 ? 09/2016: (Teil-)Projektleitung und Softwarearchitektur Messsoftware
Kunde: Rohde & Schwarz GmbH & Co. KG, München
Branche: Test & Measurement
Projektbeschreibung:
Neuentwicklung einer Messsoftware unter Verwendung von Komponenten einer bestehenden Software mit geringerem Featureumfang und geringerer Flexibilität. Die Messsoftware läuft auf in Messgeräten verbauten PCs, steuert in mehreren parallelen Threads komplexe Messabläufe und nimmt die Messdatenaufbereitung, -analyse und -anzeige vor. Wesentlicher Bestandteil des Projekts ist es, eine Komponentenstruktur zu schaffen, mit der geeignete Teile der bestehenden Software in zwei anderen Projekten wiederverwendet und über eine möglichst schmale Schnittstelle mit neu zu erstellenden Komponenten verknüpft werden können.

Tätigkeiten als Projektleiter (formal ?Teilprojektleiter Software?, das Projekt umfasst auch Hardwareentwicklung, jedoch Alleinverantwortung für den Software-Teil):

  • Termin-, Kapazitäts- und Budgetplanung sowie -überwachung
  • Überwachung der Einhaltung von Qualitätsvorgaben
  • Leitung eines Teams von 13 Softwareentwicklern
  • Abstimmung und Priorisierung von Anforderungen mit allen Stakeholdern
  • Spezifikation von Tests
  • Schnittstelle zu den Teams anderer Projekte zwecks Abstimmung einer gemeinsamen Komponentenstruktur

Abgabe der Rolle als Teilprojektleiter am 01.04.2015, da wg. Umstrukturierung beim Kunden nur noch interne Mitarbeiter diese Rolle besetzen dürfen.

Tätigkeiten als Softwarearchitekt und Seniorentwickler:

  • Planung und Umsetzung einer geeigneten Komponentenstruktur
  • Erstellen der Softwarearchitektur
  • Implementieren von Kernkomponenten
  • Erstellen von Spezifikation und Dokumentation mittels UML-Diagrammen, Word-Dokumenten, Visio-Zeichnungen und Work Items in IBM RTC
  • Ansprechpartner für alle Fragen zur Softwarearchitektur
  • Unterstützung der Teammitglieder als Seniorentwickler z.B. bei der Behebung kniffliger Fehler, Fragen zu komplexeren C++-Sprachkonstrukten u.ä.
  • Durchführen von Design- und Codereviews
  • Planung, Spezifikation und Implementierung eines Codegenerators in C# für das Datenmodell der Applikation basierend auf einem XML-Dokument
  • Durchführung eines größeren Refactorings mittels einer in C# geschriebenen Applikation, die C++-Code parst und ein Refactoring durchführt
  • Implementierung automatischer Tests in Python

Technologien/Werkzeuge:

  • C++
  • Microsoft Visual Studio
  • UML / Enterprise Architect
  • IBM Rational Team Concert
  • STL
  • Qt
  • boost
  • XML
  • XSD
  • MFC
  • C#
  • PC-Lint für statische Codechecks
  • Python


09/2012 - 12/2013: Funktionserweiterung und Refactoring einer Messsoftware

Kunde: Rohde & Schwarz GmbH & Co. KG, München

Branche: Test&Measurement

Projektbeschreibung:

Durchführung größerer Funktionserweiterungen sowie von Refactoring-Maßnahmen an einer bestehenden Software, die auf in Messgeräten verbauten PCs läuft und in mehreren parallelen Threads komplexe Messabläufe steuert sowie die Messdatenaufbereitung, -analyse und -anzeige vornimmt.

Tätigkeiten:

  • Analyse der bestehenden Softwarearchitektur als Vorbereitung für Refactoring und größere Funktionserweiterungen

  • Durchführung und Test von Funktionserweiterungen

  • Durchführung von Refactorings sowohl im Bereich der Architektur als auch auf Ebene einzelner Methodenimplementierungen

  • Erweiterung bestehender mathematischer Algorithmen im Bereich Zeitbereichstransformation

  • Fehlersuche, -analyse und -behebung

  • Dokumentation bestehender und erweiterter Algorithmen, Online-Hilfe

Technologien/Werkzeuge:

  • C++
  • Microsoft Visual Studio
  • MFC
  • UML / Enterprise Architect
  • PC-Lint
  • ClearCase
  • Lotus Notes zur Verwaltung von Change-Requests und Problem-Reports


04/2012 - 08/2012: Architektur Bildverarbeitungsschnittstellen

Kunde: Audi AG, Ingolstadt

Branche: Automotive

Projektbeschreibung:

Neu- und Weiterentwicklung von Schnittstellen zu Bildverarbeitungsmodulen von Fahrerassistenzsystemen zu Analyse- und Auswertungszwecken. Erstellung von Softwarekomponenten für Analyse- und Auswertungszwecke.

Tätigkeiten:

  • Abstimmung von Anforderungen mit den Entwicklern der Bildverarbeitungsmodule
  • Erstellen und Überarbeiten von Schnittstellenbeschreibungen in Textform und in Form von C-Headern
  • Implementierung von ADTF-Komponenten zur Verarbeitung und Visualisierung der Daten der Bildverarbeitungsmodule
  • Versionsverwaltung
  • Erstellung von technischer Dokumentation und Handbüchern

Technologien/Werkzeuge:

  • C++
  • Microsoft Visual Studio
  • Qt
  • ADTF
  • STL
  • Subversion


04/2011 ? 03/2012: Prognose von Gasverbrauch

Kunde: Pichler Engineering GmbH, München

Branche:

Leit-, Informations- und Automatisierungssysteme (SCADA) für Pipelinesysteme, Software zur Leckerkennung und -ortung

Projektbeschreibung:

Produktentwicklung einer Anwendung zur Prognose des Gasverbrauchs für Betreiber von Gasnetzen. Das Produkt beinhaltet ein Oracle-basiertes Archiv für Zeitreihen. Die Software läuft sowohl unter Windows als auch unter Linux.

Tätigkeiten:

  • Anforderungsanalyse
  • Konzeptionierung der Benutzeroberfläche
  • Konzeptionierung von Prognosealgorithmen
  • Erstellen des Datenbankschemas
  • Implementierung eines Prototypen
  • Erstellen der Softwarearchitektur
  • Pflichtenheft für die Prognose-Applikation erstellt, welches Teil eines Angebots zu einer Ausschreibung für ein komplettes Leitsystem wurde.

Technologien/Werkzeuge:

  • Qt
  • C++
  • Microsoft Visual Studio
  • UML: Borland Together
  • STL
  • Oracle, SQLTools
  • CVS


01/2011 ? 03/2011: Erweiterung einer Webanwendung

Kunde: Pichler Engineering GmbH, München

Branche:

Leit-, Informations- und Automatisierungssysteme (SCADA) für Pipelinesysteme, Software zur Leckerkennung und -ortung

Projektbeschreibung:

Realisierung kundenspezifischer Anpassungen in einer Webanwendung mit Datenbankanbindung zur Administration von Tanklägern für Rohöl. Die Kommunikation mit bestehendem C++-Code wurde von JNI auf eine Webservice-Schnittstelle umgestellt.

Tätigkeiten:

  • Projektleitung
  • Erstellen eines Pflichtenhefts in Abstimmung mit dem Endkunden
  • Erweiterung des bestehenden Quellcodes
  • Modifikation des Datenbankschemas
  • Erstellen einer Testspezifikation und Durchführung der Tests
  • Bugfixing
  • Anpassung des Benutzerhandbuchs

Technologien/Werkzeuge:

  • Java Server Faces
  • Netbeans
  • Oracle
  • SQLTools
  • SOAP
  • Axis2
  • C++
  • MS Visual Studio
  • CVS


06/2010 - 12/2010: Produktentwicklung Leckerkennungssoftware

Kunde: Pichler Engineering GmbH, München

Branche:

Leit-, Informations- und Automatisierungssysteme (SCADA) für Pipelinesysteme, Software zur Leckerkennung und -ortung

Projektbeschreibung:

Produktentwicklung einer Client-/Server-Anwendung zur Erkennung von Lecks in Rohrleitungsnetzen, die sowohl unter Windows als auch unter Linux lauffähig ist. Der serverseitige Teil der Anwendung besteht aus mehreren nebenläufigen Threads und läuft redundant auf mehreren Servern. Die auf Leckagen zu überwachenden Rohrleitungsabschnitte werden von der Anwendung dynamisch aus einem gerichteten Graphen ermittelt. Daten über den hydraulischen Zustand werden aus dem firmeneigenen SCADA bezogen.

Tätigkeiten:

  • Erstellung eines Pflichtenhefts als Teil des Vertragswerks mit dem Kunden
  • Software-Design in UML (Borland Together) mit automatischer Code-Generierung aus Klassendiagrammen
  • Implementierung in C++ inkl. Dokumentation des Quellcodes
  • Erstellung eines Benutzer- und Administrationshandbuchs
  • Erstellung einer Testspezifikation und einer automatisierten Testapplikation
  • Bugfixing
  • Einführung beim Kunden
  • Begleitung der TÜV-Abnahme der Kundenanlage

Technologien/Werkzeuge:

  • C++
  • MS Visual Studio
  • UML: Borland Together
  • STL
  • CVS
  • GTL (Graph Template Library)
  • Qt


02/2010 ? 05/2010: Umstellung bestehender Produkte auf neue API

Kunde: Pichler Engineering GmbH, München

Branche:

Leit-, Informations- und Automatisierungssysteme (SCADA) für Pipelinesysteme, Software zur Leckerkennung und -ortung

Projektbeschreibung:

Für ca. 20 Produkte wurde die API zu firmeninternen Bibliotheken des SCADA-Systems von einer C- auf eine C++-Schnittstelle umgestellt und Code-Cleanup durchgeführt.

Tätigkeiten:

  • Analyse und Modifikation des bestehenden Quellcodes
  • Testen der durchgeführten Änderungen
  • Anpassung der Dokumentation

Technologien/Werkzeuge:

  • C++
  • MS Visual Studio
  • CVS

02/2010 ? 03/2012: Remote-Wartung eines Leit- und Sicherheitssystems
Kunde: Pichler Engineering GmbH, München
Branche:
Leit-, Informations- und Automatisierungssysteme (SCADA) für Pipelinesysteme, Software zur Leckerkennung und -ortung
Projektbeschreibung:
Das Produkt meines Arbeitgebers ist ein aus mehreren Dutzend Einzelapplikationen bestehendes Leit- und Sicherheitssystem (inkl. SCADA), das in diversen Kundenanlagen im Einsatz ist. Für einen Schlüsselkunden war ich dafür zuständig, Kundenanfragen zu bearbeiten, die für das reguläre Wartungsteam zu komplex waren.
Tätigkeiten:

  • Kommunikation mit dem Endkunden, um Rückfragen zu beantworten sowie Fehlermeldungen und Erweiterungswünsche entgegenzunehmen
  • Analyse von Fehlermeldungen des Kunden anhand von Logfiles und der Historie von Prozesswerten, Meldungen etc.
  • Aktualisierungen auf der Kundenanlage vornehmen, die für das reguläre Wartungsteam zu komplex waren

01/2009 ? 01/2010: Optimierung intralogistischer Prozesse / Personaleinsatzplanung

Kunde: Axxom Software AG, München

Branche: Optimierung von Unternehmensprozessen in Logistik und Produktion

Projektbeschreibung:

Bei diesem Projekt waren verschiedene Produkte meines Arbeitgebers aus dem Bereich Logistikplanung und ?optimierung sowie Personaleinsatzplanung im Zentrallager eines der führenden Schweizer Unternehmen im Bereich Einzelhandel einzuführen und in die bestehende IT-Landschaft zu integrieren. Dazu waren sowohl erhebliche Erweiterungen der Produkte als auch umfangreiche kundenspezifische Implementierungen zu realisieren.

Tätigkeiten:

  • Projektleitung
  • Leitung eines Teams mit 2 Entwicklern in Deutschland und bis zu 5 Entwicklern in Rumänien
  • Consulting: Beratung des Kunden bei der Einführung neuer Software abgestimmt auf seine speziellen Bedürfnisse und Anforderungen
  • Requirements Engineering: Erstellung von Pflichtheften und Feinspezifikationen
  • Erstellung und Überwachung des Projekt- und des Budgetplans
  • Analyse von Kundendaten hinsichtlich Optimierungspotentialen
    (Details siehe Projekt ?Analysen im Bereich Logistikoptimierung? weiter unten)
  • Entwicklung von Optimierungsalgorithmen unter C++
  • Erweiterung des Datenbankschemas, Erstellen komplexer PL/SQL-Prozeduren
  • Erstellung von Testspezifikationen

Technologien/Werkzeuge:

  • C++
  • MS Visual Studio
  • STL
  • Oracle
  • SQLTools
  • Subversion
  • Issue Management/Bugtracking: Mantis


09/2008 ? 01/2010: Analysen im Bereich Logistikoptimierung

Kunde: Axxom Software AG, München

Branche: Optimierung von Unternehmensprozessen in Logistik und Produktion

Projektbeschreibung:

Import und Analyse von umfangreichen Daten aus intralogistischen Prozessen mit dem Ziel, konkrete Prozessoptimierungen zu erarbeiten und deren Einsparpotential zu quantifizieren.
Tätigkeiten:

  • Konsolidierung / Aufbereitung von Kundendaten im ETL-Prozess:
    • Identifikation zu extrahierender Daten in Abstimmung mit dem Kunden
    • Transformation (PL/SQL) der Daten in ein Zielformat, das die für die Analyse relevanten Zusammenhänge abbildet
    • Laden in eine Oracle-Zieldatenbank, auf der Analysen durchgeführt und Prototypen von Optimierungsalgorithmen getestet wurden
  • Durchführen von Datenanalysen größtenteils über komplexe SQL-Abfragen bzw. PL/SQL-Prozeduren, teilweise auch bzw. ergänzend mit Microsoft Excel
  • Prototypen von Optimierungsalgorithmen in C++ oder PL/SQL implementieren
  • Präsentation der Optimierungsvorschläge gegenüber dem Endkunden


ca. 6 Monate im Zeitraum 01/2007 ? 08/2008: Anlagensteuerung für Prüfstande

Kunde: Ramitek GmbH, Kaiserslautern, Ingenieurbüro Mess- und Regeltechnik

Projektbeschreibung:

Entwicklung einer Windows basierten Steuerung / Messwerterfassung für mehrere Pumpenprüfstände, die Daten über die Prüflinge aus einer vom Kunden bereitgestellten Datenbank liest und Prüfergebnisse in eine im Rahmen des Projekts entwickelte Datenbank schreibt. Die Messwerterfassung findet in mehreren parallelen Threads statt, die nebenläufig zum GUI-Thread und zum Thread für die Steuerung der Aktoren sind.

Tätigkeiten:

  • Berechnung der für die Steuerung relevanten hydraulischen Rahmenbedingungen
  • Anbindung an die Kundendatenbank, Erstellen einer Datenbank für die Prüfergebnisse
  • Implementierung der Hardwareansteuerung
  • Design und Implementierung der Benutzeroberfläche
  • Implementierung von Steuerungslogik und Messwerterfassung unter Berücksichtigung der relevanten DIN-Normen
  • Realisierung der Threadsynchronisation
  • Automatische Generierung von Excel-Reports aus den Prüfergebnissen
  • Programmierung einer Soft-SPS
  • Erstellen der Benutzerdokumentation
  • Test und Inbetriebnahme

Technologien/Werkzeuge:

  • C++
  • MS Visual Studio
  • National Instruments Measurement Studio
  • MS SQL Server
  • MFC
  • Microsoft Excel zur Generierung von Reports
  • TCP/IP, UDP, Modbus, RS485 zur Ansteuerung der Feldgeräte


ca. 6 Monate im Zeitraum 01/2007 ? 08/2008: Gerätesteuerung im Bereich Biotechnologie

Kunde: Ramitek GmbH, Kaiserslautern, Ingenieurbüro Mess- und Regeltechnik

Projektbeschreibung:

Entwicklung einer PC-basierten Steuerungssoftware unter Windows für ein Gerät aus dem Bereich Biotechnologie. Die Ablaufsteuerung wird vom Anwender über Textdateien mit Steuerfolgen vorgegeben. Die Ablaufsteuerung ist in mehreren parallelen Threads nebenläufig zum GUI-Thread realisiert.

Tätigkeiten:

  • Implementierung der Hardwareansteuerung
  • Design und Implementierung der Benutzeroberfläche
  • Implementierung der Ablaufsteuerung sowie eines Parsers für Steuerfolgen
  • Realisierung der Threadsynchronisation
  • Mitarbeit bei der Entwicklung von Elektronikkomponenten
  • Erstellen der Benutzerdokumentation
  • Test und Inbetriebnahme

Technologien/Werkzeuge:

  • C++
  • MS Visual Studio
  • National Instruments Measurement Studio
  • MFC
  • RS232, I2C


ca. 3 Monate im Zeitraum 01/2007 ? 08/2008: Anlagensteuerung für einen Prüfstand

Kunde: Ramitek GmbH, Kaiserslautern, Ingenieurbüro Mess- und Regeltechnik

Projektbeschreibung:

Entwicklung einer kompletten Anlagensteuerung unter Windows mit Datenbankanbindung und nebenläufigen Threads zur Steuerung und Messwerterfassung.

Tätigkeiten:

  • Implementierung der Hardwareansteuerung
  • Design und Implementierung der Benutzeroberfläche
  • Erstellen einer Datenbank für die Prüfergebnisse
  • Implementierung der Steuerungslogik sowie der Messwerterfassung
  • Realisierung der Threadsynchronisation

Technologien/Werkzeuge:

  • C++
  • MS Visual Studio
  • Microsoft Access
  • National Instruments Measurement Studio
  • MFC
  • RS485, Modbus


ca. 3 Monate im Zeitraum 01/2007 ? 08/2008: Anlagensteuerung mit Labview

Kunde: Ramitek GmbH, Kaiserslautern, Ingenieurbüro Mess- und Regeltechnik

Projektbeschreibung:

Entwicklung einer kompletten Anlagensteuerung mit Datenbankanbindung im Bereich Biotechnologie mittels National Instruments Labview.

Tätigkeiten:

  • Erstellung der Benutzeroberfläche
  • Implementieren der Steuerungslogik und der Hardwareanbindung
  • Erstellen der Datenbankanbindung
  • Erstellen der Benutzerdokumentation

Technologien/Werkzeuge:

  • National Instruments Labview
  • MS SQL Server
  • RS485, Modbus, I2C, USB


12/2003 ? 12/2006:

Kunde: MERU Stiftung, Abteilung zur Erstellung von Anschauungsmaterialien

Tätigkeiten:

  • Mitarbeit in einer internationalen Arbeitsgruppe betraut mit der Entwicklung eines computergesteuerten Modells des menschlichen Körpers
  • Erstellung und Erweiterung verschiedener Softwaremodule zur Ansteuerung des Modells über USB-I2C-Wandler synchronisiert mit dynamischen HTML-Seiten sowie Videopräsentationen
  • Entwicklung und Test von Elektronik-Baugruppen
  • achtmonatiger Auslandsaufenthalt in Noida, Indien (Stadtrand Delhi): eigenverantwortliche Leitung der Fertigung von Elektronik-Baugruppen durch lokale Fremdfirmen


01/1996 ? 12/2003: selbständiger Softwareentwickler

  • verschiedene Projekte aus dem Bereich Büroanwendungen mit Datenbankanbindung unter Borland Delphi mit Paradox-Datenbanken
  • größtes Projekt aus dieser Zeit: komplette Auftragsbearbeitung für Tischlereien inklusive einer 2D-CAD-Software zum Erstellen technischer Konstruktionszeichnungen von Fenstern und Haustüren

Aus- und Weiterbildung

Aus- und Weiterbildung

04/1998 – 10/2003  Studium zum Diplom-Physiker an der Universität Hamburg, Abschlussnote 1,0

Position

Position

  • Softwarearchitekt
  • Softwareentwickler C++ / C#
  • Datenbankentwickler

Kompetenzen

Kompetenzen

Top-Skills

C++ C# DB-Entwicklung Visual Studio STL Qt Boost Entity Framework OpenMP XML XSD XSLT MFC Python Assembler Java PHP gRPC SOAP Angular SQL

Produkte / Standards / Erfahrungen / Methoden

Visual Studio
Experte
STL
Experte
VSTest (Unit-Test-Framework)
Experte
Google Test (Unit-Test-Framework)
Fortgeschritten
Visual Assert (Unit-Test-Framework)
Experte
Qt
Fortgeschritten
Boost
Fortgeschritten
gRPC
Fortgeschritten
OpenMP
Fortgeschritten
Entity Framework
Fortgeschritten
MFC
Fortgeschritten
IIS (Microsoft Internet Information Services, Webserver)
Fortgeschritten
XML
Fortgeschritten
XSD
Fortgeschritten
XSLT
Fortgeschritten
Azure DevOps
Fortgeschritten
TFS
Fortgeschritten
Git
Fortgeschritten
IBM Rational Team Concert
Experte
IBM Clear Case
Fortgeschritten
Subversion
Fortgeschritten
Azure
Basics
CVS
Fortgeschritten
JSON
Fortgeschritten
SCADA (Supervisory Control and Data Acquisition)
Fortgeschritten
MS Word, Excel, Powerpoint, Access, Visio, Outlook
Fortgeschritten
IPP (Intel Performance Primitives)
Fortgeschritten
GTL (Graph Template Library)
Fortgeschritten
ADTF (Automotive Data and Time Triggered Framework)
Fortgeschritten
Windows Sockets
Fortgeschritten
IBM Data Studio
Fortgeschritten
SQLTools
Fortgeschritten
National Instruments Labview & Measurement Studio
Fortgeschritten
Borland Delphi
Fortgeschritten
Lotus Notes
Fortgeschritten
SOAP
Basics
WCF
Basics
OPC UA
Basics
PC-Lint für statische Codechecks
Basics
Java Server Faces
Basics
Netbeans
Basics
WIBU CodeMeter und AxProtector
Basics
Bugzilla
Fortgeschritten
Mantis
Fortgeschritten


Betriebssysteme

Windows
Fortgeschritten
Linux
Basics


Programmiersprachen

C++
Experte
C#
Fortgeschritten
PL/SQL
Fortgeschritten
PHP
Fortgeschritten
Assembler
Fortgeschritten
Java
Basics
Python
Basics
JavaScript
Basics
HTML
Basics
Delphi / Turbo Pascal
Fortgeschritten
Praxiserfahrung Delphi / Turbo Pascal liegt weiter zurück.

Datenbanken

SQLite
Experte
DB2
Fortgeschritten
Oracle
Fortgeschritten
MS SQL Server
Fortgeschritten
Access
Fortgeschritten
Paradox
Basics
Praxiserfahrung MS SQL Server, Access und Paradox liegt weiter zurück.

Datenkommunikation

TCP/IP
Fortgeschritten
UDP
Basics
RS232
Basics
RS485
Basics
I2C
Basics
Modbus
Basics


Berechnung / Simulation / Versuch / Validierung

Erstellung von Unit-Tests
Fortgeschritten
Erstellung von automatischen Testapplikation
Fortgeschritten
Erstellung von Testplänen in einem ISO 9001 zertifizierten Umfeld
Fortgeschritten

Design / Entwicklung / Konstruktion

Softwarearchitektur mit UML, Erstellen von Klassen-, Komponenten-, Aktivitäts- und Sequenzdiagrammen für Design und Dokumentation, automatische Codegenerierung, Reverse Engineering

Vorgehensmodelle: Wasserfallmodell, V-Modell, Scrum

Branchen

Branchen

Test&Measurement, Automotive, Logistik, Leitsysteme, SCADA, Optimierung von Unternehmensprozessen, Elektrotechnik, Maschinenbau, Lasersintertechnologie (Additive Manufacturing, "3D-Druck"), Biotechnologie

Einsatzorte

Einsatzorte

München (+100km) Mindelheim (+100km)
möglich

Projekte

Projekte

07/2023 ? heute: Entwicklung von Softwarekomponenten eines MES

Kunde: BMW über NTT Data

Branche: Automotive

Projektbeschreibung:

Weiterentwicklung von und Bugfixes an Softwarekomponenten, die gemeinsam mit SPSen die Produktion von Fahrzeugkomponenten (Getriebe, Achsen, ?) für die von BMW produzierten Fahrzeuge steuern oder zur Darstellung von Informationen zum Produktionsprozess dienen. Die Softwarekomponenten laufen auf Linux-Servern, die Datenhaltung erfolgt auf separaten Oracle-Servern.

Das Gesamtsystem besteht aus einer Vielzahl einzelner Softwarekomponenten, die jeweils von moderater Komplexität sind und die zum größten Teil als eigenständige Prozesse laufen (ähnlich einer Microservice-Architektur). Die Kommunikation zwischen den Komponenten erfolgt größtenteils über ein von BMW selbst entwickeltes Protokoll, über das Daten im Textformat ausgetauscht werden.

Tätigkeiten:

  • Neuentwicklung, Anpassung, Optimierung teilweise komplexer SQL-Abfragen.
  • Implementierung neuer sowie Anpassung bestehender Komponenten, größtenteils in Python, teilweise in einer von BMW entwickelten Ablaufsteuerungssprache.
  • Anpassungen und Bugfixes einer Angular-Webanwendung mit Python-Backend.
  • Konfiguration von Apache HTTP Servern.
  • Anpassung von Konfigurationen der Softwarekomponenten.
  • Erstellen automatisierter Tests.
  • Manuelle Tests in dedizierten Test- sowie Integrationssystemen.
  • Erstellen von Anleitungen, nach denen Kollegen des Ops-Teams Anpassungen im Produktivsystem vornehmen sowie Begleitung der entsprechenden Anpassungen.

Technologien/Werkzeuge:

  • Python
  • SQL
  • Oracle
  • Angular
  • JavaScript / TypeScript
  • REST-Services
  • Websockets
  • Apache HTTP Server
  • Linux
  • PyCharm
  • SQL Developer
  • MobaXterm
  • Git
  • Bitbucket
  • Jenkins
  • Jira
  • Confluence


07/2021 ? 06/2023: Serverapplikation zur Analyse großer Datenmengen

Kunde: EOS GmbH ? Electro Optical Systems, Krailling / München

Branche: Lasersintertechnologie (Additive Manufacturing, "3D-Druck")

Projektbeschreibung:

Neuentwicklung einer Serverapplikation, die performance-optimiert eine SQL-Abfrage auf vielen (hunderttausend und mehr) einzelnen SQLite-Datenbanken mit identischem Schema ausführt. Der Server dient dazu, Analysen auf den Daten aus Fertigungsläufen von "3D-Druck"-Maschinen zu fahren (eine SQLite-Datenbank je Fertigungslauf).

Tätigkeiten:

  • Analyse der Performance und Skalierbarkeit von SQLite bei paralleler Nutzung mehrerer Prozessorkerne und Festplatten auf verschiedenen Rechnertypen in der Azure Cloud; SQLite gepatcht, um Performance und Skalierbarkeit zu erhöhen.
  • Architektur entworfen (UML) und im Entwicklerteam abgestimmt.
  • Scheduling-Mechanismus entworfen, um sicherzustellen, dass langlaufende Abfragen parallel dazu gestellte kurze Abfragen nicht über Gebühr aufhalten.
  • Implementierungen am gesamten System (C# und C++).
  • Client-/Server-Kommunikation in C++ via TCP realisiert (Windows Sockets).
  • Erstellen von Unit-Tests und automatisierten Integrationstests.

Technologien/Werkzeuge:

  • Microsoft Visual Studio / C# / C++
  • STL, Windows Sockets
  • SQLite
  • UML / Enterprise Architect
  • Azure
  • Git


11/2021 ? 04/2023: DB2-Applikationen um SQLite als alternatives DBMS erweitern

Kunde: EOS GmbH ? Electro Optical Systems, Krailling / München

Branche: Lasersintertechnologie (Additive Manufacturing, "3D-Druck")

Projektbeschreibung:

Erweiterung von Bestandsapplikationen, um alternativ zu DB2 auch SQLite verwenden zu können. Parallel dazu wurde die monolithische DB2-Datenbank für SQLite in mehrere Datenbanken aufgeteilt, um z.B Export und Löschen alter Daten zu vereinfachen.

Tätigkeiten:

  • Entwurf eines Konzepts, um Unterschiede zwischen DB2 und SQLite so zu kapseln, dass möglichst viel Code DBMS-agnostisch ist, um den Umstellungs- und späteren Wartungsaufwand zu minimieren.

  • Sämtliche SQL-Abfragen so umgestellt, dass sie für DB2 und SQLite ausführbar sind (ggf. mit Fallunterscheidungen). Wo Unterschiede zwischen DB2 und SQLite zu groß waren, wurden separate Implementierungen erstellt.

  • Diverse Sonderbehandlungen implementiert, um Aufteilung auf mehrere Datenbanken zu ermöglichen (z.B. für Fremdschlüsselbeziehungen).

  • Erweiterung bestehender und Ergänzung neuer Unit-Tests.

Technologien/Werkzeuge:

  • Microsoft Visual Studio / C#

  • SQLite & DB2

  • VSTest

  • Git


05/2019 ? 10/2021: Neuentwicklung Datenbanksystem

Kunde: EOS GmbH ? Electro Optical Systems, Krailling / München

Branche: Lasersintertechnologie (Additive Manufacturing, "3D-Druck")

Projektbeschreibung:

Neuentwicklung eines Datenbanksystems für alle im Zusammenhang mit Fertigungsläufen von "3D-Druck"-Maschinen relevanten Daten (Prozessdaten, Konfigurationsdaten der Bauaufträge, Informationen über die Bauteile, Ereignisse u.Ä.).

Das System besteht aus einem Windows-Service, der eine SQLite-Datenbank kapselt, einer Bibliothek für die Inter-Prozess-Kommunikation (gRPC) zur Anbindung der schreibenden Systeme sowie einer API für Lesezugriffe (Entity Framework). Das System bietet neben den reinen Schreib- und Lesezugriffen auch Funktionalität für den Ex- und Import. Im Rahmen der Neuentwicklung erfolgte eine komplette Überarbeitung des Datenbankschemas.

Tätigkeiten:

  • Anforderungen analysiert und mit Stakeholdern abgeklärt.

  • Lösungskonzepte erarbeitet und dokumentiert (Word-Dokumente und UML-Diagramme), Konzepte im Team vorgestellt, diskutiert und angepasst.

  • Technologien hinsichtlich Performance und anderer Anforderungen (z.B. Datenintegrität bei Absturz) evaluiert (SQLite, OPC UA, gRPC).

  • Entwurf und Dokumentation des Datenbankschemas.

  • Implementierungen am gesamten System, größtenteils in C#, teilweise in C++.

  • Erweiterung des von Entity Framework bereitgestellten Migrationsmechanismus, um trotz der Einschränkungen in SQLite, die Struktur bestehender Tabellen zu ändern, beliebige Schemaänderungen zu ermöglichen.

  • Implementierung eines generischen Mechanismus mittels Reflection, um empfangene gRPC-Nachrichten an einen weiteren Empfänger weiterzuleiten. Logik zur Vorhaltung bestimmter Nachrichten implementiert, um den zusätzlichen Empfänger bei verspätetem Zuschalten vollständig über den aktuellen Zustand des Bauvorgangs zu informieren.

  • Erstellen eines Generators für Testdaten, die in XML spezifiziert werden inkl. Visualisierung der XML-Eingangsdaten als HTML mittels XSLT.

  • Erstellen von Architekturdokumentation (UML und Textform).

  • Erstellen von Unit-Tests und automatisierten Integrationstests.

Technologien/Werkzeuge:

  • Microsoft Visual Studio / C# / C++

  • STL

  • SQLite

  • Entity Framework

  • UML / Enterprise Architect

  • gRPC

  • OPC UA

  • TFS / Azure DevOps

  • Git

  • XML

  • XSD

  • XSLT

  • VSTest


10/2016 ? 05/2019: Datenbankentwicklung

Kunde: EOS GmbH ? Electro Optical Systems, Krailling / München

Branche: Lasersintertechnologie (Additive Manufacturing, "3D-Druck")

Projektbeschreibung:

Weiterentwicklung eines Datenbankschemas für alle im Zusammenhang mit Fertigungsläufen von "3D-Druck"-Maschinen relevanten Daten (Prozessdaten, Konfigurationsdaten der Bauaufträge, Informationen über die Bauteile, Ereignisse u.Ä.).
Weiterentwicklung von C++-Bibliotheken für Datenbankzugriffe.

Tätigkeiten:

  • Erweiterungen am Datenbankschema konzeptioniert und implementiert unter Berücksichtigung von Speicherverbrauch und Performanceaspekten.

  • Relevante Anwendungsfälle für Lesezugriffe ermittelt; sichergestellt, dass diese mit ausreichender Performance möglich sind, ggf. geeignete Indizes eingeführt, bei Bedarf Ausführungsdiagramme analysiert.

  • Anpassungen an Export-/Import-Funktionalität (C++), z.B. Remapping von Auto-IDs und Überwachung des Transaktionslogs, um ein Überlaufen aufgrund von comitteten aber noch nicht zurückgeschriebenen Seiten zu verhindern.

  • Verbesserungen zur signifikanten Erhöhung der Schreibrate (C++).

  • Erweiterung eines Mechanismus, um bei Ausfall der Datenbank in Binärdateien zu schreiben mit der Möglichkeit, diese Daten später zu importieren (C++).

  • Funktionalität zur automatisierten Pflege der Datenbank (Löschen der ältesten Daten, Aktualisierung von Statistiken) implementiert (C++).

  • Anforderungen und Interfaceänderungen mit den Stakeholdern abstimmen.

  • Erstellen von Architekturdokumentation (UML und Textform).

  • Erstellen von Unit-Tests und automatisierten Integrationstests.

Technologien/Werkzeuge:

  • Microsoft Visual Studio / C++

  • UML / Enterprise Architect

  • STL & Boost

  • DB2 / IBM Data Studio

  • Google Test, VSTest

  • TFS & Git


05/2018 ? 05/2019: Neuentwicklung eines Monitoring-Systems

Kunde: EOS GmbH ? Electro Optical Systems, Krailling / München

Branche: Lasersintertechnologie (Additive Manufacturing, "3D-Druck")

Projektbeschreibung:

Es wurde ein Nachfolger für das Monitoring-System aus dem vorangegangenen Projekt entwickelt. Das neue System bietet eine für den Anwender deutlich einfachere, modulare REST-API an, außerdem können Livedaten über einen OPC UA Server abgefragt werden; auch die Webapplikation (Front- und Backend) wurde komplett neu entwickelt.

Tätigkeiten:

  • C#-Bibliothek für Datenbankzugriffe mit dem Entity-Framework implementiert.

  • Bereitstellen von Daten über REST-API und OPC UA (C#).

  • Erstellen der Benutzerdokumentation der REST-API mittels Swagger.

Technologien/Werkzeuge:

  • Microsoft Visual Studio / C#

  • Entity Framework

  • OPC UA

  • JSON

  • Swagger

  • TFS / Azure DevOps

  • Git


10/2016 ? 05/2018: Weiterentwicklung eines webbasierten Monitoring-Systems

Kunde: EOS GmbH ? Electro Optical Systems, Krailling / München

Branche: Lasersintertechnologie (Additive Manufacturing, "3D-Druck")

Projektbeschreibung:

Weiterentwicklung eines Monitoring-Systems zur Abfrage des aktuellen Status sowie laufender oder abgeschlossener Fertigungsläufe von "3D-Druck"-Maschinen. Die Datenbasis bildet eine DB2-Datenbank, die Darstellung erfolgt über eine Webapplikation sowie eine iOS- und Android-App, die ihre Daten über einen REST-Service erhalten. Außerdem sind über eine SOAP-API beliebige Maschinendaten abfragbar.

Tätigkeiten:

  • Weiterentwicklung der dem SOAP-Service zugrundeliegenden C++-DLL, welche in XML formulierte komplexe Anfragen inklusive Schleifen, Fallunterscheidungen u.Ä. entgegennimmt und Ergebnisdaten als XML zurückliefert. Umfangreiche Refactorings sowie Weiterentwicklung der XML-Abfragesprache. Steigerung der Ausführungsgeschwindigkeit einiger Abfragen um den Faktor 20. Parallelisierung zeitkritischer Schleifen mit OpenMP.

  • Weiterentwicklung des REST-Service (PHP sowie Extensions in C++).

  • Neue Features konzeptioniert, spezifiziert und mit Stakeholdern abgestimmt.

  • Koordination der Zusammenarbeit mit externem Entwicklungspartner der Apps.

  • Anpassungen an der mit GWT / Java erstellten Webapp.

  • Anpassungen des SOAP-Service unter C# / WCF.

  • Konfiguration des Servers für die verschiedenen Komponenten des Monitoring-Systems, insbesondere Anpassungen der IIS-Konfiguration.

  • Implementierung von Lizenzprüfungen mit WIBU CodeMeter / CmDongle, Verschlüsseln von Executables mit WIBU AxProtector.

  • Erstellen von Unit-Tests und automatisierten Integrationstests.

  • Benutzer- und Architekturdokumentation (letztere in UML und Textform).

Technologien/Werkzeuge:

  • Microsoft Visual Studio / C++ / C#

  • DB2 / IBM Data Studio

  • PHP

  • IIS (Microsoft Internet Information Services)

  • UML / Enterprise Architect

  • Boost, STL, OpenMP

  • JSON, XML, XSD

  • TFS / Azure DevOps, Git

  • GWT / Java

  • WIBU CodeMeter und AxProtector

  • Google Test


02/2018 ? 03/2018: Analyse und Dokumentation Architektur von Bestandsapplikationen
Kunde: ProSiebenSat.1 Applications GmbH
Branche: Medien
Projektbeschreibung:
Erstellung einer Übersicht über die Architektur von einem guten Dutzend Bestandsapplikationen, um die für den Betrieb relevanten Zusammenhänge zu visualisieren. Hintergrund war die Übernahme des Betriebs durch das In-House-Operations-Team.
Tätigkeiten:

  • Analyse der Architektur der Bestandsapplikationen.
  • Modellierung der Applikationen und ihrer Komponenten im EAM-Tool (iServer).
  • Visualisierung der Architektur der Applikationen in diversen Visio-Diagrammen.

07/2013 ? 09/2016: (Teil-)Projektleitung und Softwarearchitektur Messsoftware
Kunde: Rohde & Schwarz GmbH & Co. KG, München
Branche: Test & Measurement
Projektbeschreibung:
Neuentwicklung einer Messsoftware unter Verwendung von Komponenten einer bestehenden Software mit geringerem Featureumfang und geringerer Flexibilität. Die Messsoftware läuft auf in Messgeräten verbauten PCs, steuert in mehreren parallelen Threads komplexe Messabläufe und nimmt die Messdatenaufbereitung, -analyse und -anzeige vor. Wesentlicher Bestandteil des Projekts ist es, eine Komponentenstruktur zu schaffen, mit der geeignete Teile der bestehenden Software in zwei anderen Projekten wiederverwendet und über eine möglichst schmale Schnittstelle mit neu zu erstellenden Komponenten verknüpft werden können.

Tätigkeiten als Projektleiter (formal ?Teilprojektleiter Software?, das Projekt umfasst auch Hardwareentwicklung, jedoch Alleinverantwortung für den Software-Teil):

  • Termin-, Kapazitäts- und Budgetplanung sowie -überwachung
  • Überwachung der Einhaltung von Qualitätsvorgaben
  • Leitung eines Teams von 13 Softwareentwicklern
  • Abstimmung und Priorisierung von Anforderungen mit allen Stakeholdern
  • Spezifikation von Tests
  • Schnittstelle zu den Teams anderer Projekte zwecks Abstimmung einer gemeinsamen Komponentenstruktur

Abgabe der Rolle als Teilprojektleiter am 01.04.2015, da wg. Umstrukturierung beim Kunden nur noch interne Mitarbeiter diese Rolle besetzen dürfen.

Tätigkeiten als Softwarearchitekt und Seniorentwickler:

  • Planung und Umsetzung einer geeigneten Komponentenstruktur
  • Erstellen der Softwarearchitektur
  • Implementieren von Kernkomponenten
  • Erstellen von Spezifikation und Dokumentation mittels UML-Diagrammen, Word-Dokumenten, Visio-Zeichnungen und Work Items in IBM RTC
  • Ansprechpartner für alle Fragen zur Softwarearchitektur
  • Unterstützung der Teammitglieder als Seniorentwickler z.B. bei der Behebung kniffliger Fehler, Fragen zu komplexeren C++-Sprachkonstrukten u.ä.
  • Durchführen von Design- und Codereviews
  • Planung, Spezifikation und Implementierung eines Codegenerators in C# für das Datenmodell der Applikation basierend auf einem XML-Dokument
  • Durchführung eines größeren Refactorings mittels einer in C# geschriebenen Applikation, die C++-Code parst und ein Refactoring durchführt
  • Implementierung automatischer Tests in Python

Technologien/Werkzeuge:

  • C++
  • Microsoft Visual Studio
  • UML / Enterprise Architect
  • IBM Rational Team Concert
  • STL
  • Qt
  • boost
  • XML
  • XSD
  • MFC
  • C#
  • PC-Lint für statische Codechecks
  • Python


09/2012 - 12/2013: Funktionserweiterung und Refactoring einer Messsoftware

Kunde: Rohde & Schwarz GmbH & Co. KG, München

Branche: Test&Measurement

Projektbeschreibung:

Durchführung größerer Funktionserweiterungen sowie von Refactoring-Maßnahmen an einer bestehenden Software, die auf in Messgeräten verbauten PCs läuft und in mehreren parallelen Threads komplexe Messabläufe steuert sowie die Messdatenaufbereitung, -analyse und -anzeige vornimmt.

Tätigkeiten:

  • Analyse der bestehenden Softwarearchitektur als Vorbereitung für Refactoring und größere Funktionserweiterungen

  • Durchführung und Test von Funktionserweiterungen

  • Durchführung von Refactorings sowohl im Bereich der Architektur als auch auf Ebene einzelner Methodenimplementierungen

  • Erweiterung bestehender mathematischer Algorithmen im Bereich Zeitbereichstransformation

  • Fehlersuche, -analyse und -behebung

  • Dokumentation bestehender und erweiterter Algorithmen, Online-Hilfe

Technologien/Werkzeuge:

  • C++
  • Microsoft Visual Studio
  • MFC
  • UML / Enterprise Architect
  • PC-Lint
  • ClearCase
  • Lotus Notes zur Verwaltung von Change-Requests und Problem-Reports


04/2012 - 08/2012: Architektur Bildverarbeitungsschnittstellen

Kunde: Audi AG, Ingolstadt

Branche: Automotive

Projektbeschreibung:

Neu- und Weiterentwicklung von Schnittstellen zu Bildverarbeitungsmodulen von Fahrerassistenzsystemen zu Analyse- und Auswertungszwecken. Erstellung von Softwarekomponenten für Analyse- und Auswertungszwecke.

Tätigkeiten:

  • Abstimmung von Anforderungen mit den Entwicklern der Bildverarbeitungsmodule
  • Erstellen und Überarbeiten von Schnittstellenbeschreibungen in Textform und in Form von C-Headern
  • Implementierung von ADTF-Komponenten zur Verarbeitung und Visualisierung der Daten der Bildverarbeitungsmodule
  • Versionsverwaltung
  • Erstellung von technischer Dokumentation und Handbüchern

Technologien/Werkzeuge:

  • C++
  • Microsoft Visual Studio
  • Qt
  • ADTF
  • STL
  • Subversion


04/2011 ? 03/2012: Prognose von Gasverbrauch

Kunde: Pichler Engineering GmbH, München

Branche:

Leit-, Informations- und Automatisierungssysteme (SCADA) für Pipelinesysteme, Software zur Leckerkennung und -ortung

Projektbeschreibung:

Produktentwicklung einer Anwendung zur Prognose des Gasverbrauchs für Betreiber von Gasnetzen. Das Produkt beinhaltet ein Oracle-basiertes Archiv für Zeitreihen. Die Software läuft sowohl unter Windows als auch unter Linux.

Tätigkeiten:

  • Anforderungsanalyse
  • Konzeptionierung der Benutzeroberfläche
  • Konzeptionierung von Prognosealgorithmen
  • Erstellen des Datenbankschemas
  • Implementierung eines Prototypen
  • Erstellen der Softwarearchitektur
  • Pflichtenheft für die Prognose-Applikation erstellt, welches Teil eines Angebots zu einer Ausschreibung für ein komplettes Leitsystem wurde.

Technologien/Werkzeuge:

  • Qt
  • C++
  • Microsoft Visual Studio
  • UML: Borland Together
  • STL
  • Oracle, SQLTools
  • CVS


01/2011 ? 03/2011: Erweiterung einer Webanwendung

Kunde: Pichler Engineering GmbH, München

Branche:

Leit-, Informations- und Automatisierungssysteme (SCADA) für Pipelinesysteme, Software zur Leckerkennung und -ortung

Projektbeschreibung:

Realisierung kundenspezifischer Anpassungen in einer Webanwendung mit Datenbankanbindung zur Administration von Tanklägern für Rohöl. Die Kommunikation mit bestehendem C++-Code wurde von JNI auf eine Webservice-Schnittstelle umgestellt.

Tätigkeiten:

  • Projektleitung
  • Erstellen eines Pflichtenhefts in Abstimmung mit dem Endkunden
  • Erweiterung des bestehenden Quellcodes
  • Modifikation des Datenbankschemas
  • Erstellen einer Testspezifikation und Durchführung der Tests
  • Bugfixing
  • Anpassung des Benutzerhandbuchs

Technologien/Werkzeuge:

  • Java Server Faces
  • Netbeans
  • Oracle
  • SQLTools
  • SOAP
  • Axis2
  • C++
  • MS Visual Studio
  • CVS


06/2010 - 12/2010: Produktentwicklung Leckerkennungssoftware

Kunde: Pichler Engineering GmbH, München

Branche:

Leit-, Informations- und Automatisierungssysteme (SCADA) für Pipelinesysteme, Software zur Leckerkennung und -ortung

Projektbeschreibung:

Produktentwicklung einer Client-/Server-Anwendung zur Erkennung von Lecks in Rohrleitungsnetzen, die sowohl unter Windows als auch unter Linux lauffähig ist. Der serverseitige Teil der Anwendung besteht aus mehreren nebenläufigen Threads und läuft redundant auf mehreren Servern. Die auf Leckagen zu überwachenden Rohrleitungsabschnitte werden von der Anwendung dynamisch aus einem gerichteten Graphen ermittelt. Daten über den hydraulischen Zustand werden aus dem firmeneigenen SCADA bezogen.

Tätigkeiten:

  • Erstellung eines Pflichtenhefts als Teil des Vertragswerks mit dem Kunden
  • Software-Design in UML (Borland Together) mit automatischer Code-Generierung aus Klassendiagrammen
  • Implementierung in C++ inkl. Dokumentation des Quellcodes
  • Erstellung eines Benutzer- und Administrationshandbuchs
  • Erstellung einer Testspezifikation und einer automatisierten Testapplikation
  • Bugfixing
  • Einführung beim Kunden
  • Begleitung der TÜV-Abnahme der Kundenanlage

Technologien/Werkzeuge:

  • C++
  • MS Visual Studio
  • UML: Borland Together
  • STL
  • CVS
  • GTL (Graph Template Library)
  • Qt


02/2010 ? 05/2010: Umstellung bestehender Produkte auf neue API

Kunde: Pichler Engineering GmbH, München

Branche:

Leit-, Informations- und Automatisierungssysteme (SCADA) für Pipelinesysteme, Software zur Leckerkennung und -ortung

Projektbeschreibung:

Für ca. 20 Produkte wurde die API zu firmeninternen Bibliotheken des SCADA-Systems von einer C- auf eine C++-Schnittstelle umgestellt und Code-Cleanup durchgeführt.

Tätigkeiten:

  • Analyse und Modifikation des bestehenden Quellcodes
  • Testen der durchgeführten Änderungen
  • Anpassung der Dokumentation

Technologien/Werkzeuge:

  • C++
  • MS Visual Studio
  • CVS

02/2010 ? 03/2012: Remote-Wartung eines Leit- und Sicherheitssystems
Kunde: Pichler Engineering GmbH, München
Branche:
Leit-, Informations- und Automatisierungssysteme (SCADA) für Pipelinesysteme, Software zur Leckerkennung und -ortung
Projektbeschreibung:
Das Produkt meines Arbeitgebers ist ein aus mehreren Dutzend Einzelapplikationen bestehendes Leit- und Sicherheitssystem (inkl. SCADA), das in diversen Kundenanlagen im Einsatz ist. Für einen Schlüsselkunden war ich dafür zuständig, Kundenanfragen zu bearbeiten, die für das reguläre Wartungsteam zu komplex waren.
Tätigkeiten:

  • Kommunikation mit dem Endkunden, um Rückfragen zu beantworten sowie Fehlermeldungen und Erweiterungswünsche entgegenzunehmen
  • Analyse von Fehlermeldungen des Kunden anhand von Logfiles und der Historie von Prozesswerten, Meldungen etc.
  • Aktualisierungen auf der Kundenanlage vornehmen, die für das reguläre Wartungsteam zu komplex waren

01/2009 ? 01/2010: Optimierung intralogistischer Prozesse / Personaleinsatzplanung

Kunde: Axxom Software AG, München

Branche: Optimierung von Unternehmensprozessen in Logistik und Produktion

Projektbeschreibung:

Bei diesem Projekt waren verschiedene Produkte meines Arbeitgebers aus dem Bereich Logistikplanung und ?optimierung sowie Personaleinsatzplanung im Zentrallager eines der führenden Schweizer Unternehmen im Bereich Einzelhandel einzuführen und in die bestehende IT-Landschaft zu integrieren. Dazu waren sowohl erhebliche Erweiterungen der Produkte als auch umfangreiche kundenspezifische Implementierungen zu realisieren.

Tätigkeiten:

  • Projektleitung
  • Leitung eines Teams mit 2 Entwicklern in Deutschland und bis zu 5 Entwicklern in Rumänien
  • Consulting: Beratung des Kunden bei der Einführung neuer Software abgestimmt auf seine speziellen Bedürfnisse und Anforderungen
  • Requirements Engineering: Erstellung von Pflichtheften und Feinspezifikationen
  • Erstellung und Überwachung des Projekt- und des Budgetplans
  • Analyse von Kundendaten hinsichtlich Optimierungspotentialen
    (Details siehe Projekt ?Analysen im Bereich Logistikoptimierung? weiter unten)
  • Entwicklung von Optimierungsalgorithmen unter C++
  • Erweiterung des Datenbankschemas, Erstellen komplexer PL/SQL-Prozeduren
  • Erstellung von Testspezifikationen

Technologien/Werkzeuge:

  • C++
  • MS Visual Studio
  • STL
  • Oracle
  • SQLTools
  • Subversion
  • Issue Management/Bugtracking: Mantis


09/2008 ? 01/2010: Analysen im Bereich Logistikoptimierung

Kunde: Axxom Software AG, München

Branche: Optimierung von Unternehmensprozessen in Logistik und Produktion

Projektbeschreibung:

Import und Analyse von umfangreichen Daten aus intralogistischen Prozessen mit dem Ziel, konkrete Prozessoptimierungen zu erarbeiten und deren Einsparpotential zu quantifizieren.
Tätigkeiten:

  • Konsolidierung / Aufbereitung von Kundendaten im ETL-Prozess:
    • Identifikation zu extrahierender Daten in Abstimmung mit dem Kunden
    • Transformation (PL/SQL) der Daten in ein Zielformat, das die für die Analyse relevanten Zusammenhänge abbildet
    • Laden in eine Oracle-Zieldatenbank, auf der Analysen durchgeführt und Prototypen von Optimierungsalgorithmen getestet wurden
  • Durchführen von Datenanalysen größtenteils über komplexe SQL-Abfragen bzw. PL/SQL-Prozeduren, teilweise auch bzw. ergänzend mit Microsoft Excel
  • Prototypen von Optimierungsalgorithmen in C++ oder PL/SQL implementieren
  • Präsentation der Optimierungsvorschläge gegenüber dem Endkunden


ca. 6 Monate im Zeitraum 01/2007 ? 08/2008: Anlagensteuerung für Prüfstande

Kunde: Ramitek GmbH, Kaiserslautern, Ingenieurbüro Mess- und Regeltechnik

Projektbeschreibung:

Entwicklung einer Windows basierten Steuerung / Messwerterfassung für mehrere Pumpenprüfstände, die Daten über die Prüflinge aus einer vom Kunden bereitgestellten Datenbank liest und Prüfergebnisse in eine im Rahmen des Projekts entwickelte Datenbank schreibt. Die Messwerterfassung findet in mehreren parallelen Threads statt, die nebenläufig zum GUI-Thread und zum Thread für die Steuerung der Aktoren sind.

Tätigkeiten:

  • Berechnung der für die Steuerung relevanten hydraulischen Rahmenbedingungen
  • Anbindung an die Kundendatenbank, Erstellen einer Datenbank für die Prüfergebnisse
  • Implementierung der Hardwareansteuerung
  • Design und Implementierung der Benutzeroberfläche
  • Implementierung von Steuerungslogik und Messwerterfassung unter Berücksichtigung der relevanten DIN-Normen
  • Realisierung der Threadsynchronisation
  • Automatische Generierung von Excel-Reports aus den Prüfergebnissen
  • Programmierung einer Soft-SPS
  • Erstellen der Benutzerdokumentation
  • Test und Inbetriebnahme

Technologien/Werkzeuge:

  • C++
  • MS Visual Studio
  • National Instruments Measurement Studio
  • MS SQL Server
  • MFC
  • Microsoft Excel zur Generierung von Reports
  • TCP/IP, UDP, Modbus, RS485 zur Ansteuerung der Feldgeräte


ca. 6 Monate im Zeitraum 01/2007 ? 08/2008: Gerätesteuerung im Bereich Biotechnologie

Kunde: Ramitek GmbH, Kaiserslautern, Ingenieurbüro Mess- und Regeltechnik

Projektbeschreibung:

Entwicklung einer PC-basierten Steuerungssoftware unter Windows für ein Gerät aus dem Bereich Biotechnologie. Die Ablaufsteuerung wird vom Anwender über Textdateien mit Steuerfolgen vorgegeben. Die Ablaufsteuerung ist in mehreren parallelen Threads nebenläufig zum GUI-Thread realisiert.

Tätigkeiten:

  • Implementierung der Hardwareansteuerung
  • Design und Implementierung der Benutzeroberfläche
  • Implementierung der Ablaufsteuerung sowie eines Parsers für Steuerfolgen
  • Realisierung der Threadsynchronisation
  • Mitarbeit bei der Entwicklung von Elektronikkomponenten
  • Erstellen der Benutzerdokumentation
  • Test und Inbetriebnahme

Technologien/Werkzeuge:

  • C++
  • MS Visual Studio
  • National Instruments Measurement Studio
  • MFC
  • RS232, I2C


ca. 3 Monate im Zeitraum 01/2007 ? 08/2008: Anlagensteuerung für einen Prüfstand

Kunde: Ramitek GmbH, Kaiserslautern, Ingenieurbüro Mess- und Regeltechnik

Projektbeschreibung:

Entwicklung einer kompletten Anlagensteuerung unter Windows mit Datenbankanbindung und nebenläufigen Threads zur Steuerung und Messwerterfassung.

Tätigkeiten:

  • Implementierung der Hardwareansteuerung
  • Design und Implementierung der Benutzeroberfläche
  • Erstellen einer Datenbank für die Prüfergebnisse
  • Implementierung der Steuerungslogik sowie der Messwerterfassung
  • Realisierung der Threadsynchronisation

Technologien/Werkzeuge:

  • C++
  • MS Visual Studio
  • Microsoft Access
  • National Instruments Measurement Studio
  • MFC
  • RS485, Modbus


ca. 3 Monate im Zeitraum 01/2007 ? 08/2008: Anlagensteuerung mit Labview

Kunde: Ramitek GmbH, Kaiserslautern, Ingenieurbüro Mess- und Regeltechnik

Projektbeschreibung:

Entwicklung einer kompletten Anlagensteuerung mit Datenbankanbindung im Bereich Biotechnologie mittels National Instruments Labview.

Tätigkeiten:

  • Erstellung der Benutzeroberfläche
  • Implementieren der Steuerungslogik und der Hardwareanbindung
  • Erstellen der Datenbankanbindung
  • Erstellen der Benutzerdokumentation

Technologien/Werkzeuge:

  • National Instruments Labview
  • MS SQL Server
  • RS485, Modbus, I2C, USB


12/2003 ? 12/2006:

Kunde: MERU Stiftung, Abteilung zur Erstellung von Anschauungsmaterialien

Tätigkeiten:

  • Mitarbeit in einer internationalen Arbeitsgruppe betraut mit der Entwicklung eines computergesteuerten Modells des menschlichen Körpers
  • Erstellung und Erweiterung verschiedener Softwaremodule zur Ansteuerung des Modells über USB-I2C-Wandler synchronisiert mit dynamischen HTML-Seiten sowie Videopräsentationen
  • Entwicklung und Test von Elektronik-Baugruppen
  • achtmonatiger Auslandsaufenthalt in Noida, Indien (Stadtrand Delhi): eigenverantwortliche Leitung der Fertigung von Elektronik-Baugruppen durch lokale Fremdfirmen


01/1996 ? 12/2003: selbständiger Softwareentwickler

  • verschiedene Projekte aus dem Bereich Büroanwendungen mit Datenbankanbindung unter Borland Delphi mit Paradox-Datenbanken
  • größtes Projekt aus dieser Zeit: komplette Auftragsbearbeitung für Tischlereien inklusive einer 2D-CAD-Software zum Erstellen technischer Konstruktionszeichnungen von Fenstern und Haustüren

Aus- und Weiterbildung

Aus- und Weiterbildung

04/1998 – 10/2003  Studium zum Diplom-Physiker an der Universität Hamburg, Abschlussnote 1,0

Position

Position

  • Softwarearchitekt
  • Softwareentwickler C++ / C#
  • Datenbankentwickler

Kompetenzen

Kompetenzen

Top-Skills

C++ C# DB-Entwicklung Visual Studio STL Qt Boost Entity Framework OpenMP XML XSD XSLT MFC Python Assembler Java PHP gRPC SOAP Angular SQL

Produkte / Standards / Erfahrungen / Methoden

Visual Studio
Experte
STL
Experte
VSTest (Unit-Test-Framework)
Experte
Google Test (Unit-Test-Framework)
Fortgeschritten
Visual Assert (Unit-Test-Framework)
Experte
Qt
Fortgeschritten
Boost
Fortgeschritten
gRPC
Fortgeschritten
OpenMP
Fortgeschritten
Entity Framework
Fortgeschritten
MFC
Fortgeschritten
IIS (Microsoft Internet Information Services, Webserver)
Fortgeschritten
XML
Fortgeschritten
XSD
Fortgeschritten
XSLT
Fortgeschritten
Azure DevOps
Fortgeschritten
TFS
Fortgeschritten
Git
Fortgeschritten
IBM Rational Team Concert
Experte
IBM Clear Case
Fortgeschritten
Subversion
Fortgeschritten
Azure
Basics
CVS
Fortgeschritten
JSON
Fortgeschritten
SCADA (Supervisory Control and Data Acquisition)
Fortgeschritten
MS Word, Excel, Powerpoint, Access, Visio, Outlook
Fortgeschritten
IPP (Intel Performance Primitives)
Fortgeschritten
GTL (Graph Template Library)
Fortgeschritten
ADTF (Automotive Data and Time Triggered Framework)
Fortgeschritten
Windows Sockets
Fortgeschritten
IBM Data Studio
Fortgeschritten
SQLTools
Fortgeschritten
National Instruments Labview & Measurement Studio
Fortgeschritten
Borland Delphi
Fortgeschritten
Lotus Notes
Fortgeschritten
SOAP
Basics
WCF
Basics
OPC UA
Basics
PC-Lint für statische Codechecks
Basics
Java Server Faces
Basics
Netbeans
Basics
WIBU CodeMeter und AxProtector
Basics
Bugzilla
Fortgeschritten
Mantis
Fortgeschritten


Betriebssysteme

Windows
Fortgeschritten
Linux
Basics


Programmiersprachen

C++
Experte
C#
Fortgeschritten
PL/SQL
Fortgeschritten
PHP
Fortgeschritten
Assembler
Fortgeschritten
Java
Basics
Python
Basics
JavaScript
Basics
HTML
Basics
Delphi / Turbo Pascal
Fortgeschritten
Praxiserfahrung Delphi / Turbo Pascal liegt weiter zurück.

Datenbanken

SQLite
Experte
DB2
Fortgeschritten
Oracle
Fortgeschritten
MS SQL Server
Fortgeschritten
Access
Fortgeschritten
Paradox
Basics
Praxiserfahrung MS SQL Server, Access und Paradox liegt weiter zurück.

Datenkommunikation

TCP/IP
Fortgeschritten
UDP
Basics
RS232
Basics
RS485
Basics
I2C
Basics
Modbus
Basics


Berechnung / Simulation / Versuch / Validierung

Erstellung von Unit-Tests
Fortgeschritten
Erstellung von automatischen Testapplikation
Fortgeschritten
Erstellung von Testplänen in einem ISO 9001 zertifizierten Umfeld
Fortgeschritten

Design / Entwicklung / Konstruktion

Softwarearchitektur mit UML, Erstellen von Klassen-, Komponenten-, Aktivitäts- und Sequenzdiagrammen für Design und Dokumentation, automatische Codegenerierung, Reverse Engineering

Vorgehensmodelle: Wasserfallmodell, V-Modell, Scrum

Branchen

Branchen

Test&Measurement, Automotive, Logistik, Leitsysteme, SCADA, Optimierung von Unternehmensprozessen, Elektrotechnik, Maschinenbau, Lasersintertechnologie (Additive Manufacturing, "3D-Druck"), Biotechnologie

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.