freiberufler Softwareentwickler C++/C# auf freelance.de

Softwareentwickler C++/C#

offline
  • auf Anfrage
  • Deutschland
  • National
  • de  |  en
  • 28.01.2020

Kurzvorstellung

Ich bin freier Softwareentwickler seit 2005. Meine Schwerpunkte sind vor allem in der Anwendungs- und GUI Entwicklung mit C++ und Qt 4 und Qt 5.
Ein weiterer Schwerpunkt ist die objektorientierte Softwareentwicklung mit dem Enterprise Architect.

Qualifikationen

  • C++
  • Enterprise Architect (EA)
  • Git
  • Linux
  • Mac
  • Qt
  • Windows

Projekt‐ & Berufserfahrung

Softwareentwickler
Buhl Data GmbH Hannover, Hannover
2/2017 – 11/2019 (2 Jahre, 10 Monate)
IT & Entwicklung
Tätigkeitszeitraum

2/2017 – 11/2019

Tätigkeitsbeschreibung

In einem 3-Mann - Team haben wir einen Teil der Software neu entwickelt. Das betraf die Neuentwicklung bereits vorhandener GUI-Elemente als auch Teile der Datenverarbeitenden Schicht.

Ich war unter anderem dafür verantwortlich, die neuen Softwarekomponenten in die bestehende Software zu integrieren und dabei die alten Bestandteile zu ersetzen.

Nebenbei habe ich zwei In-House - Tools bearbeitet.
Klassengenerator:
Dieses Tool half den Entwicklern, bestimmte Arbeitsabläufe zu automatisieren und damit zu beschleunigen.
Das Tool konnte CMake - Dateien auslesen und neue Datei-Einträge hinzufügen. Weiterhin konnte es anhand von Vorlagedateien neue C++-Klassendateien erstellen und diese in die Quellcodeverwaltung - Perforce - einbinden.

Das Tool habe ich komplett allein entwickelt. Ich habe dabei die zu entwickelnden Features festgelegt, sie entwickelt und implementiert.

Paletteneditor:
Dieses Tool ist in Zusammenarbeit mit einem Kollegen entstanden. Wir haben zusammen den Funktionsumfang und bestimmte Arbeitsabläufe festgelegt. Die weiteren Features habe ich allein festgelegt, entwickelt, implementiert und getestet. Das betraf zum Beispiel die Art und Weise der Bedienung,

Eingesetzte Qualifikationen

Enterprise Architect (EA), C++, Qt, Visual Studio, XML

Softwareentwickler, Teamleiter
Technisat Dresden GmbH/Preh Carconnect GmbH, Dresden
2/2016 – 12/2016 (11 Monate)
Automobilindustrie
Tätigkeitszeitraum

2/2016 – 12/2016

Tätigkeitsbeschreibung

Projekt CarPlay: Fehleranalyse und ggf. Fehlerbereinigung, sowie Erweiterung um kleinere Funktionalitäten

CarLife: Leitung eines Teams aus 3 Personen, das Projekt wurde ende 2016 erfolgreich abgeschlossen

Technologien, beide Projekte: C++11, QtCreator und CrossCompiling für Qnx, Enterprise Architect, CMake, gcc

Ab Anfang 2017: Mitarbeit an der nächsten Produktgeneration mit dem Schwerpunkt auf CarPlay - Aufgabe: Portierung des Codes für QNX auf die neue Plattform Linux, Erweiterung um neue Funktionalitäten

Eingesetzte Qualifikationen

Enterprise Architect (EA), C++, Git

Softwareentwickler
Technisat Dresden, Dresden
6/2015 – 12/2015 (7 Monate)
Automobilindustrie
Tätigkeitszeitraum

6/2015 – 12/2015

Tätigkeitsbeschreibung

Ich habe für das Projekt Unit- und Modultests mit CPPUNIT und GoogleMock entwickelt. Ab November habe ich auch aktiv im Projekt CarPlay mitgearbeitet, um bei der Unterstützung von CarPlay Wireless mitzuhelfen.

Das Projekt verwendet C++ und CMake, sowie QtCreator und Eclipse. Hinzu kommt die Verwendung von iMX6 Linux auf dem Target mit Arm Prozessor.

Eingesetzte Qualifikationen

Linux (Kernel), ARM-Architektur, Qt, Softwareentwicklung (allg.), C, C++, Eclipse

Entwickler
Rohde & Schwarz, München / Heimarbeit
10/2013 – 5/2015 (1 Jahr, 8 Monate)
High-Tech- und Elektroindustrie
Tätigkeitszeitraum

10/2013 – 5/2015

Tätigkeitsbeschreibung

Oktober 2013 - aktuell laufend

Rohde & Schwarz

Entwicklung von Anwendungen für professionelle High-End - Messgeräte.

In diesen Projekten habe ich vor allem bei der Entwicklung der Benutzeroberfläche und der Entwicklung der Datenbasis mitgewirkt. Hierbei kam ein spezielles Toolset von R&S zum Einsatz. Zusätzlich wurden kleine Teile der GUI in C++ realisiert.

Außerdem sind die Geräte und Anwendungen mit Hilfe von SCPI - einem Standard zur Fernsteuerung von Geräten - fernsteuerbar. Ich habe hier die verschiedenen SCPI-Befehle implementiert und getestet.

Eingesetzte Qualifikationen

Enterprise Architect (EA), Qt, C++, User Interface (UI), Messgeräte / Messsysteme

Entwickler
Wein- und Sektkellerei Ostrau GmbH, Ostrau in Sachsen
11/2009 – 9/2013 (3 Jahre, 11 Monate)
Getränkehersteller, Weinabfüller
Tätigkeitszeitraum

11/2009 – 9/2013

Tätigkeitsbeschreibung

Entwicklung verschiedener Tools zur Prozessüberwachung.



Projekt 1: bis Dezember 2009: Entwicklung eines Programms zur Übertragung von Daten aus einer Steuerung in eine Datenbank. Das Programm konnte die Daten auf verschiedene Weise vorverarbeiten (verschiedene Glättungsalgorithmen waren zum Beispiel möglich)

bevor sie in der Datenbank gespeichert wurden. Dank OPC konnten alle Steuerungen ausgelesen werden, für die ein OPC-Server exisitiert.

Die Daten wurden in einer MySQL - Datenbank gespeichert, das Programm selbst ist aber dank SQL unabhängig von der verwendeten Datenbank.

Das Programm wurde als Windowsdienst entwickelt.



Projekt2: bis Oktober 2010:

Überwachung der Hauseigenen Abwassergrube und automatisches absenden einer SMS bei Erreichen eines kritischen Füllstandes.

Die SMS wurde mit Hilfe eines Internetdienstes versendet.

Hier kamen auch erstmals Touchpanels (EigerPanel) zum Einsatz, für die Anzeige verschiedener Daten.



Zur Authorisierung für verschiedene Funktionen wurden RFID-Chips verwendet, welche über einen RFID-Leser, der am Touchpanel angeschlossen war (RS323), ausgelesen.

Das Panel selbst diente als Anzeige, während die Verarbeitung von Daten in einem Windowsprogramm durchgeführt wurde. Das Serverprogramm wurde als Windowsdienst implementiert.

Die Touchpanels wurden an einen RS485 - Bus angeschlossen, welcher mit Hilfe von IPCAS - Geräten ans Intranet angeschlossen wurde.



Projekt3: - abgeschlossen

Ein Überwachungssystem für Weintanks. Hier wurden Touch-Panels verwendet, die ein Linux verwenden. Die auf den Panels laufende Anwendung ist mit Qt 4.x entwickelt worden. Daten, welche die Anwendung zur Darstellung benötigt, werden direkt aus einer MySQL-Datenbank geladen.



Projekt4: - März 2012 - Ende 2012

In diesem Projekt wird eine weitere Maschine überwacht. Es wird hierzu wieder ein Touchpanel mit Linux verwendet. Die Anwendung zeigt mit Hilfe der Bibliothek QWT eine verschiedene Kurvendiagramme, welche den Verlauf der Produktion widerspiegeln. Hierzu wurde eine neue Skriptengine entwickelt, welche die Ausführung von sowohl SQL-Skripten als auch Javascripten mit Hilfe der Qt-Scriptengine ermöglicht. Es wäre ebenfalls möglich, weitere Skriptengines, wie Python oder Ruby, einzubinden.



Projekt5: - von Anfang 2013 bis Schluss

In diesem Projekt wurde eine Lagerverwaltung für das Vollgutlager der Firma entwickelt und implementiert. Hierbei kommen neben einer Qt-Anwendung für die Ausführung von Lieferaufträgen, auch Barcodescanner zum Einsatz, um die auszuliefernden Artikel durch Abscannen von Barcodes, einzugeben.





Alle drei Projekte haben intensiv Daten aus Datenbanken ermittelt oder in Datenbanken gespeichert. Eine "Mini-Skriptsprache" diente der Definition zu verwendender SQL-Anweisungen und dem Datenaustausch mit den entsprechenden Anwendungen. SQL-Anweisungen wurden nicht im Quellcode kodiert. Dadurch wurden die Anwendungen flexibler, da mögliche Änderungen an der Datenbank, oder kleine Änderungen in Anzeigen nur durch die Änderung der SQL-Anweisungen in der Konfiguration erreicht werden konnten.



Nebenbei entsanden kleinere Projekte mit Hilfe von C++/MFC und C++/Qt.

Mit Hilfe des Qt - WebKit wurde eine kleine Anwendung entwickelt, welche bis zu 6 konfigurierbare Buttons und eine Webseite anzeigen konnte. Auf die Buttons wurde die darzustellende Webseite konfiguriert. Das Programm kam im Produktionsbereich auf einem PC mit Touchscreen zum Einsatz, zur Schnellen und Einfachen Abfrage von, im Intranet vorhandener, Produktionsdaten.



Ein Tool diente der internen Kurznachrichten-Übermittlung. Dieses Programm las im Minutentakt Nachrichten für den, am Computer angemeldeten Benutzer, aus der Datenbank und hat sie entsprechend auf dem Bildschirm angezeigt. Für dieses Programm wurde von mir auch ein MSI-Paket (mit Hilfe eines VS Installer-Projektes) erzeugt, welches in der Firma per Windowspolicy verteilt wurde.



Die drei großen Projekte wurden mit Hilfe von MFC implementiert, da bei meinem Beginn schon verschiedene Projekte mit MFC realisiert wurden, und ich vorhandenen Code nutzen konnte.

Heute würde ich vollständig auf Qt setzen. Alle kleineren Tools wurden mit Qt statt MFC realisiert. Bei Qt hat sich vor allem der direkte Zugriff auf MySQL-Datenbanken ausgezahlt, da es nicht mehr notwendig war auf allen Rechnern ODBC zu konfigurieren.



Bei diesen Projekten habe ich viele Erfahrungen im Bereich Kommunikation mit Steuerungen, Datenbanken und kleineren Busen (RS232/RS485) sammeln können bzw. kann ich noch sammeln.

Außerdem sind interessante Projekte für das EigerPanel entstanden, unter anderem ein Updateprogramm, mit dem es möglich ist, von der Ferne aus, neue Versionen eines Programmes auf dem Panel aufzuspielen, oder ein kleines Startprogramm, in dem verschiedene Einstellungen für das Panel festgelegt werden können.

Eingesetzte Qualifikationen

Oracle Database, ODBC (Open Database Connectivity), mySQL, Embedded Linux, Windows XP, Windows CE, Windows 7, Enterprise Architect (EA), Objektorientierte Analyse (OOA), Objektorientierte Programmierung (OOP), Qt, Visual C++, TCP/IP, Automatisierungstechnik (allg.), OLE for process control (OPC)

Entwickler
EADS, Friedrichshafen
11/2008 – 6/2009 (8 Monate)
Militär
Tätigkeitszeitraum

11/2008 – 6/2009

Tätigkeitsbeschreibung

tätig bei der EADS in Friedirchshafen als Softwareentwickler.
Entwicklung mit C, Dokumentenverwaltung mit DOORS, Verwendung von Rhapsody
DO-178B - Lehrgang

Eingesetzte Qualifikationen

Visual C++

Entwickler
INOAGE Dresden, Dresden
7/2007 – 10/2008 (1 Jahr, 4 Monate)
Konsumgüterindustrie
Tätigkeitszeitraum

7/2007 – 10/2008

Tätigkeitsbeschreibung

Weiterentwicklung von MADRIX bei INOAGE.

Außerdem Mitarbeit an einem Authoringtools zur Erstellung von Szenen für die theoretische
Fahrschulprüfung im Auftrag der ArgeTP 21. Hier habe ich unter anderem einen Undo/Redo Stack implementiert.

Tools/Technologien: CVS, Visual Studio 2005, C++, OOP, Nebula, DirectX, MFC/Codejock XTreme,
Doxygen, Threads, Synchronisierung von Threads

Eingesetzte Qualifikationen

Objektorientierte Analyse (OOA), Objektorientierte Programmierung (OOP), Python, Visual C++, C++, DirectX

Entwickler
EADS, München
1/2007 – 6/2007 (6 Monate)
Luft- und Raumfahrtindustrie
Tätigkeitszeitraum

1/2007 – 6/2007

Tätigkeitsbeschreibung

Im Rahmen dieses Projektes habe ich verschiedene Komponenten auf
Funktionsfähigkeit und Korrektheit getestet. Tests wurden dabei automatisch
durchgeführt.

Ich habe Testtools mit Hilfe von C++ und Qt4 oder MFC entwickelt um den
Testprozess zu verbessern und zu automatisieren. Von der EADS wurde für die Anwendung
ein Debugger-Tool entwickelt, mit dem man den Ablauf der Anwendung überwachen und
manipulieren konnte. Hierfür war es notwendig, mit Hilfe der GUI in einem recht aufwendigen
Prozess, die Testsituationen zu definieren. Diese wurden dann in Projekt-Dateien
abgespeichert.

In einer Datenbank waren alle vorhandenen Komponenten enthalten. Außerdem auch Informationen
über die Art der Komponenten (Buttons, Lampen, ...).
Ich habe ein Testtool geschrieben, welches diese Informationen ermitteln konnte.
Der Anwender konnte jetzt schnell auswählen, welche Komponenten zu testen waren.
Danach hat das Tool ein Testprojekt für den oben erwähnten "Debugger" erzeugt.
Dieses konnte in dem Debugger-Tool geladen und ausgeführt werden.
Diese Projekt-Dateien waren XML-Dateien.

Mit Hilfe von Logfiles und Anwender-Eingaben hat mein Tool dann automatisch
Testberichte als RTF und XML erzeugt.

Weiterhin habe ich für dieses Projekt verschiedene kleine Tools entwickelt,
welche die Entwickler bei ihrer Arbeit unterstützten.

Für die meisten dieser Tools war es notwendig, Textdateien zu parsen, um die
notwendigen Informationen zu ermitteln. Es wurden in der Regel Text-Dateien
als Ergebniss erzeugt, im CSV- oder XML-Format.

Hier habe ich auch SVN und Visual SourceForge als Verwaltungstools kennen gelernt.

Für meine Verarbeitung von XML-Daten habe ich mir eine kleine Mini-XML-Engine
entwickelt, welche die XML-Struktur parsen und ausgeben konnte.
Da ich bis dahin keine Erfahrungen mit XML hatte, war dies der schnellere weg.
Die Projektzeit war nur noch recht kurz.
(Später habe mir QtXML angeeignet und auch Xerces kennen gelernt)
Meine XML-Engine war sehr einfach gehalten, was für die Projekte ausreichend war.

Die verwendeten/entwickelten Tools und der Testprozess wurde am Ende von mir
in Englisch dokumentiert.

Während dieser Arbeit habe ich auch MS Outlook als Mail-Programm aber vor allem
als Groupware in Verbindung mit MS-Exchange kennen gelernt. (Terminplanung/Verwaltung,
versenden/akzeptieren von Einladungen)

Tools/Techniken: C++, XML, SourceForge, SVN, 3D-Grafik, Testen, Parsen,
rtf-Datei-Format, Automatisierung von Tests, Qt 4, MFC, OOP, Visual Studio 2005,
MS Word, MS-Outlook

Eingesetzte Qualifikationen

Qt, Visual C++, XML, Apache Subversion (SVN)

Softwareentwickler
INOAGE Dresden, Dresden
9/2005 – 12/2006 (1 Jahr, 4 Monate)
Konsumgüterindustrie
Tätigkeitszeitraum

9/2005 – 12/2006

Tätigkeitsbeschreibung

Für MADRIX habe ich eine Skriptsprache entwickelt, mit der es möglich ist,
Effekte zu programmieren oder vorhandene zu steuern und deren Ergebnisse zu
manipulieren. Die Syntax der Sprache ist C-ähnlich und ist, eher untypisch für Skriptsprachen
Typsicher zur Übersetzungszeit, wie in C. Diese Entscheidung ist bewusst gefällt worden.

Ich habe hierfür entwickelt:
die Syntax (mit den anderen Projektentwicklern zusammen)
darauf hin dann: den Compiler und den Interpreter.
Der Lexer für den Compiler wurde komplett selbst implementiert.

Während dieser Arbeit habe ich auch verschiedene Skriptsprachen kennen gelernt:
Lua, Python, TCL, Ruby
Später habe ich besonders Python vertieft.

Tools/Techniken: C++, MS VisualStudio 2003/2005, MFC, Compilerbau, Stack-Automat
Parser, Lexer (selbst Entwickelt), OOP, bison, Parser, stl



Begin Projekt VicomView ende 2005 (kurz vor Begin der Diplomarbeit)
Hier erste Gehversuche mit der 3D-Engine Nebula, ich habe bei der Einführung
beraten und den Einstieg in Nebula unterstützt, aufgrund meiner D3D-Kentnisse
und meiner Kentnisse im Umgang mit DLLs.


====================================================================================
Projekt Madrix bei inoage Dresden
Entwickler mit C++
Ich bin mitte 2005 zu diesem Projekt hinzu gekommen
Produkt wird bereits verkauft, (Standardsoftware!)

Es handelt sich hierbei um eine Software zur Steuerung von Lichttechnik (Lichtmatritzen)
für den Veranstaltungs- oder Architekturbereich.
Ich habe verschiedene Komponennten zur Erzeugung von Lichteffekten entwickelt,
unter anderem einen Effekt zur Darstellung von Animationen aus Einzelbildern
(zum Beispiel durch Gif-Bilder, oder mehreren geladenen Einzelbildern).
Weiterhin habe ich einen Effekt entwickelt der Videos
abspielen kann oder Capture-Geräte wie DigiCams.

Ich habe hier CVS zur Code-Verwaltung eingeführt.

Tools/Technologien: MS Visual Studio 2003, heute 2005, CVS, Doxygen, OOP,
Threads, Windows Systemprogrammierung, Wibu-Systems USB-Dongle, stl

Eingesetzte Qualifikationen

Objektorientierte Programmierung (OOP), Python, Visual C++, Apache Subversion (SVN)

Ausbildung

allgemeine Informatik
Diplominformatiker (FH)
2006
Dresden

Weitere Kenntnisse

Programmierung & Betriebssysteme
- Datenbanken (allg.)
- Softwareprogrammierung

IT & Entwicklung
- Dokumentation
- Softwareentwicklung

Python, Ruby, HTML, PHP, Java, C, C++, fließend englisch, Q

Persönliche Daten

Sprache
  • Deutsch (Muttersprache)
  • Englisch (Fließend)
Reisebereitschaft
National
Profilaufrufe
1648
Berufserfahrung
19 Jahre und 2 Monate (seit 02/2005)

Kontaktdaten

Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.

Jetzt Mitglied werden