Simon Heß teilweise verfügbar

Simon Heß

Software Entwickler: C++ / C / Linux / Embedded

teilweise verfügbar
Profilbild von Simon Hess Software Entwickler: C++ / C / Linux / Embedded aus Muenchen
  • 81669 München Freelancer in
  • Abschluss: Diplom-Informatiker (FH)
  • Stunden-/Tagessatz: nicht angegeben
    Nach Vereinbarung
  • Sprachkenntnisse: deutsch (Muttersprache) | englisch (gut)
  • Letztes Update: 02.08.2019
SCHLAGWORTE
PROFILBILD
Profilbild von Simon Hess Software Entwickler: C++ / C / Linux / Embedded aus Muenchen
SKILLS
Programmiersprachen
C++, C, Ruby, Java, Mathematica

Entwicklungstools
Eclipse, Visual Studio, Rhapsody, EB GUIDE, GNU Tools, ELinOS

Branchen
Automotive, Medizintechnik, Telekommunikation, Fertigung, Halbleiter, Forschung

Zusammenfassung aller relevanten bisher verwendeten Technologien
C++, C++11, C, Ruby, STL, UML, Visual Studio, Eclipse CDT, Green Hills Multi, Integrity, SVN, Ant, Rhapsody, EB GUIDE, GNU Tools, ELinOS, Linux, Java, Mathematica, Linux Kernel, Windows, Win32, MFC, MOST, HG Mercurial, SVN, boost, QNX, GDB, DDD, XML, XSLT, GPS, Bash, GNU-Toolchain, ARM/Linux, PXA270, DirectFB, pthreads, lex&yacc, Theora/Vorbis, SDL, U-Boot, Jira, MySQL, git, MKS, Design Patterns, GSL, gnuplot, TCP/IP, SPI, I²C, RS232, TRIZ, Review, CPPUnit, BullsEye, Regressionstests, Scrum, DirectX (DirectDraw und DirectShow), XML/DOM, JScript, Internet Information Server (IIS), VPN, sysprep, Debian Linux, Ubuntu, Kubuntu, Windows XP, VirtualBox, C167, Tasking C-Compiler, gcc, Hitex Emulator + Debugger, MKS, J2ME, MIDP, KVM, Palm OS, Symbian / EPOC, GNU Tools, Codewarrior, ARM Developer Suite, ARM C-Compiler, CVS, VxWorks, Neuronale Netze, KUKA Roboter, Sensorik, 8051, Raspberry Pi.
REFERENZEN

Projekte als Freiberufler:

Projekt: Portierung der Software einer Maschine zur Digitalisierung von analogem Filmmaterial auf ein aktuelles Linux System
Zeitraum: 04/2015 – 08/2015
Branche: Kinotechnik

• Anpassungen im Code für die aktuelle Version des gcc
• Anpassung des Codes an neue Versionen verschiedenster Bibliotheken
• Anpassungen in den älteren ACE und Qt Bibliotheken für die aktuelle Version des gcc
• Debugging und Bugfixing innerhalb neuer Features der Software
• Anpassungen eines Treibers für eine PCIe Karte an neue Kernelschnittstellen
• Installation und Aufsetzen eines aktuellen Linux Systems
• Durchführung von Entwicklertests in der Fertigung des Kunden

Verwendete Technologien und Werkzeuge:
C++, C, Qt, make, gcc, gdb, GNU Tools, MySQL, Subversion, CORBA, Linux Treiber, boost, VirtualBox
 
Projekt: Projekteinsatz in der HMI-Entwicklung: Mitarbeit an der Schnittstelle für Medieninhalte (TV / Radio / Musiksammlung / etc.) zwischen der Head Unit und einem Android Tablet
Zeitraum: 03/2014 – 03/2015
Branche: Automotive
Teamgröße: 50

• Schnittstellenfunktion zwischen zwei Entwicklungsabteilungen
• Definition von Schnittstellenformaten
• Erstellung von C++ Adaptern für den Zugriff auf HMI-interne Mediendaten über RPC / WLAN.
• Implementierung von Filtern, um den Datenverkehr zwischen Tablet und Head Unit zu reduzieren.
• Durchführung von Entwicklertests im Tunerlabor und im Fahrzeug
• Simulation von externen Endgeräten mit Java
• Bearbeitung von Fehlertickets und Analyse von Traces aus dem Fahrzeug

Verwendete Technologien und Werkzeuge:
C++, Java, Eclipse, Visual Studio, MOST, Mercurial, boost, QNX, Etch
 
Projekt: Erstellung einer Logging Anwendung für den Raspberry Pi
Zeitraum: 02/2014

Entwicklung eines Programms für den Raspberry Pi zum Auslesen und Aufzeichnen der GPIO Zustände in C.

Verwendete Technologien und Werkzeuge:
C, gcc, gdb, vi, Linux, Multimeter
 
Projekt: Softwareentwicklung für eine Videostreaming Anwendung unter Linux
Zeitraum: 12/2013 - 02/2014
Branche: Elektronik
Teamgröße: 4

Projekteinsatz bei einem Entwicklungsdienstleister für Embedded Systems
• Entwicklung der Software für ein eingebettetes Linux System für den Empfang und Speicherung von H.264 Videostreams von bis zu 5 Kameras.
• Design und Implementierung der RTSP-Clients zum Empfang und der Speicherung der Videostreams mit liblivemedia.
• Verpacken der Streams in Matroska Container (mkv)
• Aufsetzen der Entwicklungsumgebung für ein Zielsystem mit Atom D2500 Prozessor
• Erstellung eines Linux Systems und Anpassung an die Zielhardware mit Yocto

Verwendete Technologien und Werkzeuge:
C++, Eclipse, Linux, RTSP, Matroska, Yocto, GNU, gdb, make, H.264, SVN, Boost, STL, Atom,
OOA/OOD
 
Projekt: Softwareentwicklung für ein Beatmungsgerät
Zeitraum: 02/2013 - 10/2013
Branche: Medizintechnik
Teamgröße: 10

Design und Implementierung eines EDF Generators. Performanceanalysen. Erstellung von Skripten zur Konvertierung von EDF Dateien in andere Formate. Implementierung von Features und Bugfixing, z.B. für das Alarm System, USB Stack, Flash Prozess. Implementierung von Unit Tests.

Verwendete Technologien und Werkzeuge:
C++, Ruby, CPPUnit, Eclipse CDT, Visual Studio, Green Hills Multi, Integrity, SVN, Ant, XML, BullsEye.
 
Projekt: HMI Entwicklung Head Unit
Zeitraum: 12/2011 - 12/2012
Branche: Automotive
Teamgröße: 50

Weiterentwicklung der integrierten Bedienungsanleitung und Portierungsarbeiten auf ein neues 3D-Framework in den Bereichen Startup, Content Visualisierung, Ansteuerung verschiedener Speller, Rear Seat Entertainment, Controls, MOST-Simulation, Wiedergabe von Audio/Video. Analyse der VRAM-Auslastung. Bearbeitung von Fehlertickets und Analyse von Traces aus dem Fahrzeug.

Verwendete Technologien und Werkzeuge:
C++, Visual Studio/MFC, MOST, HG Mercurial, boost, QNX, GDB, GNU-Tools, XML.
 
Festanstellung von 06/2002 bis 06/2011
Branche: Telekommunikation
Tätigkeit: Software-Entwickler in der Entwicklung von Spleißgeräten.
Spleißgeräte sind kleine Maschinen zum Verschweißen von Glasfasern und werden beim Verlegen von Glasfaserkabeln benötigt. Die Maschinen arbeiten mit Stereo-Optik und teilweise mit Piezo-Aktuatoren, um eine mikrometergenaue Positionierung der Fasern in 3 Dimensionen realisieren zu können.

Aufgaben: Analyse, Design und Implementierung von Software für mehrere Spleißgerätegenerationen:
1. Microcontroller(C167) & FPGA-basierte Maschinen:
* Entwicklung von bildverarbeitenden Verfahren zur Erkennung von Brüchen und Verschmutzungen der Glasfasern implementiert in C.

2. Maschinen mit integriertem embedded PC (WinXP):
* Design und Implementierung der HMI als COM Server unter Windows XP mit DirectDraw und DirectShow.
* Implementierung der Ablaufsteuerung unter Windows basierend auf einer hierarchischen Statemachine definiert in XML.

3. Maschinen mit embedded Linux auf ARM-Prozessoren:
* Erstellung der Gesamtarchitektur und einer domänenspezifischen Skriptsprache zur Ablaufsteuerung und Datenhaltung.
* Implementierungen spezieller Ablaufsteuerungen für die Faserpositionierung, Schrumpfofensteuerung, Faserbruchprüfung, Schweißprozess und der HMI und der Benutzerinteraktion.
* Korrekturen im Linux Kernel für die gerätespezifische Elektronik
 
Projekte in Festanstellung im Detail

Projekt: Erweiterte Funktionen für Spleißgeräte für den US-Markt
Zeitraum: 10/2010 - 06/2011

* Implementierung einer automatischen Schweißzeitregelung anhand der Faserversatzänderung während des Schweißens
* Implementierung von Energiesparfunktionen
* Integration eines Produktkataloges in die Spleißgerätesoftware
* Implementierung einer automatischen Schutzglasüberwachung anhand der Wertehistorie der nötigen LED-Helligkeiten
* Funktion zur Trenngeräteüberwachung
* Erstellung einer Spezifikation der graphischen Benutzeroberfläche für ein Spleißgerät eines Fremd-herstellers und Simulation der GUI auf dem PC mit SDL
 
Projekt: Restrukturierung der Servicestruktur
Arbeiten zur Gewährleistung der Servicesicherheit
Zeitraum: 01/2010 - 09/2010

* Intensivtest der Schweißgeneratorsoftware (ADuC 7024) und Simulation der Software auf dem PC
* Intensivtests aller aktuellen Softwareversionen
* Entwicklung eines bildverarbeitenden Verfahrens zur Exzentrizitätsbestimmung der Kerne von DRAKA und OFS Fasern mittels Dotierungsleuchten
 
Projekt: OptiSplice Quad
Spleißgerät zum gleichzeitigen Verschweißen von bis zu vier Einzelfasern.
Zeitraum: 05/2009 - 01/2010

* Entwicklung eines bildverarbeitenden Verfahrens zur Temperaturbestimmung des Lichtbogens
* Optimierung eines Videoplayers für Theora/Vorbis zur Darstellung von Hilfevideos mit einem PXA270 bei 312 MHz
 
Projekt: Projekt: OptiSplice LID & OptiSplice CDS
Entwicklung zweier hochpreisiger Spleißgeräte mit Kernerkennung und 3-Achsen Positionierung.
Zeitraum: 11/2007 - 04/2009

* Erweiterung der vorhandenen FTTP-Software an die wesentlich umfangreichere Funktionalität
* Bugfixes im Linux-Kernel
* Mitentwicklung an der Ansteuerung des GPS Systems
 
Projekt: OptiSplice One und OptiSplice Ribbon
Neuentwicklung zweier Spleißgeräte für Fiber-to-the-Home
Zeitraum: 03/2005 - 10/2007


* Beratung bei der Auswahl der Prozessorarchitektur
* Evaluierung verschiedener UML-Tools mit Codegenerierung und Auswahl von Rhapsody als Entwicklungswerkzeug für das Projekt
* Analyse und Design in UML mit Rhapsody und Implementierung der Gesamtarchitektur des Softwaresystems
* Auswahl geeigneter Bibliotheken und Fonts
* Entwicklung einer eigenen Skriptsprache für Spleißgeräte: Definition des Parsers mit lex & yacc, Interpreter als Statemachine
* Implementierungsarbeiten im gesamten Softwaresystem, darunter Ablaufsteuerung, GUI, Bildverarbeitung, Bugfixes im Kernel, Anbindung von I²C-Geräten wie Motoransteuerung und Schweißgenerator
* Koordination der Arbeit von internen und externen Entwicklern
* Mitentwicklung eines Optikjustageprogramms für die Fertigung mit Visual Studio/MFC
* Aufsetzen und Wartung des Entwicklungsservers (Red Hat)
* Einführung und Administration des Bugtracking-Systems Jira

Verwendete Technologien und Werkzeuge:
Rhapsody, Tresos GUIDE, Visual Studio/MFC, UML, C/C++, Bash, Ruby, GNU-Toolchain, ARM/Linux, DirectFB, STL, pthreads, lex&yacc, Theora/Vorbis, SDL, U-Boot, Jira, git, MKS, Design Patterns, GSL, gnuplot, TCP/IP, I²C, RS232, TRIZ
 
Projekt: iSeries
Ein mit einem PC und Windows XP ausgestattetes Spleißgerät
Zeitraum: 01/2003 - 02/2005


* Analyse, Design und Implementierung einer skinfähigen, XML-basierten, graphischen Benutzeroberfläche
* Design und Implementierung einer mit XML definierten Statemachine für die Ablaufsteuerung
* Implementierung eines Videoplayers mit DirectShow
* Implementierung eines Videograbbers
* Erstellung der Preinstallationsimages von Windows XP zum Bespielen der Festplatten in der Fertigung
* Mitentwicklung eines Web-basierten Remote Service Systems, um über Internet und Browser das Gerät bedienen zu können
* Entwicklung eines Linux-basierten Recovery Systems, damit der Kunde das Windows-System wieder in den Auslieferungszustand versetzen kann

Verwendete Technologien und Werkzeuge:
Visual Studio/MFC, DirectX (DirectDraw und DirectShow), XML/DOM, XSLT, JScript, Internet Information Server, VPN, sysprep, Debian Linux, Windows XP
 
Projekt: Vision CDS
Spleißgerät mit optischer Kernerkennung
Zeitraum: 06/2002 - 12/2002

* Entwicklung eines Verfahrens zur Bestimmung von Bruchwinkelgrößen und Erkennung von Schmutzpartikeln auf Glasfaserenden
* Implementierung eines Gradientenfilters in C
* Durchführung von Versuchsreihen und Auswertungen der daraus gewonnenen Daten

Verwendete Technologien und Werkzeuge:
Mathematica, C167, Tasking C-Compiler, gcc, Hitex Emulator + Debugger, MKS
 
2000 - 2002 Angestellt als Softwareingenieur für Embedded Systems und Mobile Devices bei der Syntion AG in München

Integration des Dekompressionsclients einer Java-Beschleunigungstechnologie in verschiedene Umgebungen, wie Java-KVM, Palm und Symbian
Technische Unterstützung in den Entwicklungsabteilungen des Kunden

Verwendete Technologien und Werkzeuge:
Java, J2ME, MIDP, KVM, C, Palm OS, Symbian / EPOC, GNU Tools, Codewarrior, ARM Developer Suite, ARM C-Compiler, Visual Studio, CVS
 
Diplomarbeit im Institut für Robotik und Mechatronik des DLR in Oberpfaffenhofen
Thema: Entwicklung neuronaler Netze für die kraftgesteuerte Robotik
Note: Sehr gut.

Verwendete Technologien und Werkzeuge:
C, C++, Sockets, gcc, VxWorks, Mathematica, Emacs, vi, Latex, KUKA Roboter, Kraft-Momenten-Sensor
ZEITLICHE UND RÄUMLICHE VERFÜGBARKEIT
Ab sofort in München und Umgebung / evtl. Augsburg. Andere Standorte mit ausreichendem Remote-Anteil möglich.
KONTAKTANFRAGE VERSENDEN

Ja, ich akzeptiere die AGB

Ja, ich akzeptiere die Datenschutzbestimmungen

Hinweis: der Versand ihrer Kontaktanfrage ist komplett kostenfrei

WEITERE PROFILE IM NETZ