Zum Inhalt

Msc. Ing. Thomas Tacke - Software Engineer

Kurzprofil

me

Leidenschaftlicher Software Engineer / Softwarearchitekt mit einem Master of Science (M.Sc.) in IT-Sicherheit von der Ruhr-Universität Bochum. Mit einem starken Fundament in angewandter Informatik und nachweislicher Erfahrung in der Konzeption und Entwicklung skalierbarer Anwendungen unter Einsatz von Node.js, C#, Angular, Python und einer Microservices-Architektur.

Meine Begeisterung für neue Technologien und Sicherheitsthemen treibt mich dazu, kontinuierlich innovative Lösungen zu erforschen und umzusetzen. Neben meiner beruflichen Erfahrung betreue ich aktiv private Projekte, bei denen ich Docker und Versionskontrollsysteme nutze, um meine Fähigkeiten in der Systemadministration und im Selbsthosting von Anwendungen weiterzuentwickeln.

Ich freue mich darauf, sowohl bestehende als auch neue Anwendungen als Fullstack Engineer/Architekt weiterzuentwickeln und mein umfassendes Verständnis von Sicherheitspraktiken in den Softwareentwicklungsprozess einzubringen.

Berufserfahrung

Software Engineer / Softwarearchitekt@Intel

2020 - Heute

Migration der Versionskontroll- und CI/CD-Systeme von einer lokalen GitLab-Lösung zu einer cloud-basierten GitHub-VCS-Lösung mit GitHub Actions und Jenkins CI/CD-Pipelines. Dies verbesserte die Skalierbarkeit und vereinfachte die Wartung. Entwicklung von benutzerdefinierten GitHub Actions, die in allen Repositories genutzt wurden, um Workflows zu standardisieren und wiederkehrende Aufgaben zu automatisieren. Dadurch wurde die Effizienz in CI/CD-Prozessen erheblich gesteigert. Administration und Wartung von Active Directory-Rollen und -Gruppen für die Abteilung, um sicherzustellen, dass die Zugriffsrechte und Sicherheitsrichtlinien korrekt umgesetzt werden. Erstellung umfassender Dokumentationen für interne Tools und Systeme mithilfe von DocFX und mkdocs-material, um den Wissensaustausch und die Einarbeitung neuer Teammitglieder zu verbessern. Entwurf eines Publish-Subscribe-Kommunikationssystems unter Verwendung von Redis als Broker, um eine effiziente bidirektionale Kommunikation zwischen Diensten zu ermöglichen. Die Implementierung der Services in C# gewährleistete Skalierbarkeit und Echtzeit-Interaktion zwischen den Komponenten. Design und Implementierung einer Datenbanklösung für maschinelles Lernen mit Entity Framework, zur Erfassung von Testdaten und zur Vorhersage von Testergebnissen. Entwicklung und Wartung einer umfangreichen Suite an Unit-Tests in Python mit dem pytest-Framework, um eine hohe Testabdeckung und zuverlässige Systemfunktionalität zu gewährleisten. Mitarbeit an einem vertraulichen Projekt zur Nutzung großer Sprachmodelle (LLMs), mit Fokus auf die Verbesserung des CLI durch die Migration von argparse zu Python Typer, was die Effizienz und Wartbarkeit der Benutzeroberfläche erheblich steigerte. Entwicklung von Integrationsdiensten für den automatisierten Upload von Testergebnissen zu Splunk und Jira, um die Berichterstattung und Nachverfolgung von Testergebnissen über den gesamten Entwicklungslebenszyklus zu optimieren.

step icon

Software Engineer @Intel

2017 - 2020

Tätigkeit in einer Abteilung, die Halbleiter-Teams mit Tools, Workflows und technischem Know-how unterstützt, um eine reibungslose Produkteinführung zu gewährleisten. Konzeption und Entwicklung neuer Anwendungen von Grund auf, einschließlich der Architektur einer Microservice-basierten Lösung mit einem Backend in NodeJS und .NET Core sowie einer Benutzeroberfläche in Angular. Das UI wurde sowohl als Web-App als auch als Desktop-Anwendung mittels Electron bereitgestellt, um eine flexible Benutzererfahrung zu ermöglichen. Wartung und Erweiterung bestehender Legacy-Systeme, wie z. B. eines in Perl geschriebenen Regressionstests-Tools. Dazu gehörten Fehlerbehebungen und die Modernisierung von Teilen des Stacks durch die Entwicklung neuer Services zum Ersetzen veralteter Komponenten. Beratung in Sicherheits- und Softwaredesignfragen: Regelmäßige Ansprechperson für Kollegen zur Beratung über sichere Programmierpraktiken, Architekturentscheidungen und Best Practices im Softwaredesign. Migration von Projekten von älteren Versionskontroll- und CI-Systemen zu einer modernen, GitLab-basierten Lösung, die mit einem Kubernetes-Cluster integriert wurde, um CI/CD-Prozesse zu verbessern und Skalierbarkeit sowie Automatisierung zu erhöhen. Zentrale Rolle als technischer Ansprechpartner für Werkstudenten, einschließlich Mentoring und Betreuung von Bachelorarbeiten, um eine Kultur des Lernens und der Zusammenarbeit im Team zu fördern. Erfolgreiche Anpassung an die Arbeit im Homeoffice ab Januar 2020, bei gleichzeitiger Aufrechterhaltung aller Verantwortlichkeiten und der Produktivität.

step icon

Softwareentwickler (Werkstudent) @Intel

2015 - 2016

Unterstützung bei der Entwicklung interner Tools und Anwendungen für eine Abteilung im Support-Bereich, enge Zusammenarbeit mit Senior-Entwicklern zur Erweiterung von Funktionalitäten und Optimierung von Prozessen. Mitarbeit an der Konzeption und Implementierung eines End-to-End-XML-Verschlüsselungstools in Java, zur sicheren Datenübertragung und Erhöhung der Systemsicherheit. Bearbeitung von Fehlerbehebungen und Leistungsverbesserungen für Legacy-Systeme, insbesondere durch Refactoring und Wartung von Perl-Code, um Stabilität und Kompatibilität mit neuen Tools sicherzustellen. Sammeln praktischer Erfahrungen mit Java, Perl und XML-Verschlüsselung, durch die Anwendung akademischer Kenntnisse auf reale Entwicklungsherausforderungen. Unterstützung bei kontinuierlichen Verbesserungsmaßnahmen durch die Identifizierung von Ineffizienzen im Legacy-Code und Empfehlung von Optimierungsstrategien.

step icon

System Administrator (Working Student) @Lehrstuhl für Systemsicherheit

2012 - 2013

Technischer Support und Verwaltung von Systemen für den Lehrstuhl für Systemsicherheit, Sicherstellung der Verfügbarkeit, Sicherheit und Zuverlässigkeit kritischer IT-Infrastrukturen. Enge Zusammenarbeit mit Lehrkräften und Forschern zur Behebung von Systemproblemen, um eine nahtlose Umgebung für die akademische Forschung im Bereich IT-Sicherheit zu gewährleisten. Beschaffung neuer Server, Netzwerkausrüstung und weiterer benötigter Hardware durch Abstimmung mit Anbietern, Bestellmanagement und Sicherstellung einer zeitnahen Installation zur Erfüllung der Abteilungsanforderungen. Praktische Erfahrung mit Linux/Unix-Systemen und Netzwerktechnik gesammelt.

Software Entwickler (Duales Studium) @Sage

2008 - 2011

Nutzung der im Studium und autodidaktisch erworbenen Grundlagen, um das Entwicklungsteam schnell als Softwareentwickler zu unterstützen. Beitrag zur Verbesserung einer Business-Intelligence-(BI)-Lösung durch Neuentwicklung wichtiger Backend-Komponenten in C#, was die Systemleistung und Wartbarkeit deutlich erhöhte. Entwicklung und Erweiterung benutzerdefinierter Anwendungen für die BI-Plattform unter Verwendung von C# und verwandten Technologien, wodurch erweiterte Datenanalyse- und Reporting-Funktionen ermöglicht wurden. Enge Zusammenarbeit mit Senior-Entwicklern und fachlichen Stakeholdern zur Erfassung von Systemanforderungen und Bereitstellung maßgeschneiderter Lösungen. Nachgewiesene Fähigkeit, theoretische Konzepte in einem praktischen Umfeld anzuwenden und so erfolgreich die Brücke zwischen Ausbildung und realer Softwareentwicklung zu schlagen.

step icon

Zivildienst @General Hospital Hamelin

2007 - 2008

Patiententransport: Zusammenarbeit mit medizinischen Teams, um Patienten effizient zwischen Krankenhausabteilungen (z. B. MRT, Chirurgie) zu transportieren und eine reibungslose Kommunikation sowie pünktliche Abläufe zu gewährleisten. Entwicklung starker sozialer und Teamfähigkeiten durch Koordination von Patiententransfers in einer schnelllebigen Umgebung. Verbesserung des Zeitmanagements durch das Ausbalancieren von Transportplänen und Notfallanforderungen. Poststelle und Sondertransporte: Verwaltung der täglichen Postzustellung und Durchführung dringender Transporte von Blutproben zum Testzentrum. Erledigung zeitkritischer Aufgaben durch Reaktion auf dringende Anfragen der Stationen über einen Pager für Sonderlieferungen und schnelle Bearbeitung für wichtige Tests. Problemlösungsfähigkeiten durch die Bewältigung unerwarteter logistischer Herausforderungen und Aufrechterhaltung eines konsistenten Service unter Druck erworben.

Bildung

Master of Science - IT Sicherheit @Ruhr Universität Bochum

2011 - 2016

Bachelor of Science - Angewandte Informatik @Duale Hochschule Baden-Württemberg

2008 - 2011

Allgemeine Hochschulreife - Informatik @Eugen-Reintjes-Schule

2004 - 2007

Sprachen

Sprache Skill-Level
Deutsch Muttersprache
Englisch Fließend in Wort und Schrift

Programmierkenntnisse

C# Programming
C#
ASP.NET Core
Entity Framework
Python Programming
Python
FastAPI
Pydantic
Typer
TypeScript Programming
TypeScript
NodeJS
fastify
Angular

Fähigkeiten

Markup Languages
HTML5/CSS3
Markdown
DevOps
Docker
Github/Github Actions
Rancher/Kubernetes
IT-Sec
Network Analysis
Cryptography
Protocol Security

Veröffentlichungen

Bachelorarbeit – Entwicklung und Implementierung eines sicheren WLAN-Konzepts

Diese Arbeit konzentriert sich auf die Entwicklung und Implementierung einer sicheren WLAN-Lösung für mehrere Einrichtungen. Verschiedene Verschlüsselungstechniken sowie Authentifizierungs- und Autorisierungsmechanismen wurden analysiert, um den effektivsten Ansatz zur Sicherung des Netzwerks zu bestimmen. Nach der Ausarbeitung des Sicherheitskonzepts für das WLAN wurde ein Pilotprojekt in einer ausgewählten Einrichtung durchgeführt, bei dem die Lösung implementiert und anhand umfassender Leistungstests evaluiert wurde.

Masterarbeit – Analyse, Implementierung und Optimierung eines End-to-End-Sicherheitskonzepts für das Internet der Dinge in einem Industrie-4.0-Szenario

Diese Arbeit befasst sich mit der Herausforderung der sicheren Kommunikation in Industrie-4.0-Umgebungen, in denen Rechner über potenziell unsichere Kanäle wie Mobilfunknetze kommunizieren. Während bestehende Lösungen oft auf Verschlüsselung auf der Transportschicht setzen, bietet dieser Ansatz keine End-to-End-Sicherheit über mehrere unzuverlässige Hosts hinweg.

In der Arbeit werden End-to-End-Verschlüsselungsmethoden für IoT-Geräte mit beschränkten Ressourcen entwickelt und evaluiert. Dabei kommen Protokolle wie CoAP, MQTT, MQTT-SN und WebSocket zum Einsatz. Die Implementierung erfolgte auf dem Quark™ SE Mikrocontroller von Intel, der die erforderliche Hardwareumgebung bereitstellte. Im Rahmen dieser Evaluation wurde die geeignetste Verschlüsselungsmethode identifiziert und für die ausgewählten Protokolle implementiert.

Die Ergebnisse bestätigten, dass eine End-to-End-Verschlüsselung ohne signifikante Beeinträchtigung der Protokollleistung effektiv umgesetzt werden kann. Mit zunehmender Teilnehmerzahl traten jedoch Skalierungsprobleme auf, bedingt durch Kommunikations- und Rechenaufwand.