Profilbild von Daniel Schembri Software Entwickler (Embedded Systems und Bedienstandsentwicklung) aus Karlsruhe

Daniel Schembri

verfügbar

Letztes Update: 02.02.2024

Software Entwickler (Embedded Systems und Bedienstandsentwicklung)

Abschluss: Master of Science in Embedded Systems
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (gut)

Skills

Anwendungsentwicklung, Bedienstandstentwicklung mit C++, Qt und Python
Embedded Software Entwicklung in C / C++ (C++ bevorzugt)
Einrichtung der Appliance (Konfiguration der Linux Umgebung auf der die Anwendung läuft)

Agile Entwicklung (Scrum)
Selbständige Entwicklung
Lasten- und Pflichtenheft

Technische Dokumentation mit Latex
Code Dokumentation mit Doxygen
Durchführung von Code Reviews
Halten von Techtalks (Kurze Fachvorträge zur Weiterbildung)

Projekthistorie

11/2022 - bis jetzt
Embedded Softwareentwickler C++ 17 und C
Embedded Branche (Energie, Wasser und Umwelt, 5000-10.000 Mitarbeiter)

- Embedded Softwareentwicklung in C und C++ 17
- Erstellung von Testskripten in Python3
- Erstellen von Apps mit MQTT Anbindung (Microservice Architektur)
- IST Analyse eines Linux Systems
- Beratungen zum Review Prozess, CodingConventions, Dokumentation
- Erweiterung der Libmodbus Bibliohtek um einen CAN Anbindung / CAN Tunnel
- Erstellen einer ausführlichen Dokumentation im Wiki in Markdown
- Konzeptentwurf und technische Dokumentation mit UML
- Unit- und Integrationtests

Technologien:
Windows 11, Xubuntu, Hyper-V-Manager, Powershell, Bash
Netzwerke und Bussysteme: Modbus, Modbus TCP, Modbus RTU, Modbus über CAN, ISO-
TP, socketCAN, sockets, libmodbus, CAN, vCAN, MQTT 5, Mosquitto
Dokumentation: DrawIO, UML, Markdown,
IDE: VIM, VSCode
Coding: C, C++ 17, Python3
Sonstiges: Polarion, GitLab

05/2022 - 08/2022
Weiterbildung, Organisatorisches und Privates
Privat

- Weiterbildung in CMake, Qt, STM32, Embedded Wizard, TouchGFX
- Aufbau eines Portfolios, Webseite und Organisatorisches
- Privat: Umzug in neue Wohnung und Einrichtung

10/2021 - 03/2022
Firmware Entwickler in C
Embedded Branche (Automobil und Fahrzeugbau, 250-500 Mitarbeiter)

Projekt 1: Firmware Entwickler in C (10.2021 – 12.2021)
- Agile Softwareentwicklung einer Firmware nach Scrum in C 11
- Durchführung von Codereviews
- Aufwandsschätzung, Teilnahme an Sprintreviews und dem Daily, Ticketerstellung in Jira
- Erstellen von Unit- und Integrationtests mit dem Fake Function Framework (fff)
- Dokumentation in Doxygen und Confluence
- Einbringung von Erfahrungen aus vorangegangenen Projekten
- Implementierung einer Realtime Clock, um die native Unix Systemzeit und Funktionen zu verwenden
- Implementieurung eines SW Watchdogs zur Überwachung des Bootprozesses und der Applikation
- Bugfixing

Technologien: Linux Ubuntu, C 11, Microsemi Smartfusion 2, VS Code, FreeRTOS, Fake Function
Framework (fff), JSON, CMake, Doxygen, Clang, Clangd, Docker, Python3, Bash,
Git, Confluence, Jira, Bitbucket, Bamboo, Markdown, Scrum

Projekt 2: Firmware Entwickler in C (gleicher Kunde) (01.2022 – 03.2022)
- Softwareentwicklung in C11
- Weiterentwicklung einer prototypischen Firmware zum Anbinden einer 10GBit
Ethernet Schnittstelle an ein embedded Gerät
- Entwurf einer CLI Schnittstelle über UART, um den 10GBit Phy zu konfigurieren und für Registerzugriff
- Implementierung einer Loopback Funktionalität
- Implementierung und Test eines zweiten Ports am embedded Gerät für weitere Funktionalität (Selbsttests)
- Testaufbau zwischen 10Gbit Schnittstelle und PC und Selbsttest
- Bugfixing

Technologien: Linux Ubuntu, C 11, Phy: Microchip VSC8489-2, Microchip Mesa Lib, I2C, UART,
Microsemi Smartfusion 2, VS Code, CMake, Doxygen, Clang, Clangd, Python3,
Bash, Git, Confluence, Bitbucket, Markdown, Wireshark

02/2021 - 06/2021
Privates Projekt
Privat

Godot Gamedesigner

- Entwurf eines 2D-Spiels unter Linux in Godot 3.3.1
- Konzeptentwurf und Entwicklung in Godot

Technologien: Godot 3.3.1, GDScript, Ubuntu, Windows, Git, Github, VIM, Tiled, Bash, Gimp,
Effekseer 1.5

10/2019 - 12/2020
C++/Qt-Softwareentwickler
Fraunhofer IOSB in Ettlingen (Öffentlicher Dienst, 250-500 Mitarbeiter)

- Softwareentwicklung mit C++ 17 und Qt 5.9 unter Kubuntu
- Erweiterung des bestehenden Systems
- Evaluierung neuer Module (MQTT, YAML, JSON)
- Erstellen von Unit- und Komponententests
- Anfertigen von technischen Berichten und Konzeptentwürfen in Latex
- Durchführung von Codereviews in Gerrit
- Quellcodedokumentation mit Doxygen
- Erweiterung der Appliance (VM mit Kubuntu) mit Bibliotheken (YAML, MQTT, JSON, JSON Schema) und Dokumentation im internen Wiki
- Implementierung des MQTT Protokolls im bestehenden System unter Verwendung der Paho-cpp Bibliothek und Konfiguration des Mosquitto MQTT Brokers
- Serialisierung und Deserialisierung von Mess- und Ergebnisdaten in JSON und Validierung mit JSON Schema
- Implementierung eines YAML Parsers zum Auslesen von Datensatzdefinitionen
- Implementierung einer Datenbankanbindung in Postgres SQL

Technologien: C++ 17, Qt 5.9, Qt-Testframework, Qt-Creator, Kubuntu unter VirtualBox, Windows
10, Git, SVN, Gerrit, Mantis Bugtracker, Doxygen, QMake, VIM, JSON,
JSON-Schema Draft v7, YAML, INI, MQTT v3.3.1 und v5, Paho-cpp MQTT Client,
Mosquitto MQTT Broker, Latex, Bash, Serialisierung/Deserialisierung, Postgres
SQL, Visual Paradigm

07/2019 - 09/2019
Privates Projekt
Privat

- Entwurf eines Frameworks für 2D-Spiele unter Linux in C++14 mit SFML
- Konzeptentwurf mit PlantUML und Codedokumentation mit Doxygen
- Evaluierung von vorhandenen Frameworks

Technologien: C++ 14, Ubuntu, Windows, SFML, Git, Github, Doxygen, PlantUML, QMake,
CMake, Qt-Creator, VIM, Tiled, Box2D

03/2019 - 06/2019
Embedded Tester
Techem Energy Services GmbH in Eschborn (Energie, Wasser und Umwelt, 250-500 Mitarbeiter)

- Embedded Software Testing
- Erstellung automatisierter Tests anhand von Requirements
- Erweiterung des vorhandenen Testframeworks in Python 2
- Durchführung manueller Tests
- Erstellung von Fehlereinträgen in HP-Alm

Technologien: Python 2, Pycharm, Excel, HP-Alm, interne Testtools, Picoscope, Oszilloskop

05/2018 - 02/2019
Embedded Softwareentwickler
Techem Energy Services GmbH in Eschborn (Energie, Wasser und Umwelt, 250-500 Mitarbeiter)

- Agile embedded Softwareentwicklung nach Kanban mit C99 unter einem EFR32 Mikrocontroller
- Implementierung eines SPI Bussystems zur Kommunikation zwischen MCUs
- Planung und Dokumentation mit UML
- Entwicklung eines SPI-Simulationsframeworks unter Python 2 für den FTDI-2232H Mikrocontroller
- SW-Design, SW-Implementierung, Einsatz von vorhandenen Software Bibliotheken
- Durchführen von Fehleranalysen und Codereviews
- Konzeptplanung und Mitwirkung an der Interfacespezifikation
- Absprache mit Projektpartnern

Technologien: C99, EFR32, Simplicity Studio 4, FTDI-2232H, HP-Alm, Python 2, CTypes, Python
Testframework, Pycharm, Doxygen, UML, Plantuml, SVN, Batch, Picoscope,Windows

02/2017 - 02/2018
C++/Qt-Softwareentwickler
TSN Systems GmbH in Fulda (Automobil und Fahrzeugbau, 10-50 Mitarbeiter)

- Agile Softwareentwicklung nach Scrum unter Verwendung von C++ 11 und Qt 5.9
- Implementierung diverser Netzwerkprotokolle (TCP/IP, UDP/IP, TSN)
- Planung und Dokumentation mit UML
- Erstellung von Unit- und Integrationtests mit Hilfe des Google Testframeworks
- Konfiguration der Buildumgebung mit QMake und CMake
- Weiterentwicklung einer Weboberfläche für Netzwerktests mit Python
- Durchfühhrung von Codereviews
- Grundlegende konzeptionelle Planung des Projekts von Beginn an in einem Startup
- Codedokumentation mit Doxygen

Technologien:
C++ 11, Qt, Qt Creator, Python 3, QMake, CMake, TCP, UDP, Wireshark,
PCAPNG, Windows 7, Linux Ubuntu, Jira, Confluence, Atlassian, Bitbucket, Google
Test, JSON, SQL, UML, Doxygen, MSys2, SourceTree, Git, CLang, statische
Codeanalyse, PVS-Studio, DLT Format, INI, DLT Viewer, Profiling, Valgrind

06/2016 - 11/2016
Hard- und Softwareentwickler
Patir Engineering in Karlsruhe (Industrie und Maschinenbau, < 10 Mitarbeiter)

Projekt 1 Schaltplanentwurf einer Erweiterungsplatine und Entwurf einer eigenen Eagle-Bibliothek
Technologien: Eagle

Projekt 2 Erweiterung des Bootloaders um Konfigurationsdateien
Technologien: STM32F4, Eclipse, C, CSV-Parser

Projekt 3 Anbindung der Hauptplatine an das lokale Netzwerk
Technologien: LWIP, STM32F4, CubeMX, Eclipse, Windows, FreeRTOS, C, HTTP, HTML, JavaScript

Projekt 4 SPI Kommunikation zwischen zwei MCUs
Technologien: STM32F4, CubeMX, Eclipse, Windows, FreeRTOS, C, HTTP, HTML, JavaScript

11/2015 - 05/2016
Masterand (Master of Science in Embedded Systems)
Pepperl+Fuchs GmbH in Mannheim (Industrie und Maschinenbau, 1000-5000 Mitarbeiter)

Masterthesis Strukturbestimmung von Objekten mittels Ultraschall und neuronalen Netzen (Note: 1,3)

Technologien:
Programmiersprachen und Bibliotheken
: C/C++, Qt 5, Boost, Eigenlib, OpenANN, FANN, Python, Pybrain, Scipy, Numpy
Embedded Systems: ARM-Prozessoren, Phytec Board, IAR-Workbench, STM32F4-Board
Merkmalsextraktion: Singulärwertzerlegung (SVD)
Maschinelle Lernverfahren: Neuronale Netze, Support Vector Machines, One-Class-Classification
Sonstiges: Servomotoransteuerung mittels PWM, Ultraschallsensorik

12/2014 - 11/2015
Freiberuflicher Softwareentwickler
aicas GmbH in Karlsruhe (Automobil und Fahrzeugbau, 50-250 Mitarbeiter)

Projekt 1 Softwareentwicklung und Skripting unter Linux CentOS
Technologien: Linux CentOS, Bash, Eclipse, Make, Mercurial, VIM

Projekt 2 Refactoring und Dokumentation des Target Native Layer der Jamaica VM
Technologien: C, Doxygen, Bash-Skripting, Mercurial, Linux CentOS, JamaicaVM, ReviewBoard

Projekt 3 Anpassen und Testen der Netzwerkfunktionen der JamaicaVM
Technologien: C, Java, Java NIO, Sockets, UDP-IP, JamaicaVM, Reviewboard

Projekt 4 Anpassen der DebugLevel der JamaicaVM
Technologien: C, Reviewboard

Projekt 5 Anpassen der Konfigurationsoberfläche „Jconfigure“ der JamaicaVM bezüglich der Netzwerkunterstützung
Technologien: Tcl Tk, Reviewboard

10/2013 - 10/2015
Technischer Mitarbeiter in Teilzeit 20%
Karlsruher Institut für Technologie (KIT) (Öffentlicher Dienst, 5000-10.000 Mitarbeiter)

Projekt 1 Programm zum Auslesen von Temperaturmesswerten
Technologien: C

Projekt 2 Entwurf einer Platine zur Peripherieanbindung an das vorhandene Embedded System
Technologien: Altium Designer, Digilent Osziloskop

Projekt 3 Entwurf einer Platine zur Anbindung von Sensoren und Stromversorgung
Technologien: Altium Designer, VHDL, C

10/2010 - 09/2013
DHBW Student - Bachelor of Engineering in Informationstechnik
Karlsruher Institut für Technologie (KIT) (Öffentlicher Dienst, 5000-10.000 Mitarbeiter)

Projektarbeit 3.Semester
Entwicklung und Optimierung von Komponenten und Multitasking einer Mess-und
Bilddaten-GUI
Technologien: C++, Qt 4, Qt-Quick (QML), SQL

Projektarbeit 4.Semester
Implementierung von IP-Cores an den AMBA-Bus eines FPGA-Prozessorsystems
zur Realisierung von nebenläufiger Bildverarbeitung
Technologien: VHDL, Leon-CPU + Tools, AMBA 2.0 – AHB

Projektarbeit 5.Semester
Entwickeln und Umsetzen von Algorithmen zur Optimierung von Multi-Master
Zugriffen eines AMBA-Busses
Technologien: VHDL

Bachelorarbeit Thema der Bachelorarbeit: Datenspeicherung unter Echtzeit im Embedded System
einer Bohrlochsonde (Note: 1,3)

Technologien: VHDL, C/C++. eCos, SPI, SDHC-Protokoll (SPIMode), UDP-UMSG (Eigenes
Netzwerkprotokoll basierend auf UDP)

Reisebereitschaft

Verfügbar in den Ländern Deutschland, Österreich, Schweiz und Frankreich

Sonstige Angaben

- Kontaktieren Sie mich gerne auch für ein unverbindliches Kennenlernen, Erfahrungsaustausch und Fachpräsentationen (Stichwort: Usergroup)

exali IT-Haftpflicht-Siegel (Sondertarif für Freelancermap-Mitglieder)

Das original exali IT-Haftpflicht-Siegel bestätigt dem Auftraggeber, dass die betreffende Person oder Firma eine aktuell gültige branchenspezifische Berufs- bzw. Betriebshaftpflichtversicherung abgeschlossen hat. Diese Versicherung wurde zum Sondertarif für Freelancermap-Mitglieder abgeschlossen.

Versicherungsbeginn:
14.11.2022

Versicherungsende:
01.12.2024

Profilbild von Daniel Schembri Software Entwickler (Embedded Systems und Bedienstandsentwicklung) aus Karlsruhe Software Entwickler (Embedded Systems und Bedienstandsentwicklung)
Registrieren