me

Tristan Teufel

Senior Software Entwickler
Wirtschaftsinformatik (B.Sc.)

[email protected]

Karriere Zusammenfassung


Engagierter Softwareentwickler mit über 10 Jahren Erfahrung in der Entwicklung von robustem Code für kritische Unternehmensanwendungen.

Entwickler von Jest Runner, einer VSCode-Erweiterung zur Testausführung, die seit 2020 als empfohlene Erweiterung von NX installiert wird.

Umfangreiche Erfahrung in moderner Frontend-Entwicklung und Architektur, um skalierbare Benutzeroberflächen effizient zu erstellen und zu warten.

Langjährige Projekterfahrung in React, TypeScript und Material UI (MUI).

Spezialisiert auf Testautomatisierung und testgetriebene Entwicklung (TDD).

Vertreter von Clean-Code und KISS (Keep it simple and stupid).

Fähigkeiten


Sprachen

TypeScript

JavaScript

NodeJs

Python

Java

Go

C#

Datenbanken

Projekterfahrung


Testautomatisierung mit Cypress und Jest für Webanwendungen im Energiesektor

RWE AG

09/2023 - heute in Essen/DE | freiberuflich über Soorce | Scrum | Remote & On-Site

Position: Testautomatisierungsexperte

  • Entwicklung von Cypress Frontend Integrationstests.
  • Erstellung von Unit-Test mit Jest.
  • Integration von TypeScript und Cypress in der CI/CD Pipeline.
  • Aufsetzen einer Lösung für lokale und geteilte Cypress Commands in einem nx monorepo.
  • Testgetriebene Entwicklung von neuen Componenten mit Angular 17.

Umsetzung eines interaktiven Chat-Systems für einen virtuellen Assistenten unter Einsatz von ChatGPT

CTREAM GmbH

07/2023 - 08/2023 in Mainz/DE | freiberuflich über freelancermap.de | Scrum | Remote

Position: Leitender Frontend-Entwickler

  • Infrastruktureinrichtung eines Next.js-Projekts.
  • Implementierung von responsiven Chat-Komponenten mit MaterialUI (MUI).
  • Darstellung von Nachrichten in Chunks zur Optimierung von Benutzerfreundlichkeit und Leistung.
  • Integration von Text-to-Speech-Funktionalität.
  • Bereitstellung des Output-Bundles als WebComponent für externe Websites.
  • Integration von Websockets mit einem Python-Backend für Echtzeitkommunikation.

Erstellung von Benutzeroberflächen im Bereich der Telekommunikationsüberwachung

ATIS® Systems GmbH

10/2022 - 06/2023 in Bad Homburg/DE | freiberuflich über Solcom GmbH | Kanban | Remote & On-Site

Position: Leitender Frontend-Entwickler

  • Aufsetzen eines React/TypeScript-Projekts unter Verwendung von NX-Tools für effiziente Entwicklung.
  • Implementierung von Cypress-Tests, die automatisch API-Antworten aufzeichnen und als Mocks verwenden, um eine zuverlässige Testumgebung sicherzustellen.
  • Einrichtung eines Webpack API Proxys zur Umgehung der Same-Origin-Policy.
  • Konfiguration der TypeScript-Codegenerierung für OpenAPI-Endpunkte, um die Integration von APIs nahtlos zu gestalten.
  • Anpassung von Material-UI (MUI)-Komponenten nach Kundenwünschen, um eine maßgeschneiderte Benutzeroberfläche zu bieten.
  • Integration einer Jenkins-Pipeline mit Gitlab und Rocket Chat zur Optimierung des Entwicklungs- und Kommunikationsprozesses im Team.

Entwicklung der HConnect Produktsuite von Heidelberg Materials AG

Heidelberg Cement AG - heute Heidelberg Materials AG

01/2021 - 09/2022 in Heidelberg/DE | freiberuflich über Etengo AG | Scrum | Remote & On-Site

Position: Frontend-Entwickler in der Authentifizierung & Benutzerverwaltung

  • Erstellung von Cypress-Tests und erfolgreiche Integration in Gitlab-Pipelines zur Sicherstellung der Qualitätskontrolle.
  • Automatisierte Generierung von Code-Coverage-Berichten und Testergebnissen für Cypress, die nahtlos in Jira X-Ray integriert wurden.
  • Ermöglichung des Out-of-Source-Imports in einem CRA-4 Mono-Repo zur Verbesserung der Entwicklungsprozesse.
  • Erfolgreiche Migration des Mono-Repo von tslint zu eslint und prettier um die der Codequalität und -konformität zur verbessern.
  • Testgetriebene Entwicklung im Bereich User Management und Authentication für die Hconnect Produktsuite.
  • Implementierung eines Nginx Reverse Proxy Docker Containers für den React-Router.
  • Realisierung der Live-SAS-Tokenerstellung für Buildskripts in der Azure-Cloud zur Sicherheit und Authentifizierung.
  • Durchführung eines Proof of Concept (POC) zur Migration von Yarn1 zu Yarn2 mit Zero Install und pnp.
  • Entwicklung von Node.js-Buildskripten mit Azure CLI und Azcopy zur Automatisierung von Bereitstellungsprozessen.

Erstellung des Klarsolars Solarpanel-Konfigurators

Klarsolar GmbH

10/2020 - 12/2020 in Stuttgart/DE | freiberuflich über Pixelschupser GmbH | Scrum | Remote

Position: Leitender Frontend-Entwickler

  • Die Entwicklung des Konfigurators mit Angular 10 erfolgte unter Verwendung fortschrittlicher Technologien und bewährter Best Practices.
  • Erfolgreiches Aufsetzen eines neuen Projekts unter Verwendung von Nx-Tools zur Verbesserung der Entwicklungsprozesse.
  • Entwicklung von maßgeschneiderten Komponenten für den Konfigurator in Angular 10.
  • Anpassung von Angular Material-Komponenten mithilfe von Tailwind CSS, um die Designrichtlinien umzusetzen und die visuelle Ästhetik zu optimieren.
  • Erfolgreiche Datenmigration des alten Konfigurators, um vorhandene Daten nahtlos in das neue System zu übertragen.
  • Integration eines GraphQL-Backends mit dem Apollo-Client, um eine leistungsfähige und flexible Datenabfrage und -manipulation zu ermöglichen.

Modernisierung von Benutzeroberfläche für SupplyOn AG in der Automobilbranche

Seeburger AG

01/2020 - 09/2020 in Bretten/DE | freiberuflich über it-experts | Kanban | On-Site

Position: Backend & Frontend-Entwickler

  • Entwicklung neuer React-Komponenten in Verbindung mit MaterialUI, um eine moderne Benutzeroberfläche zu schaffen.
  • Anpassung und Individualisierung von MaterialUI-Komponenten, um das Design und die Benutzererfahrung maßgeschneidert zu gestalten.
  • Erstellung umfangreicher Tests mit React-Testing-Library und Jest, um die Stabilität und Qualität der Anwendung sicherzustellen.
  • Definition neuer Dependency-Cruiser-Regeln zur Sicherstellung der Dependency Inversion Policy.
  • Implementierung eines Ansatzes zur Integration einer PWA (Progressive Web App) in einen bestehenden Monolithen.
  • Entwicklung von Webservices mit JAX-RS und Hinzufügen von OpenAPI-Annotationen, um eine saubere API-Dokumentation und -kommunikation sicherzustellen.
  • Erstellung eines individuellen Filters für AgGrid, um Daten effektiv zu filtern und anzuzeigen.

Entwicklung von Chat-Komponenten für den Chat von TeamViewer

Teamviewer GmbH

10/2019 - 12/2019 in Göppingen/DE | freiberuflich über gulp.de | Scrum | Remote & On-Site

Position: Frontend-Entwickler

  • Erfolgreiche Refaktorisierung und Aktualisierung der Toolchain des Projekts, insbesondere mit Fokus auf die Verwendung von Webpack, um eine effizientere Entwicklungsinfrastruktur zu gewährleisten.
  • Einführung der komponentenbasierten Entwicklung, um die Code-Wartbarkeit und -Skalierbarkeit zu verbessern und Entwicklungszeiten zu verkürzen.
  • Entwickeln von speziellen Chatfunktionalitätskomponenten, die eine reibungslose Kommunikation in der Anwendung ermöglichen.
  • Umsetzung eines technologischen Ansatzes für das Lazy Loading eines Emoji Pickers, um die Ladezeiten und die Leistung der Anwendung zu optimieren.

Konzeption und Entwicklung eines Konfigurators für Drogeriemärkte in Zusammenarbeit mit Procter & Gamble

Procter & Gamble (P&G)

07/2019 - 09/2019 in Karlsruhe/DE | freiberuflich über typzwo GmbH | Kanban | Remote

Position: Leitender Frontend-Entwickler

  • Einführung von JSX und Render-Funktionen in Vue.js zur Steigerung der Flexibilität und Funktionalität der Benutzeroberfläche.
  • Aufteilung von Komponenten gemäß den Atomic Design-Prinzipien, um eine effiziente und skalierbare Entwicklungsstruktur sicherzustellen.
  • Durchführung von Schemaerweiterungen in MySQL, um die Datenbankfunktionalität an die Anforderungen des Projekts anzupassen.
  • Entwicklung von speziellen Komponenten für den Konfigurator, um die Benutzerinteraktion und -erfahrung in der Anwendung zu optimieren.

Dashboards für Daimler AG: Visualisierung von Metriken und Kennzahlen in der Produktion

ETECTURE GmbH

10/2017 - 06/2019 in Karlsruhe/DE | freiberuflich über xing.de | Kanban | Remote & On-Site

Position: Leitender Backend & Frontend-Entwickler

  • Erfolgreiche Erstellung eines neuen Build-Systems mit Webpack, um die Entwicklungs- und Bereitstellungsprozesse zu optimieren.
  • Entwicklung eines neuen Starter-Kits für React, um die Effizienz bei der Erstellung von React-Anwendungen zu steigern.
  • Einrichtung eines Node.js-Backends unter Verwendung von Sequelize SQL und PostgreSQL, um eine robuste Datenverwaltung zu gewährleisten.
  • Integration von OpenAPI und Einrichtung von SwaggerUI für die Middleware, um eine klare API-Dokumentation und -Kommunikation zu ermöglichen.
  • Einrichtung einer umfassenden Jest Snapshot-Test-Suite zur Sicherstellung der Codequalität und Funktionalität.
  • Implementierung der JSON-Webtoken-Authentifizierung in die Middleware, um eine sichere und autorisierte Kommunikation zu gewährleisten.
  • Erstellung von Docker Compose YAML-Build-Skripten zur effizienten Verwaltung der Containerisierung und Bereitstellung.
  • Einrichtung von Docker-Clustern mit Reverse Proxy (Traefik) zur Verbesserung der Skalierbarkeit und Leistungsfähigkeit der Anwendungen.

Mitwirkung an der Entwicklung eines neuen Game Launchers für Gameforge AG

Gameforge AG

05/2017 - 09/2017 in Karlsruhe/DE | freiberuflich über Gulp.de | Scrum | On-Site

Position: Backend & Frontend-Entwickler

  • Entwicklung von Middleware und Microservices zur Unterstützung der verteilten Anwendungsarchitektur.
  • Erstellung von Docker-Skripten zur Containerisierung und Bereitstellung der Anwendung.
  • Implementierung einer umfassenden globalen Protokollierungslösung für Microservices in einer Containerumgebung, um Transparenz und Fehlerbehebung zu verbessern.
  • Durchführung eines Proof of Concept (PoC) für die Migration einer Web-Applikation von Angular 1.x auf React, um die Modernisierung der Frontend-Technologie zu bewerten.
  • Erweiterung eines Webpack-Jobs zur dynamischen Konfigurationseinfügung zur Laufzeit im Frontend, um die Flexibilität und Anpassbarkeit der Anwendung zu verbessern.

Backend-Entwicklung eines innovativen Terminplanungssystems für mittelständische Unternehmen

Timify - heute Termin App GmbH

01/2017 - 04/2017 in Munich/DE | freiberuflich über Etengo AG | Scrum | Remote & On-Site

Position: Backend-Entwickler

  • Erfolgreiche Refaktorisierung von Microservices, um Codequalität und Skalierbarkeit zu optimieren.
  • Erstellung von umfassenden Unit-Tests mit Lab zur Sicherstellung der Funktionalität und Qualität der Anwendungen.
  • Entwicklung einer Integrationstestsuite mit Postman und Newman zur Gewährleistung der reibungslosen Kommunikation zwischen verschiedenen Komponenten.
  • Erstellung einer neuen Vorlage für Lout zur API-Dokumentation in Hapi.js, um Entwicklern eine klare und umfassende Dokumentation bereitzustellen.
  • Entwicklung einer neuen Mongo-DB-Schicht mit Promise-Unterstützung, um Datenzugriff und -manipulation effizienter zu gestalten und eine reibungslose Datenverwaltung sicherzustellen.

Komposition von Angular-Komponenten und Bereitstellung in einer Designsystem-Bibliothek

Cyber Manufaktur GmbH

03/2016 - 12/2016 in Karlsruhe/DE | freiberuflich über Cyperforum e.V. | Scrum | Remote & On-Site

Position: Frontend-Entwickler

  • Aufsetzen eines Webpack 1 Build-Jobs für ein Angular 1.x-Projekt zur Optimierung der Entwicklungsinfrastruktur.
  • Integration von JsPlump in Angular 1.x, um Diagramme auf Grundlage von JSON-Daten zu generieren und visuelle Darstellungen zu ermöglichen.
  • Entwicklung von Angular 1.x-Komponenten speziell für Kunden der Cyber Manufaktur GmbH, um individuelle Anforderungen zu erfüllen.
  • Durchführung von PHP- und Wordpress-Entwicklung, um verschiedene Webprojekte erfolgreich umzusetzen und anzupassen.

Java 8 Entwicklung in einer Java-Enterprise-Applikation für das Forderungsmanagement bei arvato

arvato Financial Solutions - Bertelsmann SE & Co. KGaA

01/2015 - 12/2015 in Baden-Baden/DE | Festanstellung | Wasserfall | On-Site

Position: Backend-Entwickler

  • Entwicklung und Abdeckung verschiedener Artefakte vom Anforderungsmanagement bis hin zur Go-Live-Phase, um sicherzustellen, dass alle Projektphasen erfolgreich umgesetzt werden.
  • Erfolgreiches Requirements Engineering zur Festlegung klarer und präziser Projektziele und Anforderungen.
  • Durchführung von Schemaänderungen in Oracle SQL, um die Datenbankstruktur an die Bedürfnisse des Projekts anzupassen.
  • Anwendung der testgetriebenen Entwicklungsmethodik mit der Erstellung von Unit-Tests mithilfe von JUnit, um die Codequalität und Funktionalität sicherzustellen.
  • Erstellung von Mapping-Logiken, um Daten effizient zwischen verschiedenen Systemen und Formaten zu übertragen.
  • Entwicklung von Groovy-Skripten für erweiterte Datentransformationen zur Optimierung von Datenverarbeitungsprozessen.
  • Umfassende Dokumentation des Projekts in Confluence, um eine klare und strukturierte Kommunikation innerhalb des Teams sicherzustellen.

Softwareentwicklung und Integration von Unternehmensanwendungen bei ec4u expert consulting AG

ec4u expert consulting AG - heute DIGITALL

09/2012 - 12/2014 in Karlsruhe/DE | Festanstellung | Scrum | On-Site

Position: Backend & Frontend-Entwickler

  • Entwicklung einer cross-plattform hybriden mobilen Anwendung für das Recruiting mit jQuery Mobile und PhoneGap.
  • Umfassende Entwicklung von Oracle Siebel OpenUI-Anwendungen mit jQuery und JavaScript.
  • Schulung von Teammitgliedern in HTML, CSS und JavaScript.
  • Integration von REST-Services aus Wordpress und Transformation von Daten.
  • Erstellung von automatisierten Tests mit Selenium IDE.
  • Entwicklung einer neuen CSS-Themenanpassung für Oracle Siebel OpenUI.
  • Entwicklung von Business Services mit Siebel Tools.
  • Durchführung von Requirements Engineering und Prototyping für verschiedene Projekte.
  • Erstellung von Mapping-Logiken für die effiziente Datenübertragung zwischen verschiedenen Systemen und Formaten.
  • Integration von neuen Feldern und Datenmappings mit XML in Oracle on Demand CRM Desktop.
  • Unabhängige Entwicklung einer JavaEE-Webanwendung mit Oracle ADF für Stryker, einschließlich SOA-Integration und Management von Oracle Java & Database Cloud Service.
  • Entwicklung einer mobilen Webanwendung zur Abbildung von Genehmigungsanträgen von Oracle Siebel CRM.
  • Evaluierung der Google Payment-APIs (Google Checkout und Google Wallet) durch Entwicklung einer mobilen Webanwendung.

Open-Source Software-Entwicklung


Optimierung von Jest Testing in Visual Studio Code mit VSCode-Jest-Runner

12/2017 - heute | Visual Studio Marketplace | Github Repository

Jest Runner ist eine Visual Studio Code Erweiterung, die es ermöglicht, einzelne Jest Tests oder Test-Suiten einfach auszuführen oder zu debuggen. Jest ist ein beliebtes JavaScript-Test-Framework, das von Facebook verwendet wird. Diese Erweiterung bietet folgende Funktionen:

  • Run & Debug Jest Tests aus dem Kontextmenü, CodeLens oder der Befehlspalette
  • Unterstützung für yarn & vscode workspaces (monorepo)
  • Dynamische Jest-Konfigurationsauflösung
  • Yarn 2 pnp Unterstützung
  • CRA & ähnliche Abstraktionen Unterstützung
  • Umfangreiche Anpassungsmöglichkeiten

Jest Runner – ist seit 2020 eine empfohlene Erweiterung von NX mit über 1 Million Installationen und einer 5-Sterne-Bewertung im Visual Studio Marketplace.

SendToKodi ermöglicht es Nutzern, Videostreams von verschiedenen Websites direkt auf Kodi zu streamen.

01/2016 - heute | Github Repository

Dieses Projekt umfasst mehrere maßgebliche Komponenten, die dazu beitragen, Videostreams von verschiedenen Quellen zu extrahieren und nahtlos auf Kodi abzuspielen. Die Hauptkomponenten des Projekts sind:

  • Kodi-Addon (Python): Ein speziell entwickeltes Kodi-Addon, das Videostreams von verschiedenen Website-URLs mithilfe von YoutubeDL extrahiert. Dieses Addon bietet den Nutzern die Möglichkeit, eine breite Palette von Inhalten direkt auf Kodi anzusehen.
  • Github Actions Job: Zur kontinuierlichen Aktualisierung des Kodi-Addons wird ein Github Actions Job verwendet. Dieser sorgt dafür, dass das Kodi-Addon stets die neueste Version von YoutubeDL verwendet, um eine optimale Performance und Kompatibilität sicherzustellen.
  • Native iOS-App (Swift): Eine eigenständige iOS-App, die eine nahtlose Integration mit Kodi ermöglicht. Benutzer können Links und Inhalte direkt von ihren iOS-Geräten an Kodi senden und sie auf ihrem Fernseher anzeigen.
  • Einnahmen durch In-App-Zahlungen: Durch die Implementierung der In-App-Zahlungsoption wurden Einnahmen generiert, die es ermöglichen, die laufenden Entwicklergebühren für das Projekt zu decken. Diese Einnahmen belaufen sich auf ungefähr 15 US-Dollar pro Quartal.
  • Offizielle Kodi-App Kore: Das Projekt wird von der offiziellen Kodi-App Kore unterstützt, was die Integration und Nutzung des Kodi-Addons weiter vereinfacht.
  • Chrome-Addon: Neben der iOS-App gibt es auch ein Chrome-Addon, das es den Nutzern ermöglicht, Video-Links direkt an Kodi zu senden und sie auf ihrem Fernseher wiederzugeben.

Dieses Projekt hat in der Entwicklergemeinschaft Beachtung gefunden, was sich in einer beachtlichen Anzahl von 105 Sternen auf GitHub widerspiegelt. Zwei engagierte Mitarbeiter und elf Mitwirkende haben dazu beigetragen, SendToKodi zu einem vielseitigen und erfolgreichen Multimedia-Projekt zu machen."

Entwicklung eines benutzerfreundlichen Zeiterfassungstools mit ReactJS und LowDB

01/2018 - heute | Github Repository

Unser Projekt bestand darin, ein einfaches und effizientes Zeiterfassungstool zu entwickeln, das auf modernen Webtechnologien basiert und gleichzeitig erschwinglich ist. Ein Kunde hatte den Bedarf nach einer benutzerfreundlichen Zeiterfassungsanwendung geäußert, die sowohl auf Desktop- als auch auf Mobilgeräten nahtlos funktioniert.


Die wichtigsten Aspekte unseres Projekts sind wie folgt:

  • Responsive Webdesign: Um sicherzustellen, dass das Zeiterfassungstool auf verschiedenen Bildschirmgrößen und Gerätetypen optimal funktioniert, haben wir ein responsive Webdesign implementiert. Dies ermöglicht eine komfortable Nutzung sowohl auf Desktop- als auch auf Mobilgeräten.
  • Plattformübergreifende Kompatibilität: Die entwickelte Anwendung ist plattformunabhängig und kann auf verschiedenen Betriebssystemen und Browsern reibungslos ausgeführt werden. Dies gewährleistet, dass die Mitarbeiter das Tool auf ihren bevorzugten Geräten verwenden können.
  • Benutzerverwaltung: Um den spezifischen Anforderungen des Kunden gerecht zu werden, haben wir eine umfassende Benutzerverwaltung integriert. Dies ermöglicht es, Mitarbeiterprofile zu erstellen, Zugriffsrechte zuzuweisen und die Nutzerverwaltung effizient zu gestalten.
  • Zeiterfassungsberichte: Das Zeiterfassungstool ermöglicht es den Benutzern, ihre Arbeitszeiten einfach und effizient zu erfassen. Darüber hinaus können detaillierte Berichte über die erfassten Zeiten generiert werden, um die Arbeitsleistung zu überwachen und Auswertungen vorzunehmen.
  • Zusammenarbeit mit 5 kleinen Unternehmen: Unser Zeiterfassungstool wird erfolgreich von fünf kleinen Unternehmen genutzt, um die Arbeitszeit ihrer Mitarbeiter zu verfolgen und abzurechnen.
  • Mitwirkende: Bei der Entwicklung dieses Projekts haben zwei engagierte Mitwirkende ihre Fähigkeiten und Erfahrungen eingebracht, um sicherzustellen, dass das Zeiterfassungstool den Anforderungen des Kunden entspricht.

Insgesamt hat unser Zeiterfassungstool die Art und Weise, wie diese kleinen Unternehmen ihre Arbeitszeiten verwalten, erheblich vereinfacht und optimiert. Es bietet eine kostengünstige und effiziente Lösung, um die Arbeitszeiten der Mitarbeiter zu überwachen und Arbeitsberichte zu erstellen."