Senior Software Engineer | TypeScript, React, Node
- Verfügbarkeit einsehen
- 0 Referenzen
- auf Anfrage
- Berlin
- Weltweit
- de | en
- 01.10.2024
Kurzvorstellung
Qualifikationen
Projekt‐ & Berufserfahrung
4/2022 – 10/2024
Tätigkeitsbeschreibung
Umsetzung der Neuentwicklung des Multilabel Webshops. Das Frontend der verschiedenen Shops wurde mit einem NX MonoRepo aufgesetzt mit wiederverwendbaren Libraries um die Software in mehreren Schichten klar zu strukturieren. Zudem wurde eine eigene ExpressJS Middleware Applikation geschrieben, die Hauptverantwortlich für die Kommunikation mit den nachgelagerten Systemen ist.
Besonders wichtige Aspekte in dem Projekt: Hohe Relevanz von Caching durch langsame APIs, Performance Optimierung der Seite, Wiederverwendbarkeit des Codes und hohe Testbarkeit
Docker, Node.Js, React (JavaScript library), Representational State Transfer (REST), Scrum, Testen, Typescript
8/2018 – 3/2022
Tätigkeitsbeschreibung
Verschiedene Projekte.
Hier zwei Exemplarisch:
Im Projekt „RSA“ war es meine Aufgabe den „Relaunch“ einer nicht mehr wartbaren Frontend Anwendung als Lead Developer hauptverantwortlich zu konzipieren und umzusetzen.
Ziel der Anwendung ist es Promotoren am Point-of-Sale zu unterstützen passende Tarife inkl. Hardware und Zubuchoptionen für Endkunden zu konfigurieren und anschließend zu bestellen.
Die Hauptanforderungen waren in der neuen Anwendung Skalierbarkeit, einfache Wartbarkeit und Langlebigkeit sicherzustellen. Dafür habe ich den „Clean Architecture“ Ansatz auf das Frontend adaptiert, um die Anwendung möglichst frei von externen Abhängigkeiten zu gestalten. Die größten Abhängigkeiten wie NextJS und React liegen dabei im äußersten Layer und könnten zukünftig, ohne Anpassungen der Business Logik, ausgetauscht werden.
Im Frontend wurden sowohl selbstentwickelte Komponenten verwendet als auch Komponenten aus der Komponentenbibliothek des Konzerns. Für Styling wurde der deklarative Utilityklassen Ansatz mit Tailwind genutzt.
Für die Kommunikation mit dem Rails Backend wird eine Restful JSON API genutzt. Diese wird über einen HttpClient, der momentan mit Axios umgesetzt wurde, angesteuert.
Um einen sicheren und möglichst fehlerfreien Betrieb sicherzustellen, wurde sowohl der Kern der Anwendung mit Unit Tests, als auch das UI mit Integration-Tests vertestet. Dafür wurden Jest und die Testing Library genutzt. Das Projekt besitzt durch die testgetriebene Entwicklung eine Code-Coverage von über 93%.
Umgesetzt wurde das Projekt innerhalb eines SCRUM-Teams in 17 Iterationen.
Software/Technologien: TypeScript, NextJS, React, Tailwind, Axios, React Context, Jest, Testing Library, Figma
Projekt "WoWi":
In einem Team aus acht Personen war ich bei dem Projekt „WoWi“ federführend für die Frontendumsetzung des Shops verantwortlich. Der WoWi Shop bietet Mieterinnen und Mietern, in Wohnungswirtschaften, die eine Partnerschaft mit einem großen deutschen Provider haben, die Möglichkeit deutlich reduziert TV und Internet-Tarife zu bestellen. Zielgruppe waren sowohl Endkunden als auch Verkaufsberater die am Tablet vor Ort über den Shop Tarife verkaufen.
Hauptanforderung für den Relaunch des Shops war es den Shop auf den Stand der Zeit zu bringen durch ein ansprechendes UI, intuitive Bedienung und neuen Features. Besondere Komplexität lag in dem hohen Individualisierungsgrad des Shops. So hängen nicht nur Preise, sondern auch die gesamte Produktauswahl von der bewohnten Wohnungswirtschaft ab. Zudem hat die hohe Abhängigkeit der Produkte zueinander eine große konzeptionelle Herausforderung dargestellt.
Der Shop wurde vollständig neu konzeptioniert und aus einem in die Jahre gekommenen Monolithen in eine (Web-)Frontend und Backend Anwendung aufgeteilt. Das Frontend wurde mit React umgesetzt. Bei der UI-Entwicklung wurde mit EmotionJS auf einen CSS-in-JS Ansatz gesetzt. Der animationsreiche Shop wurde eng in Zusammenarbeit mit Designern und Konzeptern entwickelt und wurde anschließend häufig für das cleane, moderne, aber auch außergewöhnliche Design gelobt.
Für die Kommunikation mit dem „Ruby on Rails“-Backend wurde eine RESTful JSON API verwendet. Das globale State Management in der Frontendapplikation setzt auf MobX. Auch in diesem Projekt wurden für die Unit- und Integrationstests Jest und zum Teil die Testing Library verwendet.
Scrum, Testen, Software Architecture, Typescript, Figma, JavaScript, React (JavaScript library), Vue.Js
2/2015 – 7/2018
Tätigkeitsbeschreibung
Majic war ein Onlineshop für Männer über den hochwertige Accessoires und Pflegeprodukte verkauft wurden. In dem vierköpfigen Team war ich für die technische Umsetzung und Wartung der Seite verantwortlich. Diese wurde vorerst mit Shopify und einem eigenentwickeltem Frontend-Theme in Liquid, JavaScript und CSS umgesetzt.
Später habe ich einen Relaunch auf das Shopsystem OXID forciert und umgesetzt. Dafür habe ich das gesamte System aufgesetzt, ein eigenes Theme mit Smarty Templates, JavaScript und LESS entwickelt und anschließend die Maintenance und Feature-Entwicklung verantwortet.
Software/Technologien: JavaScript, Liquid, Smarty, LESS, CSS, OXID, Shopify
Shopify (allg.), JavaScript, OXID eShop Community Edition (CE), PHP
Ausbildung
FOM Hochschule für Oekonomie & Management
Bonn
Über mich
Um hohe Qualität bei meiner Arbeit sicherzustellen, lege ich großen Wert auf die Code-Reviews, Design Pattern, automatisierte Tests und regelmäßigen Austausch mit anderen Entwicklern.
In Zukunft würde ich gerne zusätzlich meine Kenntnisse im Bereich Cloud Computing und Nativer App-Development weiter ausbauen.
Mein agiles Vorgehen ist sowohl durch Theorie innerhalb meines Studiums als auch durch Praxiserfahrung gereift.
Weitere Kenntnisse
Technologien: React, Vue, NextJS, NuxtJS, NodeJS, ExpressJS, Redis, NX MonoRepos, Tailwind, Emotion, CSS Modules, SCSS, Vuex, Redux, MobX
Frontend: HTML, CSS, NPM, A11Y, SEO, Storybook, Figma, Sketch, Slim, Twig, Smarty, Liquid
CMS: Contentful, Wordpress, Storyblok
Agile Methoden: Scrum, Kanban, OKR
Container: Docker, Kubernetes
Architektur: Clean Architecture, Flux, MVC
Testing: Testing Library, Jest, Vue Test Utils
Persönliche Daten
- Deutsch (Muttersprache)
- Englisch (Fließend)
- Europäische Union
Kontaktdaten
Nur registrierte PREMIUM-Mitglieder von freelance.de können Kontaktdaten einsehen.
Jetzt Mitglied werden