TM
nicht verfügbar bis 02.01.2025

Letztes Update: 10.03.2024

Software-Entwickler: C++, Qt, QML

Firma: Seadex GmbH
Abschluss: Universität
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (gut) | englisch (verhandlungssicher) | französisch (Grundkenntnisse) | rumänisch (Muttersprache)

Dateianlagen

seadex_gmbh_imagebroschuere.pdf

Skills

Programmiersprachen
- C++ (11/14/17/20)
- Kotlin
- JavaScript
- Java
- C#

Bibliotheken/Frameworks/APIs
- Qt5, Qt6, QML
- curl
- jQuery
- Node.js
- Express JS
- B&R Mapp Technologie (Datenbank-Anbindung)
- Boost
- RapidJSON
- .NET
- ASP.NET
- DevExpress
- WinForms
- MFC
- Bootstrap 4
- Spring framework
- Hibernate
- log4j
- spring-test
- junit
- javax.mail
- javax.activation
- commons-fileupload
- Leaflet
- MPAndroidChart
 
Dokumentbeschreibungssprachen
- HTML & CSS
- XML
- JSON
 
Datenbanken
- Microsoft Access
- MS SQL Server 2005, 2008, 2017, 2019
- MySQL
- SQLite
- PostgreSQL

- SQL
- T-SQL

Produkte/Standards/Erfahrungen
- Microsoft Visual Studio 2005, 2013, 2015, 2017, 2019
- Qt Creator
- git
- Confluence
- Jira
- Jenkins
- Docker
- Microsoft Visual Studio Code
- CMake
- Conan
- BitBucket
- Android Studio
- Subversion
- gcc
- Clang
- Microsoft SQL Management Studio
- B&R Automation Studio
- Eclipse
- Altova XML Spy
- Maven
- Tomcat 9
- nginx
- Perforce Helix ALM
- Perforce Surround SCM

Testing
- Google Test
- Boost.Test
- JUnit
- Espresso für Android
- UiAutomator
 
Methodiken
- Objektorientierte Programmierung (OOP)
- Scrum
 
Betriebssysteme
- Windows 10
- Windows 8
- Windows 7
- Windows XP
- Android
- Linux (u.a. Fedora, Debian, Raspian)
 
Aus- und Weiterbildung

Studium
10/2006 - 06/2010 Informatik
Abschluss:
Ingenieur
Institution:
Universitatea "Petru Maior" Targu-Mures

 Abschlussarbeit:Remote-Zugriff von Android-System auf Windows Desktop (entwickelt mit Java und C#)

Projekthistorie

08/2021 - bis jetzt
Entwicklung einer Programmier-Software für Tampon-Druckmaschinen
auf Anfrage (Industrie und Maschinenbau, 50-250 Mitarbeiter)

Einsatzort: Schweiz, Remote
Rolle: Software-Entwickler


Beschreibung:
Entwicklung einer Programmier-Software mit C++, um Maschinen parallel zur Produktion programmieren zu können.
 

Entwickelt wurde die Software vollständig mit C++. Die UI wurde mit Qt6 mit QML erstellt. Unit-Tests wurde mit Google Test geschrieben. Ebenso wurde die komplette CI-Pipeline mit Jenkins umgesetzt.

Features:

  • Erstellen von neuen und Bearbeiten von bestehenden Programmen
  • Hierarchische Programme mit Datenvererbung inkl. der Verwaltung der Beziehungen der Programme untereinander
  • Deklarative Beschreibung der Programme
  • Dynamische UI, Aufbau aus deklarativer Beschreibung der Programme
  • Kommunikation mit den Maschinen per FTP (Programmübertragung)
  • Multi-Benutzerbetrieb
  • Konfiguration
  • Übersetzungsmechanismus zur Unterstützung verschiedener Sprachen

 

Kenntnisse: C++ (C++20), Qt 6, QML, Curl, FTP, RapidJSON, JSON, spdlog, libfmt
Eingesetzte Produkte: Visual Studio 2019, git, Jenkins, Jira, Artifactory, Conan, Docker, Enterprise Architect
Betriebssysteme: Windows (Entwicklungsumgebung, Zielplattform)


09/2015 - bis jetzt
Entwicklung UML-State Machine Framework
Seadex GmbH (Internet und Informationstechnologie, < 10 Mitarbeiter)

Einsatzort: Trossingen
Rolle: Software-Entwickler
Beschreibung: Entwicklung eines Frameworks für UML-State Machines

Entwicklung am Framework "yasmine" (http://yasmine.seadex.de) für UML-State Machines
- Implementierung der Kernbibliothek entsprechend der UML-Spezifikation (OMG Unified Modeling LanguageTM (OMG UML), Superstructure). Die Bibliothek ermöglicht es, die Fähigkeiten einer UML-State Machine einfach in objekt-orientierter Weise zu nutzen, ohne die Ausführung der State Machine selber implementieren zu müssen.
- Implementierung einer State Machine-Modell-Bibliothek. Mit Hilfe dieser Bibliothek können State Machine-Modelle im JSON-Format gespeichert und geladen werden. Diese Modelle können u.a. zum Generieren von State Machines genutzt werden.
- Implementierung einer Generatorapplikation - Applikation mit deren Hilfe aus einem State Machine-Modell C++-Code generiert werden kann.
- Erstellung von Unit-Tests und Integrations-Test für alle Komponenten des Frameworks
- Erstellung von Dokumentation (Englisch) für das Framework

Aufgaben
- Programmierung. Die Bibliothek wird unter der Benutzung von C++11/C++14 entwickelt.
- Erstellen von Unit-Tests mit Boost.Test (Evaluierung von Google Test)
- Erstellen von Integrationstests
- Erstellen der Dokumentation mit Doxygen und Confluence
- Continuous Integration mit Jenkins
- Multiplattform-Builds mit CMake

Kenntnisse: C++, C++11, Boost, rapidjson, JSON, UML
Eingesetzte Produkte: Visual Studio 2013, 2015 und 2017, Subversion, Jira, Confluence, Jenkins, Doxygen, CMake
Kunde: Seadex GmbH
Branche: IT-Dienstleistungen

12/2022 - 01/2023
Frontend Entwickler, Qt, QML, C++ für Baumaschinen
auf Anfrage (Automobil und Fahrzeugbau)

Umsetzung grafischer Oberflächen für Assistenzsysteme von Baumaschinen. Die Assistenzsysteme werden verwendet, um die Bedienung der Baumaschinen zu vereinfachen.

Grafische Anzeige von Sensorwerten der Baumaschinen. Visualisierung zur Kalibrierung der Baumaschine im Service-Mode. Einpflegen von Texten und Übersetzungen.


Aufgaben
- Programmierung von GUI-Komponenten mit C++, Qt und QML nach Vorgaben der Designer
- Debugging und Test
- Übergabe an Applikationsentwickler

Kenntnisse: C++, Qt 5, QML
Eingesetzte Produkte: Qt Creator, git, gitLab, easyredmine, Figma
Betriebssysteme: Windows (Entwicklungsumgebung), Linux (Zielplattform)

02/2020 - 11/2022
Entwicklung eines Spiels unter Android
Seadex GmbH (Internet und Informationstechnologie, < 10 Mitarbeiter)

Einsatzort: Trossingen
Rolle: Software-Entwickler
Beschreibung: Entwicklung einer Android-App unter Verwendung von Kotlin

Entwicklung des Spiels Pandemic (Android-App, https://play.google.com/store/apps/details?id=de.seadex.games.pandemic), das mit Kotlin programmiert wird. Die UI enthält verschiedene Activities. In der Haupt-Activity ist eine Karte eingebunden, die in einer WebView angezeigt wird und mit der man interagieren kann.
Außerdem werden Technologien wie In-App-Einkäufe (Billing Client), Einblendung von Werbung (AdMob) und Anbindung an Google Game Services eingesetzt.

Die Backend-Logik wird durch Unit-Tests, die mit JUnit geschrieben werden, getestet. Daten für Statistiken werden in einer SQLite-Datenbank gespeichert.

Kenntnisse: Kotlin, HTML, CSS, JavaScript, JUnit, GSON, jQuery, MPAndroidChart, Leaflet
Eingesetzte Produkte:  Android Studio, git, UIAutomatorViewer
Betriebssysteme: Android, Windows (Entwicklungsumgebung)


08/2022 - 11/2022
GUI-Entwicklung in der Medizintechnik
auf Anfrage (Pharma und Medizintechnik)

Einsatzort: Ludwigsburg, Wien, Remote
Rolle: Software-Entwickler

Beschreibung: Entwicklung von GUI-Komponenten für eine Software zur Auswertung einer Ultraschalluntersuchung

Für die Benutzeroberfläche einer Software, die in Zusammenhang mit Ultraschalluntersuchungen eingesetzt wird, mussten diverse GUI-Komponenten nach Designervorgaben umgesetzt werden.

Aufgaben
- Programmierung von GUI-Komponenten mit C++, Qt und QML nach Vorgaben der Designer
- Debugging und Test
- Übergabe an Applikationsentwickler

Kenntnisse: C++ (C++20), Qt 6, QML, CMake, VTK
Eingesetzte Produkte: Qt Creator, git, Jira, Figma, CMake, Miro
Betriebssysteme: Windows (Entwicklungsumgebung, Zielplattform)

03/2021 - 06/2021
Entwicklung für die Qlik-Plattform
(Sonstiges)

Entwicklung von Extensions für Qlik und von externen Anbindungen an Qlik
U.a:
- Extension zur Verbindung von svgs mit Daten
- Anbindung einer lokalen Datenbank via Qlik Data Transfer
- Anbindung einer Siemens S7 PLC an Qlik Data Transfer

Kenntnisse: C++, C++11, Boost, Ladder diagram (LAD), Structured Control Language (SCL), JavaScript, asciidoc 
Eingesetzte Produkte: Qlik Sense Desktop, Qlik Sense, Qlik Data Transfer, Microsoft Studio Code, Microsoft Visual Studio 2019 und 2017, Bitbucket, Git, AsciiDoc, Jenkins, Siemens TIA 16/STEP 7, PostgreSQL, NodeJS, Deltalogic OPC Server, Deltalogic AGLink, OPC UA Expert
Betriebssysteme: Windows 10

09/2020 - 10/2020
Entwicklung eines GUI-Prototyps für ein Embedded Gerät mit Touchscreen
(Telekommunikation, 500-1000 Mitarbeiter)

Einsatzort: Trossingen
Rolle: Software-Entwickler
Beschreibung: Entwicklung einer GUI mit Qt 5

Für eine Embedded Gerät mit Touch-Screen wurde das individuelle GUI-Design (Info-Screens, Listen mit ausklappbaren Elementen, Tastaturen, Animationen...) mittels Qt 5 in einem Prototypen umgesetzt. Damit der Prototyp getestet werden konnte, war sowohl die Ausführung unter Windows als auch auf einem Raspberry PI mit angeschlossenem Touch-Display möglich.

Kenntnisse: C++17, Qt 5.14
Eingesetzte Produkte:  Qt Creator, git, Jira, Confluence
Plattformen: PC, Raspberry PI 4
Betriebssysteme: Windows (Entwicklungsumgebung, Zielsystem), Raspbian (Zielsystem)


09/2018 - 10/2019
HMI-Entwicklung für OEM-Zuführgeräte für (Groß-)Drucker
auf Anfrage (Industrie und Maschinenbau, 250-500 Mitarbeiter)

Einsatzort: Rottweil
Rolle: Software-Entwickler
Beschreibung: Entwicklung von Benutzeroberfläche und Datenbankanbindung für Zuführgeräte unter der Verwendung von Web-Technologien und Anbindung an
die PLC (SPS)
 

Der Kunde, ein Unternehmen, das Lader- und Staplermaschinen für die Papierindustrie entwickelt, hatte zwei verschiedene Maschinen für verschiedene Druckerlinientypen im Portfolio.

Die Maschinen werden von PLCs von B&R gesteuert.

Der Bediener kann die Maschinen über Hardware-Tasten und eine GUI steuern. Die GUI erlaubt es, Aufträge, Einstellungen der Maschine, Medienparameter usw. zu ändern.

Die Kommunikation zwischen GUI und PLC erfolgt via HTTP.

Das HMI wurde iterativ entwickelt. Dies erfolgte Hand in Hand mit der Maschinenentwicklung (Hardware und PLC).

Eine Aufgabe war es, zyklische Funktionstests im Diagnosemodus für verschiedene Submodule der Maschine zu entwickeln.

Die B&R PLC verfügt über einen eigenen Webserver, der Funktionen zum Lesen und Schreiben von PLC-Parametern bereitstellt (maximal 10 pro Anfrage). Der Webserver stellt JSON-Objekte als Antwort auf die Anforderungen bereit (enthält vordefinierte Parametername- und Wertepaare). Das HMI liest die JSON-Objekte ein und behandelt die erhaltenen Werte. Z.B. werden die Zustände der Maschine auf dem Bildschirm anzeigen.

Anstatt wie bisher für jedes Ereignis eine eigene Popup-Meldung anzuzeigen, auf die jeweils nur einzeln zugegriffen werden kann, sollte eine verbesserte Benutzerführung realisiert werden. Die Fehlerbehandlung wurde dazu komplett durch ein viel flexibleres, skalierbares und moderneres Konzept ersetzt: Das Benachrichtigungszentrum, in dem alle Ereignisse gleichzeitig für den Bediener sichtbar sind.

Ebenso wurde eine SQL-Datenbank angebunden. Alle Ereignisse werden jetzt mittels Stored Procedures in dieser Datenbank gespeichert.

Die PLC ruft eine Stored Procedure mit einem Parametersatz auf, um ein Benachrichtigungsereignis in der Datenbank zu generieren. Das Ereignis wird vom HMI aus der Datenbank gelesen und im Benachrichtigungscenter wird eine entsprechende Benachrichtigung angezeigt. Zu den Daten gehören ein Ereigniscode, Texte (werden in die ausgewählte Sprache übersetzt), Bilder und dynamisch eingefügte Animationen.

Je nach Einstellung in der Datenbank kann ein Ereignis vom Benutzer durch Drücken einer Hardware-Taste oder einer HMI-Bestätigungsschaltfläche bestätigt oder zurückgesetzt werden (dynamisch erzeugt basierend auf Informationen über das Ereignis in der Datenbank).

Das HMI kann auch Ereignisse generieren. Dazu muss eine Anforderung an eine bestimmte URL gestellt werden (Node.JS-Anwendung), um eine bestimmte Stored Procedure auszuführen.

Eine weitere große Verbesserung, die durch die Verwendung des Datenbanksystems möglich wurde, ist der Ereignisverlauf. Zuvor war die Historie auf 50 Einträge begrenzt. Jetzt kann Sie beliebig groß werden.

Die Job-Daten wurden vorher in einer CF-Datei (macht das Lesen und Schreiben einer Datei notwendig) hinterlegt. Jetzt werden Sie in der Datenbank gespeichert. Dadurch wurden die Geschwindigkeit und Stabilität verbessert. Die Begrenzungen (durch den CF-Lese-/Schreiblebenszyklus) wurden aufgehoben. Ebenso wird der Speicherplatz effizienter genutzt.

Das Lesen von Job-Daten wurde früher zyklisch über die HMI gemacht. Nach dem Wechsel zur Datenbank ist der Lesevorgang nun ereignisbasiert.

Kenntnisse: JavaScript, HTML, CSS, jQuery, JSON, Node.JS, Express, B&R mapp Technology, Microsoft SQL Server 2017 Express Edition, ASP classic, Scrum
Eingesetzte Produkte:  Microsoft Visual Studio Code, B&R Automation Studio 4.3, Microsoft, Microsoft SQL Server Management Studio 18, Perforce HELIX ALM, Perforce Surround SCM
Betriebssysteme: Windows 10
 


01/2018 - 08/2018
Entwicklung einer Client-Server-Applikation für eine Künstlerdatenbank
auf Anfrage (Sonstiges, < 10 Mitarbeiter)

Einsatzort: Trossingen/Freiburg
Rolle: Software-Entwickler
Beschreibung: Entwicklung einer Client-Server-Applikation, in der Künstler ihre Kunstwerke und ihre Vita hinterlegen können

In der Datenbank kann der Künstler seine persönlichen Daten (inkl. Lebenslauf) hinterlegen. Außerdem kann er detaillierte Informationen
über seine Kunstwerke hinterlegen. Implementiert ist das Projekt auf Server-Seite mit Java. Als Client dient ein Browser (HTML, CSS,
JavaScript)
Aufgaben
- Programmierung. Das System wird unter der Benutzung von Java, JavaScript, HTML und JavaScript entwickelt.
- Umsetzung der UI-Design-Vorgaben
- Continuous Integration mit Jenkins
- Erstellen von Unit-Tests mit JUnit
- Konfiguration des Servers
- Deployment auf dem Server

Kenntnisse: Java, JavaScript, HTML, CSS, jQuery, Bootstrap 4, Maven, Spring framework, Hibernate, log4j, spring-test, junit, PostgreSQL,
javax.mail, javax.activation, commons-fileupload, Tomcat 9, nginx
Eingesetzte Produkte: Eclipse, pgAdmin, Pinegrow, Pingendo
Betriebssysteme: Debian Linux, Windows 10

08/2017 - 12/2017
Entwicklung GUI für State Machine-Editor mit Qt5
Seadex GmbH (Internet und Informationstechnologie, < 10 Mitarbeiter)

Einsatzort: Trossingen
Rolle: Software-Entwickler
Beschreibung: Entwicklung einer Benutzeroberfläche für einen Editor für UML-State Machines

Aufgabe ist es, einen Editor für UML-State Machines zu entwickeln. Der Editor bietet die Möglichkeit, jeweils in einer Baumansicht und in
einer grafischen Darstellung eine UML State Machine zu entwerfen. Das entworfene Modell kann dann in einem Modell-File abgespeichert
werden und als Eingabe für den Generator verwendet werden, der aus den Modelldaten C++-Code erzeugt.
Die Umsetzung der Benutzeroberfläche erfolgt unter Verwendung von Qt5 und C++11/14.

Aufgaben
- Programmierung. Das Programm wird unter der Benutzung von C++11/C++14 entwickelt.
- Umsetzung der UI-Design-Vorgaben
- Erstellen der Dokumentation mit Doxygen und Confluence
- Continuous Integration mit Jenkins

Kenntnisse: C++, C++11, Boost, Qt, UML
Eingesetzte Produkte: Visual Studio 2013, 2015 und 2017, Subversion, Jira, Confluence, Jenkins, Doxygen

06/2017 - 10/2017
Entwicklung von Klassen für Dateizugriff
auf Anfrage (Internet und Informationstechnologie, < 10 Mitarbeiter)

Einsatzort: Ludwigsburg
Rolle: Software-Entwickler
Beschreibung: Entwicklung von Klassen für den Dateizugriff über verschiedene Protokolle auf verschiedenen Plattformen

Es mussten Klassen entwickelt werden, die einen einheitlichen Zugriff auf Dateisysteme (Verzeichnisinhalt ausgeben, Upload, Download,
Löschen, ...) über folgende Protokolle ermöglichen:
- ssh
- SMB (Zugriff auf Samba)
- lokales Dateisystem (Linux, Windows)
- FTP
- GridFTP
- über eine spezifische REST API
- GPFS
Teilweise sollte vom Kunden bereitgestellter Code integriert und wiederverwendet werden.

Aufgaben
- Programmierung. Die Klassen wurden unter der Benutzung von C++03 entwickelt.
- Erstellen der Dokumentation mit Doxygen
- Unit-Tests

Kenntnisse: C++03, Boost, ssh, SMB, FTP, GridFTP, HTTP, REST, libcurl, libssh, Windows API, Linux PI
Eingesetzte Produkte: Visual Studio 2013, Subversion, git, Doxygen
Betriebssysteme: Windows, Linux
Branche: Software-Entwicklung

04/2017 - 05/2017
Entwicklung GUI für Generator mit Qt5 (QML)
Seadex GmbH (Internet und Informationstechnologie, < 10 Mitarbeiter)

Einsatzort: Trossingen
Rolle: Software-Entwickler
Beschreibung: Entwicklung einer Benutzeroberfläche für einen Generator für UML-State Machines

Aufgabe ist, für den Generator, der im UML-State Machine Framework yasmine (http://yasmine.seadex.de) enthalten ist, eine grafische
Oberfläche zu entwicklen. Die Benutzeroberfläche bietet die Möglichkeit, verschiedene Projekte anzulegen, wobei jedes Projekt eine oder
mehrere State Machines enthalten kann. Für jedes Projekt und für jede State Machine im Projekt können diverse Einstellungen
vorgenommen werden. Außerdem muss es aus der Applikation möglich sein, die Generierung einer oder mehrerer State Machines zu
starten. Die Benutzeroberfläche ist an das bestehende Generator-Backend anzubinden. Ebenso ist das Laden und Speichern der
Projektdateien zu implementieren.
Die Umsetzung der Benutzeroberfläche erfolgt mit QML unter Qt5 und der Verwendung von C++11/14.
Aufgaben
- Programmierung. Das Programm wird unter der Benutzung von C++11/C++14 entwickelt.
- Umsetzung der UI-Design-Vorgaben
- Erstellen der Dokumentation mit Doxygen und Confluence
- Continuous Integration mit Jenkins

Kenntnisse: C++, C++11, Boost, Qt, QML, UML
Eingesetzte Produkte: Visual Studio 2013, 2015 und 2017, Subversion, Jira, Confluence, Jenkins, Doxygen
Kunde: Seadex GmbH
Branche: IT-Dienstleistungen

04/2017 - 05/2017
Entwicklung einer Hex-Map für ein Strategiespiel
Seadex GmbH (Internet und Informationstechnologie, < 10 Mitarbeiter)

Einsatzort: Trossingen
Rolle: Software-Entwickler
Beschreibung: Entwicklung einer Hex-Map, die in einem Strategiespiel eingesetzt werden kann

Inhalt
- Karte mit sechseckigen Feldern
- Größe beliebig definierbar
- Verschiedenartige Felder (z.B. Meer, Ebene, Berge, Stadt)
- Bewegen und Zoomen durch Touchsteuerung
- Anwählen von Feldern
- Hinterlegung von Hintergrundgrafiken für Felder verschiedener Typen
- Overlay von grafischen Elementen (z.B. Spielelemente, die auf den Feldern platziert wurden)
Aufgaben
- Programmierung mit Java
- Testen

Kenntnisse: Java
Eingesetzte Produkte: Subversion, Android Studio
Kunde: Seadex GmbH
Branche: IT-Dienstleistungen

11/2016 - 12/2016
Entwicklung Enterprise Architect Plugin zur State Machine-Generierung
Seadex GmbH (Internet und Informationstechnologie, < 10 Mitarbeiter)

Einsatzort: Trossingen
Rolle: Software-Entwickler

Beschreibung
- Entwicklung Enterprise Architect Plugin
- Entwicklung mit C# unter Visual Studio 2015
- Abfrage des EA-Modells mit C# und SQL
- Generierung eines yasmine State Machine-Modells (JSON-Format)

Aufgaben
- Programmierung mit C#
- Datenbankabfragen mit SQL entwickeln

Kenntnisse: C#, Enterprise Architect API, JSON, UML, State Machines
Eingesetzte Produkte: Visual Studio 2015, Enterprise Architect, Subversion
Kunde: Seadex GmbH
Branche: IT-Dienstleistungen

11/2015 - 06/2016
Entwicklung Qt5-Bibliothek für UML State Machines mit C++11
Seadex GmbH (Internet und Informationstechnologie, < 10 Mitarbeiter)

Einsatzort: Trossingen
Rolle: Software-Entwickler
Beschreibung
Entwicklung einer Qt5-Bibliothek mit C++11, mit der UML State Machines visualisiert werden können. Elemente wie States, Pseudostates
und Transitions können hiermit grafisch angezeigt und manipuliert werden. Das Modell kann als XML- oder JSON-Datei im- und exportiert
werden.

Aufgaben
- Programmierung mit C++11 und Qt 5.

Kenntnisse: C++, C++11, Qt
Eingesetzte Produkte: Visual Studio 2013 und 2015, Subversion, Jira, Confluence
Kunde: Seadex GmbH
Branche: IT-Dienstleistungen

10/2015 - 10/2015
Log-Analyzer
Seadex GmbH (Internet und Informationstechnologie, < 10 Mitarbeiter)

Einsatzort: Trossingen
Rolle: Software-Entwickler
Beschreibung: Programmierung eines Tools zur Auswertung von Log-Dateien

Erstellung eines Tools, das verschiedene Log-Formate einlesen kann.
Die einzelnen Log-Formate sind in einer JSON-Datei beschrieben. In dieser Datei sind u.a. die Spaltenname und der Reguläre Ausdruck zum
Zerlegen einer Log-Zeile hinterlegt.
Das Tool liest mit Hilfe dieser Informationen ein Log-File ein und stellt es in einer grafischen Benutzeroberfläche dar.
Um bei sehr großen Log-Dateien eine gute Performance zu erzielen, wird das auswerten von Blöcken von Zeilen auf verschiedene Threads
verteilt.
Durch die Benutzeroberfläche werden Filter-Funktionen (z.B. nach Ursprungsmodul der Meldung, Log-Level, ...) angeboten.
Ebenso bietet das Tool eine Suchfunktion an.

Aufgaben
- Programmierung mit C++11 und Qt 5.

Kenntnisse: C++, C++11, Qt, Boost
Eingesetzte Produkte: Visual Studio 2013, Subversion, Jira
Kunde: Seadex GmbH
Branche: IT-Dienstleistungen

07/2010 - 05/2015
Entwicklung von Software für Buchhaltung, Steuern und Verwaltung
Öffentlicher Auftraggeber (Öffentlicher Dienst, 50-250 Mitarbeiter)

Einsatzort: Rumänien
Rolle: Software-Entwickler
Beschreibung: Entwicklung und Pflege von diversen Software-Paketen mit C# für

- Buchhaltung (z.B. Zahlungsüberwachung)
- Steuerverwaltung (z.B. Grundsteuer, Besitzverwaltung)

Kunden u.a. aus dem Bereich
- Rathäuser
- Krankenhäuser
- Universitäten, Schulen, Kindergärten

Entwicklung von
- Business-Logik
- Benutzeroberflächen (GUI)
- Datenbankanbindung

Aufgaben u.a.
- Import von Daten aus Excel (Excel diente als Offline-Schnittstelle zur Datenerfassung)
- Abgleich verschiedener Standorte über einen zentralen Server, zur Verfügungstellen der Daten für Hauptstandort (z.B. Rathaus)
- Datentransport via XML
- Benutzer-/Rechteverwalung

Kenntnisse: C#, SQL, T-SQL, XML, DevExpress, .NET 2.0, Windows Forms, ASP.NET, JavaScript
Eingesetzte Produkte: Visual Studio 2005, Microsoft SQL Server 2005, 2008, Windows
Kunde: Öffentliche Auftraggeber
Branche: Behörden & öffentliche Einrichtungen

07/2010 - 05/2015
Grundstücksverwaltung
Öffentlicher Auftraggeber (Öffentlicher Dienst, 50-250 Mitarbeiter)

Einsatzort: Rumänien
Rolle: Software-Entwickler
Beschreibung: Verwaltung von Nachweisen für jeden Haushalt einer ländlichen Gemeinde:
- Wer wohnt dort?
- Familienverhältnisse
- Welche landwirtschaftlichen Grundstücke sind zugeordnet (Code, Gebiet, Anschrift)
- Gehaltene Tiere und Entwicklung des Bestands
- Was wird auf den Flächen angebaut?
- Welche Gebäude sind vorhanden?
- Welche landwirtschaftlichen Großgeräte sind vorhanden?

Diese Informationen werden u.a. zur Subventionsverteilung (landwirtschaftlich) verwendet.

Für jede dieser Informationen können Dokumente hinterlegt werden (z.B. gescannte Ausweise, Besitzurkunden, ...).

Weiterhin können auszufüllende Formulare ausgedruckt werden. Diese werden durch eine (kundenspezifische) RTF-Vorlage definiert. Die
Software reichert die Vorlage durch weitere Informationen an und stellt das Dokument dann dem Benutzer zur Verfügung.

Aufgaben:
- Programmierung in C#
- Erstellung Benutzeroberfläche
- Datenbank (Verwaltung der Daten und Attachments)
- FTP-Kommunikation für Up- und Download der Dokumente
- Benutzer- und Rechteverwaltung
- Druck von Dokumenten

Kenntnisse: C#, .NET, Windows Forms, SQL, T-SQL, DevExpress
Eingesetzte Produkte: Visual Studio 2005, MS SQL Server, Windows
Kunde: Öffentliche Auftraggeber
Branche: Behörden & öffentliche Einrichtungen

07/2010 - 05/2015
Budget-Überwachung für öffentliche Einrichtungen
Öffentlicher Auftraggeber (Öffentlicher Dienst, 50-250 Mitarbeiter)

Einsatzort: Rumänien
Rolle: Software-Entwickler
Aufgaben: Öffentliche Einrichtung in Rumänien müssen Budget-Planung machen (Ausgabe und Einkünfte).

Für Ausgaben gibt es einen Ablauf mit 4 Schritten der ALOP heißt
- Budgetierung (Was wird angeschafft?)
- Vergabe der Aufträge
- Rechnungseingang
- Bezahlung

Dies ist ein aufwändiger Prozess.
Ein analoger Prozess existiert für Personalbuchhaltung und wird ebenso abgebildet.

Aufgaben:
- Programmierung in C#
- Eingabe-Masken für Budgetierung
- Implementierung eines Algorithmus der Einträge für die verschiedenen Schritte des ALOP-Ablaufs möglichst detailliert ohne manuelle
Eingriffe anhand grundlegender Eingaben anlegt. Dies vereinfacht den komplexen Prozess massiv.
- Erzeugung von entsprechenden Datensätzen in der Datenbank für das Buchhaltungsmodul aus den Budgetierungsabläufen heraus

Kenntnisse: C#, .NET, Windows Forms, DevExpress, SQL, T-SQL
Eingesetzte Produkte: Visual Studio 2005, MS SQL Server, Windows
Kunde: Öffentliche Auftraggeber
Branche: Behörden & öffentliche Einrichtungen

07/2010 - 05/2015
Excel-Import für Buchhaltungsdaten
Öffentlicher Auftraggeber (Öffentlicher Dienst, 50-250 Mitarbeiter)

Einsatzort: Rumänien
Rolle: Software-Entwickler

Beschreibung
Außenstellen einer Organisation pflegen ihre Buchhaltungsinformationen wie z.B.
- Bestellungen
- Wareneingang
entweder in einem eigenen System (das nicht zum Hauptsystem kompatibel ist) und exportieren die Daten ins Excel-Format oder arbeiten
direkt in Excel-Vorlagen.

Diese Daten müssen in das Hauptsystem importiert werden und entsprechende Datensätze im Buchhaltungsmodul erzeugt werden.

Aufgaben
- Programmierung in C#
- Erstellung der Datensätze in Datenbank
- Excel-Import und Export

Kenntnisse: C#, .NET, Windows Forms, SQL, T-SQL, DevExpress
Eingesetzte Produkte: Visual Studio 2005, MS SQL Server, Windows
Kunde: Öffentliche Auftraggeber
Branche: Behörden & öffentliche Einrichtungen

03/2015 - 03/2015
Excel-Import von Meldedaten in MS SQL Server, Datentransformation
(Öffentlicher Dienst)

Rolle: Software-Entwickler
Kunde: Gemeinde
Einsatzort: Rumänien

Beschreibung:
Das Rathaus einer großen Gemeinde hatte Meldedaten (Personen,
Familien, Adressen, Haushalte, Grundstücke, Immobilien, …) in Form von
Excel-Dokumenten vorliegen. Die Daten wurden von einer Firma
bereitgestellt, die Erhebung und Prüfung der Daten durchgeführt hatte.

Aufgabe:
• Importieren der Daten aus Excel in MS SQL Server
• Umstrukturieren der Daten, so dass sie in die Datenbank der Buchhaltungs-Software übernommen/importiert werden konnten

Kenntnisse: Excel, SQL, C#, .NET 2.0
Eingesetzte Produkte: MS SQL Server, Visual Studio 2005

01/2013 - 12/2014
Verwaltung von EU-Fördergeldern
Romanian Academy (Öffentlicher Dienst, 50-250 Mitarbeiter)

Rolle: Software-Entwickler
Kunde: Romanian Academy
Einsatzort: Cluj-Napoca

Beschreibung:
Die Zweigstelle der Romanian Academy in Cluj setzt die vom Arbeitgeber
entwickelte Buchhaltungs-Software ein. Die Romanian Academy erhält
Fördergelder der EU. Diese Fördergelder müssen auf verschiedene Etats
verteilt werden (Institute, Projekte und Zuschüsse). Außerdem muss jede
Ausgabe separat erfasst und einem Konto zugewiesen werden. Schließlich
muss auch noch die Gesamtsumme der Ausgaben berechnet werden
können.

Aufgaben:
• Implementierung einer Datenbank, die die Strukturierung der Etats abbildet (Institute, Projekte und Zuschüsse)
• Erstellung eines Software-Moduls zur Verwaltung der einzelnen Zuschüsse und ihrer Status
• Integration des neuen Software-Moduls in die Buchhaltungs-Software und Verknüpfung des neuen Moduls an allen notwendigen Stellen

Kenntnisse: C#, .NET 2.0, SQL
Eingesetzte Produkte: MS SQL Server, Visual Studio 2005

01/2013 - 12/2013
Zahlungsanweisung von öffentlichen Institutionen
Öffentlicher Auftraggeber (Öffentlicher Dienst, 50-250 Mitarbeiter)

Rolle: Software-Entwickler
Kunde: Öffentliche Einrichtung
Einsatzort: Rumänien

Beschreibung:
Alle öffentlichen Institutionen bestreiten ihre Zahlung aus der Staatskasse.
Damit eine Zahlung ausgelöst werden kann, muss die Buchhaltung der
jeweiligen Institution eine Zahlungsanweisung (in einer Applikation des
Finanzministeriums) generieren, die auf den Daten der zugehörigen
Rechnung basiert.

Aufgabe:
Implementierung eines Moduls, das die Zahlungsanweisungen direkt aus
der Buchhaltungs-Software des Arbeitgebers generiert und in die
Applikation des Finanzministeriums überträgt.
Es können Zahlungsanweisungen für alle offenen Rechnungen, für alle
Rechnungen in einem gewissen Zeitraum oder für bestimmte Kategorien
(benutzerdefiniert) generiert werden.

Kenntnisse: C#, .Net 2.0, SQL
Eingesetzte Produkte: MS SQL Server, Visual Studio 2005

08/2013 - 10/2013
Entwicklung einer App (Android, Java) zum Erfassen von Strafzetteln
Öffentlicher Auftraggeber (Öffentlicher Dienst, 50-250 Mitarbeiter)

Einsatzort: Rumänien
Rolle: Software-Entwickler
Beschreibung: Entwicklung eines Prototyps einer App zur Erfassung von Strafzetteln

- Datenerfassung in App
- Druck des Strafzettels
- Übernahme der Daten in zentrale Datenbank

Kenntnisse: Java, SQL
Eingesetzte Produkte: Eclipse, Android Studio (Beta), Subversion
Kunde: Öffentlicher Auftraggeber
Branche: Behörden & öffentliche Einrichtungen

01/2010 - 06/2010
Thesis: Remote-Zugriff auf Windows-Desktop
(Internet und Informationstechnologie)

Einsatzort: Rumänien
Rolle: Software-Entwickler
Beschreibung: Entwicklung einer App, mit deren Hilfe man Zugriff auf den Desktop eines Windows-PCs bekommt.

Die Software besteht aus 2 Komponenten:
1. Ein in Java geschriebener Client, der auf einem Android-System läuft und Zugriff und Interaktion mit einem Windows Desktop ermöglicht.
2. Ein in C# geschriebener Server, der auf einem Windows-System läuft und die eingehende Verbindung von der App annimmt und den
Zugriff auf den Desktop des Systems bereitstellt.

Kenntnisse: Java, C#
Eingesetzte Produkte: Eclipse, Visual Studio 2005, Subversion
Kunde: Universität
Branche: Behörden & öffentliche Einrichtungen

Reisebereitschaft

Verfügbar in den Ländern Deutschland, Österreich und Schweiz
sofort verfübar

Einsatzort
- remote oder
- Projekteinsatz um ca. 150km um 78647 Trossingen

Bei weiter entfernten Projekten falls notwendig zum Projektstart oder tageweise vor Ort, sonst remote.

Sonstige Angaben

Zertifikat für Deutsch (Goethe-Zertifikat B1) vorhanden.
Profilbild von Anonymes Profil, Software-Entwickler: C++, Qt, QML Software-Entwickler: C++, Qt, QML
Registrieren