Senior Software Engineer und Softwarearchitekt, Embedded Linux
Aktualisiert am 01.08.2023
Profil
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 03.09.2023
Verfügbar zu: 100%
davon vor Ort: 60%
Embedded C/C++
GUI programming
OOAD
Deutsch
Englisch
fließend in Wort und Schrift
Spanisch
min. Grundkenntnisse

Einsatzorte

Hamburg (+200km)
Deutschland, Österreich, Schweiz

Deutschland: bevorzugt Bereich D2, D3

möglich

Projekte

Seit 6.2018 Honeywell Building Solutions, Hamburg

  • Erneuerung der Befeuerungssteuerung für den Flughafen Zürich

  • Implementierung von HMI-Prototypen für die Lotsen- und Wartenarbeitsplätze (Wartung) mit Qt und OSF/Motif in RHEL 7.

  • Kundenspezifische Anpassungen des Tower-HMI (Lotsenarbeitsplätze) in C++ mit dem Qt Framework. Implementierung Kundenspezifischer Bedienelemente mit Qt und CSS.

  • Kundenspezifische Anpassungen des Warten-HMI (Wartung) in C++ mit dem Qt Framework. Implementierung Kundenspezifischer Bedienelemente mit Qt und CSS. Anpassung von Legacy-Tools in C++ mit OSF/Motif GUI.

  • Generierung der Datenstrukturen zur Flugfeld-Grafiken und technischer "Blockschaltbilder" in OpenGL mit Perl, XML.

  • Umfangreiche Anpassungen der Backend-Anbindung mit C++, CORBA, Socket-Kommunikation in XML mit Nutzung der Qt Bibliotheken.

  • Umfangreiche Anpassungen und Neuimplementierungen von Deployment- und Automatisierungsskripten mit Bash, Awk und Perl.

  • Behebung von Fehlern, Definition und Planung von QA-Maßnahmen.

  • Durchführung der QA-Maßnahmen, Code-Review, Auffinden kritischer Patterns, statische Codeanalyse, Behebung kritischer Probleme.

  • Einrichtung von virtuellen Maschinen zur Softwareentwicklung mit Centos Linux, Einrichtung eines Build-Hosts zur Softwareentwicklung mit Centos7.

  • Zum Einsatz kamen GCC8, Qt 5, MS Visual Studio Code, MS WSL in Windows 10 und 11 mit Centos, Qt-Creator, Perl, GDB, GNU-Make, RPM, Git, Jira, VirtualBox, CentOS 7+8, RHEL 7+8, Splint und Cppcheck.

  • Agiler Softwareentwicklungsprozess.


03.2017 - 8.2021 Kühne und Nagel, Hamburg

  • Software-Qualitätssicherung einer proprietären B2B Lösung aus den 1990er und 2000er Jahren in C und C++.

  • Evaluierung der Wartbarkeit des Legacy-Codes, Portierung nach GCC 4.8 unter AIX7 mit

  • Behebung von Fehlern, Definition und Planung von QA-Maßnahmen zur Vorbereitung eines internen Release im August 2017.

  • Durchführung der QA-Maßnahmen, Code-Review, Auffinden kritischer Patterns, statische Codeanalyse, Behebung kritischer Probleme.

  • Anpassungen und Erweiterungen des Legacy-Buildsystems für das Deployment mit Ansible, Erstellung von RPM-Installationspaketen für die Plattformen AIX7 und Linux.

  • Einrichtung einer virtuellen Machine zur Softwareentwicklung mit Linux, Einrichtung eines Buildhosts zur Softwareentwicklung mit AIX7.

  • Verbesserung der Stabilität und der Zuverlässigkeit des Legacy-Codes. Implementierung Kundenspezifischer Änderungen und Erweiterungen.

  • Zum Einsatz kamen GCC, GDB, Eclipse CDT, GNU-Autotools, GNU-Make, RPM, Git, Bitbucket, Jira, VirtualBox, CentOS 7, Splint und Cppcheck.

  • Agiler Softwareentwicklungsprozess.


01.2016- 3.2017 Dräger Safety, Lübeck

  • Applikations- und Systementwicklung für ein Embedded-Linux System. Das Produkt ist eine Test- und Justierstation für Tragbare digitale Gasmessgeräte.

  • Umfangreiches Refactoring und Redesign von Legacy-Code zur Verbesserung der Performance und Verfügbarkeit des Systems.

  • Portierung von Openembedded nach Yocto.

  • Funktionserweiterung zur Unterstützung neuer Gasmessgeräte.

  • Zum Einsatz kamen Eclipse, GCC for ARM Cross-Compiler, CMake, Git, Jenkins, Jira, Bitbucket, Mantis BT, Enterprise Architect und DOORS.

  • Agiler Softwareentwicklungsprozess.


03.2014 - 12.2015 Dräger Safety, Lübeck

  • Entwicklung der Firmware für ein mobiles, digitales Gasmessgerät mit mehreren Gassensoren zur Messung unterschiedlicher Gase.

  • Als Betriebssystem wird uC/OS eingesetzt.

  • Design und Implementierung der Entwicklungsumgebung, Auswahl der Tools, Aufbau der Build-Umgebung, Makefiles, Skripte.

  • Design und Implementierung einer Betriebssystem-Abstraktion zur Systemsteuerung in Tasks, Intertask-Kommunikation und Synchronisierungsmechanismen.

  • Design und teilweise Implementierung der Sensor-Abstraktion und der Messsoftware.

  • Integration eines Embedded-Lua Interpreters.

  • Design und Implemtierung von Unit-, Modul- und SW/SW Integrationstests mit dem CppUTest-Framework.

  • Zum Einsatz kommen IAR ARM Compiler und Entwicklungstools, Gmake, Mercurial, Eclipse, Jenkins, Jira, Enterprise Architect und DOORS.

  • Agiler Softwareentwicklungsprozess, Zusammenarbeit mit externen Entwicklern in Litauen.


04.2012- 2.2014 Dräger Safety, Lübeck

  • Applikations- und Systementwicklung für ein Embedded-Linux System. Das Produkt ist eine Test- und Justierstation für Tragbare digitale Gasmessgeräte. Es handelt sich um ein modulares System, das aus bis zu elf vernetzten Embedded-Linux Systemen besteht.

  • Design mit UML und Implementierung in C++ unter Benutzung der Linux API und der STL zur Steuerung komplexer Prüf- und Justierabläufe. Ansteuerung der Hardware, Konfiguration mit XML, Design und Implementierung der Systemupdates, Linux-Konfiguration und Buildprozess basierend auf Open Embedded.

  • Zum Einsatz kamen Eclipse, GCC for ARM Cross-Compiler, Gmake, Mercurial, Jenkins, Mantis BT, Enterprise Architect und DOORS.

  • Agiler Softwareentwicklungsprozess.


10.2011 - 3.2012 Philips Medical Systems, Hamburg

  • Configuration Manager in einem Projekt zur Entwicklungs eines neuen Generators für Röntgensysteme.

  • Change Control und Change Management für Software, Hardware und Dokumentation im Projekt. Erstellung von Firmware Releases für die Verifikation, Buildautomatisierung und Dokumentation.

  • Durchführung von Baseline Audits und Archivierung.

  • Zum Einsatz kamen Rational Requisite Pro, ClearQuest und ClearCase, sowie Rational Software Architect, Rose Real Time TI Code Composer Studio und Eclipse.

  • Als Embedded-Betriebssystem wurde VxWorks 6.6 eingesetzt.


08.2007 - 9.2011 Dräger Medical, Lübeck

  • Graphical User Interface Design und Implementierung für die Bedieneinheit intensivmedizinischer Beatmungsgeräte. Entwicklung von Softwarekomponenten zur graphischen Darstellung physiologischer Parameter in der Intensivmedizin.

  • Pflege und Erweiterung eines Frameworks für die Implementierung von Bedienkonsolen für Beatmungsgeräte und medizinische Monitore in der Intensivmedizin. Diese User Interfaces basieren auf Active X Softwarekomponenten unter Microsoft Windows XP Embedded.

  • In dem Projekt kommen Microsoft Visual Studio und Visual C++ zur Entwicklung der Software zum Einsatz. Für die Konfiguration der Komponenten wurde ein eigenes Datenmodell mit XML realisiert.

  • Ein Teil der Tätigkeit bestand in Windows System- und Treiberprogrammierung.

  • Zum Requirements Management kam Telelogic Doors zum Einsatz. Zum Change Management Clearquest und zum Configuration Management Clearcase im UCM Prozess. Außerdem Rational Rose Cpp sowie Rhapsody zum Design und der Dokumentation in UML. Die Kodierung erfolgte in C++ und XML.

  • Neue Features wurden in agilem Prozess mit Scrum realisiert.

  • Die Arbeit am GUI- und Infrastrukturframework für die intensivmedizinischen Geräte fand in einem internationalen Team (50% Lübeck, 50% USA) statt.


08.2006 - 7.2007 NXP, Hamburg

  • Firmwareentwicklung für digitale TV-Karten und USB Adapter für die digitale ISDB TV Norm (Japan/Brasilien).

  • Pilotprojekt MDD/E mit Telelogic Rhapsody/C++ - Design/Entwicklung von Softwarekomponenten in der Firmwareentwicklung.

  • Erstellung einer Firmwarekomponente zur Dekodierung von Video

  • Transport Streams der ISDB-T Norm. C/C++ mit Greenhills Integrity und Greenhills Multi/Mips Entwicklungsumgebung.

  • Erstellung einer Firmwarekomponente zur Kommunikation mit Smart

  • Cards nach ISO 7816. C/C++ mit Greenhills Integrity und Greenhills

  • Multi/Mips Entwicklungsumgebung.

  • Dokumentation der Firmware-Architektur und Entwicklungsumgebung.

  • Anforderungs- und Configuration-Management mit Telelogic Doors

  • Telelogic Change und Telelogic Synergy.


07.2005 - 7.2006 Philips Medical Systems, Hamburg

  • Erweiterung und Redesign der grafischen Benutzerschnittstelle eines digitalen Radiografiearbeitsplatzes.

  • Planung und Implementierung erweiterter, halbautomatisch unterstützter Aufnahmetechniken für Röntgenuntersuchungen mit mehreren Einzelbildern.

  • Planung und Implementation eines Sicherheitskonzepts um die Patientendaten und das System vor unbefugtem Zugriff zu schützen.

  • Erfüllung erhöhter Sicherheitsanforderungen durch den Einsatz von Personen- und Systemauthentifizierung, Anwendung digitaler Zertifikate, Verschlüsselung, TLS und Implementation eines Audit-Trail Logging. Planung und Analyse der Anforderungen. Koordination der Entwickler.

  • Optimierung des digitalen Workflow durch die Verbindung verschiedener Tools und Prozesse in der Gesamtapplikation. Entwurf der Daten- und Signalflüsse. Implementation der Erweiterungen der Benutzerschnittstelle im Bereich Patientenverwaltung und Untersuchungssteuerung mit C++/Qt, OSF Motif, TCL/TK.

  • Zum Einsatz kommen C++/Qt, OSF Motif und ToolTalk unter SUN Solaris 8 und 10. Außerdem wird Ingres II als lokale SQL Datenbank angebunden. Dokumentation und Entwurf mit Rational Rose und UML. Configuration Management mit Rational ClearCase und CVS.


01.2005 - 06.2005 Philips Medical Systems, Hamburg

  • Anforderungsanalyse, Dokumentation und Anforderungsmanagement für eine Plattform- und Systemübergreifend einzusetzende Softwarekomponente zur Erstellung und Belichtung diagnostischer Röntgenfilme aus digitalen Daten.

  • Anforderungsanalyse und Design der grafischen Benutzerschnittstelle.

  • Analyse und Design der Schnittstellen zu anderen Komponenten.

  • Dokumentation: UML und MS Office, Rational CASE-Tools.


07.2004 - 12.2004 Philips Medical Systems, Hamburg

  • Leitung der Systemverifikation für ein digitales Röntgensystem.

  • Planung und Durchführung der Tests.

  • Organisation der Testsysteme, Räume und Testmannschaft.

  • Aufbau und Wartung der Testdatenbank, Organisation und

  • Berichterstattung.

  • MS Office und Access, Rational ClearQuest.


01.2004 - 06.2004 Philips Medical Systems, Hamburg

  • Entwurf und Spezifikation einer XML basierten Lösung zur Internationalisierung eines heterogenen Softwaresystems. Dies umfasste die Sammlung zu übersetzender Texte, deren Übersetzung und die Verteilung auf die verschiedenen Zielformate wie X11/Motif, Qt, TCL/TK, Java. Die Anforderung war es, alle zu übersetzenden Texte zusammenzuführen und zur Bearbeitung professioneller Übersetzer aufzubereiten. Dazu wurde eine eigene Übersetzungslösung entworfen und Implementiert. Dieses Anwendungsprogramm musste für "Nicht-Entwickler" leicht erlernbar und benutzbar sein und unter anderem die Kontrolle der Vollständigkeit der Übersetzung liefern und sicherstellen, dass die Texte in jeder Sprache in die entspechenden GUI-Elemente passen.

  • Design der Benutzeroberfläche des Übersetzungsools. Analyse des Softwarebuild-Prozesses und Entwurf geeigneter Schritte zur vollautomatischen Erzeugung spezifischer Datensätze für die verschiedenen eingesetzten GUI-Technologien: Qt, Motif, TCL/TK, Swing.

  • Entwurf und Implementation der Datentransformationen der Texte aus den zentralen XML Dateien in die Zielformate mit XSLT.

  • Entwurf und Implementation der Integration in den Software- Buildprozess mit Skriptsprachen. Solaris, X11, Motif, Qt, Swing, TCL/TK, XML, XSLT, Shell, AWK, Perl.


11.2002 - 12.2003 Philips Medical Systems, Hamburg

  • Entwurf einer Softwarekomponente zur Erzeugung medizinischer radiologischer Filme ("Röntgenfilme") aus digitalen Bilddaten.

  • Teilprojektleitung bei der Implementation mit 4 Entwicklern.

  • Implementation in Java/Swing, grafisches Layout und Komposition,

  • Beschriftung und grafische Annotation.

  • Interaktives Gestalten des Filminhalts mit der Maus.

  • Integration einer Fremdkomponente zur Ansteuerung der

  • Laserbelichter, Datenkonversion in XML mit XSLT-Transformationen.

  • Konversion und Aufbereitung der Bilddaten.Workflow-Integration, Anbindung über IPC unter Solaris, Datenbankanbindung mit JDBC. Solaris, X11, Java/Swing, XML, XSLT, Eclipse, ANT, Ingres, SQL, JDBC, C++.


06.2002 - 07.2004 Philips Medical Systems, Hamburg

  • Software Architekt für ein Produkt der med. Radiographie.

  • Ausarbeitung des Designs neuer Komponenten und Anleitung der Entwickler. Review der Detailed Designs der Entwickler.

  • Dokumentation: Rational Rose, UML.

  • Eingesetzte Technologien: C/C++, QT, Java/Swing, XML, XSLT, elationale Datenbank.


01.2002 - 10.2002 Philips Medical Systems, Hamburg

  • Entwicklung und Implementation einer grafischen

  • Benutzerschnittstelle zur Bildverwaltung und Bildanalyse digitaler Röntgenbilder.

  • Es sollte ein kompletter Neuentwurf und die Neuimplementierung eines "Image-Viewers" mit C++ und Qt durchgeführt werden.

  • Entwurf- und Implementation von Klassenbibliotheken zur

  • Modellierung der Patienten- und Bilddaten.

  • Design und Implementation einer grafischen Benutzerschnittstelle zur Verwaltung der Aufnahmen.C++/Qt, SQL, Ingres, ESQLC, Solaris, Sniff++, SUN Workshop, GCC, ToolTalk, ClearCase, DDTS, Rational Rose.


02.2001 - 12.2001 Philips Medical Systems, Hamburg

  • Mitarbeit in Konzeption, Entwicklung und Implementation einer Softwareinfrastruktur für komponentenorientierte Softwareentwicklung.

  • Konzeption und Entwurf eines generischen Komponentenmodells.

  • Definition und Implementation von Infrastrukturpaketen für Komponenten wie Event-Distribution, Startup/Shutdown, Konfiguration, Logging, Kommunikation, Access Right, User Roles, etc.

  • Modellierung mit Rose und UML. Anwendung der Design Patterns nach Gamma, Helm, Johnson, Vlissides.

  • Dokumentation.Java, Jini, RMI, XML, Jbuilder, Eclipse, Rose, UML, Sniff++, Rational ClearCase, MS Office.


03.2000 - 01.2001 Philips Medical Systems, Hamburg

  • Entwicklung und Implementation einer grafischen Benutzerschnittstelle zur Patientenverwaltung, Untersuchungskontrolle und Aufnahmeverifikation für ein digitales Röntgensystem.Implementation der Patientenverwaltung mit Anbindung an eine Ingres SQL Datenbank.Entwurf- und Implementation des Unteruchungssteuerung mit umfangreicher Interprozesskommunikation zur Verbindung mit dem bildgebenden System.

  • Design und Implementation einer grafischen Benutzerschnittstelle zur Verifikation der Aufnahmen. C/Motif, TCL/TK, SQL, Ingres, ESQLC, Solaris, SUN Workshop, GCC, ToolTalk, CAN, ClearCase.

Aus- und Weiterbildung

Studium der Physik an der Universität Bremen
Abschluß als Diplom Physiker 1990

90-92 Selbständig
92-98 Angestellter der Universität Bremen


seit 98

freier Softwareentwickler

Position

Softwarearchitekt, technische Teilprojektleitung, Testleitung, Configuration Management.

Kompetenzen

Top-Skills

Embedded C/C++ GUI programming OOAD

Produkte / Standards / Erfahrungen / Methoden

Medizinische Kommunikationsstandards

  • DICOM
  • IHE
  • HL7

 

Sicherheit/Datenkommunikation

  • SSL
  • TLS
  • digitale Zertifikate, Authentifizierung

 

Entwurf / Dokumentation

  • Rational Rose (J/CPP)
  • UML
  • Entwurfsmuster
  • Abstraktion / Schichtmodelle

Programmierung grafischer Benutzerschnittstellen

  • MS-Windows (95/NT4) (Win32-API, MFC, sowie VB)
  • OSF-Motif und Open Windows unter Unix
  • QT unter Linux
  • Klassenbibliotheken: wXwindows, V-Toolkit
  • Java AWT/Swing

Anwendungsentwicklung / Test

  • Design grafischer Benutzerschnittstellen
  • Datenbankprogrammierung in SQL, PL/SQL
  • Datenmodellierung mit XML
  • Datentransformation mit XSLT
  • Unit-Tests, JUnit, CPPUnit

Programmierumgebungen

  • Eclipse
  • MS Visual Studio 5,6, .NET (C++, VB, C#)
  • ORACLE Developer 2000 (Forms/Reports)
  • Sun C/C++ (Workshop)
  • HP C/C++/Fortran
  • GCC
  • Sniff++
  • Borland JBuilder
  • IntelliJ IDEA
  • XML Spy

Systemprogrammierung

  • Shellprogrammierung unter Unix, awk, sed, grep, regexp; Perl, Phyton
  • Windows NT Dienste

Spezielle Algorithmen

  • Bildverarbeitung (Filter, Segmentierung, morphologische Analyse)
  • Visualisierungstechniken
  • Zeitreihenanalyse
  • Signalverarbeitung

Betriebssysteme

Echtzeitbetriebssysteme
uC/OS, Linux, Integrity, VxWorks, QNX, InTime
HPUX
9.x, 10.x
Mac OS
7.x, 8.x, 9.x, X
MS-DOS
alle Versionen
Novell
3.x, 4.x
OSF/Motif
1.x, 2.x
RTOS (Real Time OS)
uC/OS, Linux, Integrity, VxWorks, QNX, InTime
SUN OS, Solaris
Solaris 2.x, 8, 9, 10, langjährige Erfahrung
Unix
Linux, Solaris, HP/UX, langjährige Erfahrung
VMS
Grundkenntnisse
Windows
alle Versionen, langjährige Erfahrung

Programmiersprachen

Assembler
ARM, 8086, 68k
Basic
VB 3.x, 5.x, langjährige Erfahrung
C
Unix (Gcc, Sun, HP, Linux), IAR, MS, Borland, langjährige Erfahrung
C++
Unix (Gcc, Sun, HP, Linux), IAR, MSVC m. MFC, Borland m. OWL, langjährige Erfahrung
ESQL/C
Ingres, langjährige Erfahrung
Fortran
Sehr gute Kenntnisse
Imake, GNU-Make, Make-Maker etc...
Sehr gute Kenntnisse
Java
langjährige Erfahrung
JavaScript
langjährige Erfahrung
Lua
Sehr gute Kenntnisse
Perl
PL/SQL
ORACLE 7.x, 8, +, 9, 10
Python
Sehr gute Kenntnisse
Qt
Sehr gute Kenntnisse (+KDE)
Shell
Sehr gute Kenntnisse
Tcl/Tk
Sehr gute Kenntnisse
Xt, Motif
Sehr gute Kenntnisse

Datenbanken

DAO
Sehr gute Kenntnisse
Ingres
Sehr gute Kenntnisse
JDBC
Sehr gute Kenntnisse
ODBC
Sehr gute Kenntnisse
Oracle
PL/SQL, sehr gute Kenntnisse 7,8,9,10
Postgres
Sehr gute Kenntnisse
SQL
Sehr gute Kenntnisse
SQLite
Sehr gute Kenntnisse

Datenkommunikation

Bus
IEEE488, CAN
EDIFACT
XML-EDI
Novell
Netware 3.x, 4.x
Proprietäre Protokolle
DICOM
RPC
XML-RPC
Windows Netzwerk
Windows NT Server
SSL, TLS, digitale Zertifikate, Authentifizierung

Hardware

Bus
IEE488, CAN
Echtzeitsysteme
ARM7, Cörtex M4, Mips
embedded Systeme
ARM7, Cörtex M4, Mips
HP
9000/7xx, Sehr gute Kenntnisse
Motorola
68xxx Assemblerprogrammierung, sehr gute Kenntnisse
PC
Sehr gute Kenntnisse
Philips
Experte in Medizintechnikprodukten
SUN
SPARCStation, UltraSPARC, sehr gute Kenntnisse
VAX
Grundkenntnisse

Branchen

Sicherheitstechnik
Medizintechnik
Medizininformatik
Logistik
Dienstleistungen
Software
Handel, Banken, Versicherungen
Elektrotechnik
Geologie, Geophysik

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.