// Hello, World!
Philipp Schönemann
C/C++ Software Engineer
Spezialisiert auf Qt-Desktop-Anwendungen, industrielle Software und hardwarenahe Entwicklung unter Linux und Windows.
Über mich
Mit über 4 Jahren professioneller Berufserfahrung in der Entwicklung industrieller Anwendungen bringe ich tiefgreifendes Wissen in C/C++ mit. Mein Fokus liegt auf der Entwicklung robuster, performanter Software - von der Hardwareanbindung bis zur Qt-basierten Benutzeroberfläche.
Qualität steht für mich an erster Stelle: Clean Code, TDD, statische Codeanalyse (MISRA) und CI/CD-Pipelines gehören zu meinem täglichen Handwerkszeug. Wenn ich nicht programmiere, widme ich mich dem Reverse Engineering alter Spieleklassiker, der Unreal Engine 5 oder halte mich mit Calisthenics fit.
4+
Jahre Erfahrung
C/C++ & Qt
Kernkompetenz
Tech Stack
/// Sprachen
/// Frameworks & Libraries
/// Tools & Infrastruktur
/// Konzepte
Featured Projects
Private Project
Retro Game Reverse Engineering
Analyse und Rekonstruktion einer kommerziellen Spiele-Software aus den 1990er Jahren zu Lernzwecken (Educational Reverse Engineering). Umfasst die Untersuchung alter Dateiformate, Low-Level-Debugging mittels x86-Assembly und die Neuimplementierung der Kernmechaniken in einer modernen C++ Architektur.
Berufserfahrung
Softwareentwickler
Brunel GmbH
Festanstellung mit Einsatz in anspruchsvollen Kundenprojekten.
Projekteinsatz: Atlas Elektronik GmbH
Rolle: Entwicklungsingenieur
Entwicklung und Optimierung von Komponenten für verteilte Systeme sowie eines internen Frameworks zur Videoverarbeitung mit FFmpeg. Sicherstellung der Softwarequalität durch umfassende Testautomatisierung und statische Analyse.
- Verteilte Systeme & Video-Framework: Implementierung von Softwarekomponenten auf Basis einer Publish-Subscribe-Architektur; Weiterentwicklung eines FFmpeg-basierten Frameworks zur plattformübergreifenden Videoverarbeitung.
- Testautomatisierung: Analyse von Anforderungen und Ableitung von Testspezifikationen; Implementierung automatisierter Tests mit Google Test/Mock (C/C++) sowie JUnit & Squish für UI-basierte Java-Anwendungen.
- Qualitätssicherung & Integration: Technische Beratung bei der Integration von Komponenten; Durchführung von Code-Reviews, statischer Codeanalyse (MISRA, Coverity), Sicherstellung warnungsfreier Kompilierung.
IT-Berater
newport it GmbH & Co. KG
Festanstellung mit Einsatz im IT-Consulting.
Projekteinsatz: bvSys Bildverarbeitungssysteme GmbH
Rolle: C/C++ Softwareentwickler
Entwicklung und Optimierung industrieller Prüfsysteme mit C++ und Qt - von der Low‑Level‑Hardwareanbindung bis zur performanten Benutzeroberfläche.
- Kabeltester mit Hardwareanbindung: Implementierung einer Qt-Anwendung zur automatisierten Prüfung von Kabeln auf Defekte; Kommunikation mit einer I/O-Karte über Low‑Level‑Treiber und Steuerung aller Signalpfade.
- Performanceoptimierung des Live-Datenmodells: Neuentwicklung eines multithreaded Qt-Model (Signals/Slots, Mutexe, Condition Variables), das 1.000+ Datensätze/Sekunde stabil verarbeitet; zuvor instabile Auswertung mit Python-Simulation identifiziert und dauerhaft behoben.
- Featureentwicklung nach TDD & Bildverarbeitung: • SFTP-Export-Feature für ausgewählte Tabelleneinträge (Test First) • Fehlerbehebung und neue Messwerkzeuge (Flächen-, Abstandsberechnung) in einer QGraphicsScene-basierten Bildverarbeitungsanwendung
Studentische Hilfskraft – Softwareentwicklung (Python)
Universität Bremen
Im Team entwickelte und pflegte ich eine Python-Anwendung zur Erfassung von Kryptomarktdaten für die wirtschaftswissenschaftliche Forschung. Mein Fokus: Code-Qualität, Tests und CI/CD.
- Qualitätsoffensive: Refactoring nach PEP 8, pylint-Score auf >80 gesteigert und als Quality Gate in GitLab CI/CD verankert
- Automatisiertes Testen: pytest-Testsuite eingeführt, die Regressionen erkennt und manuelle Prüfschritte ersetzt
- Wissenstransfer: Vollständige Docstring-Dokumentation für nahtlose Übergabe an Nachfolger
Was mich gerade beschäftigt
Seit März 2026 vertiefe ich mein Wissen und arbeite an eigenen technischen Herausforderungen – immer mit dem Ziel, noch bessere Software zu schreiben:
- GPU-Videopipeline (C#): Experimente mit DirectX, NVENC-Hardware-Encoding und echtzeitfähigem UDP-Streaming. Derzeit evaluiere ich verschiedene Architekturansätze, bevor die finale Implementierung beginnt.
- Reverse Engineering (C++): Fortführung meiner Analyse von 90er-Jahre-Software – siehe Blog.
- Modern C++: Vertiefung von C++20/23 (Concepts, Ranges, Coroutines) und praktische Anwendung in eigenen Code-Snippets.
Aus meinem Blog
Letzter Beitrag
Speicherstrukturen aus den 90ern entschlüsseln
Ein kurzer Einblick, wie ich alte Spieldateien ohne Dokumentation mit IDA analysiere und in C++20 rekonstruiere.