Schlagwörter
Skills
Ich bin sehr versiert bei der Umsetzung von komplizierten und vielschichtigen UIs sowie Anwendungs- und Businesslogik als SPAs. Flexibilität und zügige Einarbeitung in bestehende Strukturen gehören zu meinen Stärken. Darüber hinaus stehe ich beratend zur Seite, um mit meiner Erfahrung lösungsorientierte Entscheidungen zu treffen.
In meinem letzten Hauptprojekt benutzte ich React. Der komponentenzentrierte Ansatz von React hat sich für mich bewährt. In Kombination mit Redux entsteht eine skalierbare, einfach testbare und wiederverwendbare Architektur.
Skills
In meinem letzten Hauptprojekt benutzte ich React. Der komponentenzentrierte Ansatz von React hat sich für mich bewährt. In Kombination mit Redux entsteht eine skalierbare, einfach testbare und wiederverwendbare Architektur.
Skills
- JavaScript / TypeScript: Experte
- React: Experte
- Redux / Redux-Saga: Experte
- Ramda: Sehr gute Kenntnisse
- GraphQL / Apollo: Gute Kenntnisse
- Material Design / Material-UI: Sehr gute Kenntnisse
- Jest: Experte
- Webpack / Esbuild: Sehr gute Kenntnisse
- node.js: Sehr gute Kenntnisse
- D3.js: Sehr gute Kenntnisse
- three.js: Sehr gute Kenntnisse
- 10/2008 - 12/2011 Master of Science (Informatik), Universität zu Lübeck
- 10/2004 - 03/2008 Bachelor of Science (Technische Informatik), HS Ulm
- Software-Architekt
- Software-Entwicklung
- Teamleiter
- Digital Workplace / Digitalisierung
- Intranet
- Handel
- Blockchain
- Wissenschaft und Forschung
- Online-Marketing
- 3D Druck
- IT
Projekthistorie
Projekte: Freiberuflich
2018: Blockchain Applikation
2014: Prototyp "what-if analysis"
2012 - 2015: Reporting SPA - Falk Technologies
Die gesammelten Daten können vom Kunden in einer Single Page Application analysiert werden. Dazu erstellte ich mit d3.js eine Vielzahl von Diagrammen um die Daten grafisch aufzubereiten. Um den hohen Anforderungen an Intuitivität, Interaktivität und anpassbarem Design gerecht zu werden, wurden die Diagramme fast alle von Hand programmiert anstatt hauptsächlich auf eines der vielen d3.js Frameworks zu setzen. Dadurch konnten außer den gängigen Charttypen auch sehr spezielle entwickelt werden, die für die Domäne des Online-Marketings jedoch wesentlich bessere Einblicke bieten. Jeder Diagrammtyp kann als Komponente vom Benutzer in ein veränderbares Layout eingefügt werden. Daraufhin ist es ihm möglich verschiedene Eigenschaften des Charts und die anzuzeigenden Daten auf seine Bedürfnisse anzupassen.
Neben Aussehen und Bedienbarkeit spielte die Geschwindigkeit eine wichtige Rolle, welche ich durch Profiling des JavaScript Codes sicher stellte. Um die Wartbarkeit zu gewährleisten, wurden von mir automatisierte Tests erstellt und gewartet. Zusätzlich zu meiner Rolle als Entwickler, wurde mir die technische Leitung des Frontend Entwicklerteams übertragen. In dieser Position wirkte ich beim Einstellungsprozess für neue Teammitglieder der verschiedenen Entwicklerteams mit.
2008: Itemis
2018: Blockchain Applikation
- Rolle: Software-Architekt und -Entwicklung
- Kunde: Blockchain Holding GmbH
- Einsatzort: Homeoffice
- Technisches Umfeld: JavaScript (Babel), React, Material-UI, Redux, Redux-Saga, Ramda, React-Spring, Sass, Webpack, Jest, Git
- Anforderungsanalyse mit dem UX Designer
- Überführung der Anforderungen in technische Problemstellungen
- Starke Beteiligung am UI Designprozess, um die Balance zwischen Ästhetik und Entwicklungsdauer zu garantieren
- Abbildung der wiederkehrenden Designelemente auf wiederverwendbare React Komponenten für eine minimale Codebasis
- Geteilte Projektstruktur, um die Wiederverwendung von Code über Projektgrenzen zu erweitern
- Rapid Development durch Entkopplung von Backend und Frontend mit Hilfe eines Fake-Backend
- Einsatz von detaillierter Dokumentation zur Sicherung der Kohärenz dieser beiden Teilsysteme
- Rolle: Software-Architekt und -Entwicklung
- Kunde: GIS Gesellschaft für InformationsSysteme AG
- Einsatzort: Homeoffice
- Technisches Umfeld: JavaScript (Babel), React, Material-UI, Redux, Redux-Saga, Ramda, Sass, Webpack, stampit, Ava, Node.js, Gulp, Git
- React als komponentenzentriertes Frontendframework für eine komponentenorientierte Lösung
- Einsatz von aktuellen und stabilen Werkzeugen für zukunftssichere Entwicklung
- Entwicklung eines Backend-API-Client-Frameworks
- Detailliert konfigurierbare Widgets zur Verwendung als Inhaltsblöcke
- Storybook (Komponentenkatalog) zur fokussierten Entwicklung, für strukturelle Tests und als Schaukasten für Kunden
- Maximale Qualitätssicherung durch hundertprozentige Testabdeckung
- Erweiterung bestehender Werkzeuge für kompromisslose Individualisierung
- Skalierbare Internationalisierungslösung, angepasst an Projektumgebung
- Open Standard Architecture (Material Design), um Systemkombination und -integration zu ermöglichen
- Responsive Design
- Rolle: Software-Entwicklung
- Kunde: IronShark bzw. VOXELWORLD
- Einsatzort: Homeoffice
- Technisches Umfeld: JavaScript, three.js, UniversalJS, jQuery, WebGL, stampit, Git, Gulp, Browserify, BrowserSync, tape
- Überführung von Anforderungen in technische Problemstellungen
- 3D Editor mit three.js erstellt, der Produkt- und Benutzerkonfigurationen laden/speichern kann
- Programmatische Manipulation von 3D Objekten live mit JS und zeitversetzt durch Interaktion mit dem Server
- konfigurierbare 3D Szene für Licht/Schatten/Kamera/Zoom
- UI-Komponenten für Individualisierungen von Farbe/Material/Größe/Textur/Beschriftung
- Internationalisierung auf Client-Seite
- Erstellung des Codes als node.js Module, Konvertierung für den Browser mittels Browserify
- Verwendung des gleichen Codes für z.B. Validierung und Berechnung auf Client und Server (Universal JS)
- Unit-Tests für Logikmodule
2014: Prototyp "what-if analysis"
- Rolle: Software-Entwicklung
- Einsatzort: Homeoffice
- Technisches Umfeld: JavaScript, Node.js, d3.js, AngularJS, three.js, Express, MEAN-Stack, stampit, Bootstrap, Sass, Mercurial
- Wizard-Eingabeoberfläche, wobei die Benutzereingabe durch synchronisierte Diagramme bzw. Eingabefelder hoch interaktiv und anschaulich gestaltet wurde
- animierte Visualisierungen in 2D und 3D
- hochgradig modulare Codestruktur
2012 - 2015: Reporting SPA - Falk Technologies
- Position: Teamleiter Frontend, Senior Software Developer
- Branche: Online-Marketing
- Einsatzort: Homeoffice
- Technisches Umfeld: JavaScript, ExtJs, d3.js, HTML, CSS
Die gesammelten Daten können vom Kunden in einer Single Page Application analysiert werden. Dazu erstellte ich mit d3.js eine Vielzahl von Diagrammen um die Daten grafisch aufzubereiten. Um den hohen Anforderungen an Intuitivität, Interaktivität und anpassbarem Design gerecht zu werden, wurden die Diagramme fast alle von Hand programmiert anstatt hauptsächlich auf eines der vielen d3.js Frameworks zu setzen. Dadurch konnten außer den gängigen Charttypen auch sehr spezielle entwickelt werden, die für die Domäne des Online-Marketings jedoch wesentlich bessere Einblicke bieten. Jeder Diagrammtyp kann als Komponente vom Benutzer in ein veränderbares Layout eingefügt werden. Daraufhin ist es ihm möglich verschiedene Eigenschaften des Charts und die anzuzeigenden Daten auf seine Bedürfnisse anzupassen.
Neben Aussehen und Bedienbarkeit spielte die Geschwindigkeit eine wichtige Rolle, welche ich durch Profiling des JavaScript Codes sicher stellte. Um die Wartbarkeit zu gewährleisten, wurden von mir automatisierte Tests erstellt und gewartet. Zusätzlich zu meiner Rolle als Entwickler, wurde mir die technische Leitung des Frontend Entwicklerteams übertragen. In dieser Position wirkte ich beim Einstellungsprozess für neue Teammitglieder der verschiedenen Entwicklerteams mit.
2008: Itemis
- Position: Software Engineer
- Branche: Consulting zum Themenkomplex "Model Driven Development"
- Technisches Umfeld: Java, XML
- Einsatzort: Pforzheim/Stuttgart
- Dauer: 4-5 Monate
Reisebereitschaft
Nur Remote verfügbar
Eine Einarbeitung vor Ort ist möglich, während der Projektlaufzeit arbeite ich jedoch remote.