Sebastian Wessel

Nicht verfügbar bis 30.09.2019
Senior Developer · Node.js · Typescript · JavaScript · Backend · Frontend

Derzeit freue ich mich auf spannende Angebote für Projekte im Raum Frankfurt am Main, Stuttgart, Mannheim und Karlsruhe. Auch Projekte in anderen Regionen sind bei entsprechend überwiegendem Remote-Anteil eine interessante Option.

Bereits mit ca 10 Jahren habe ich die ersten Erfahrungen im Bereich Programmierung gemacht und später zu meinem Beruf. Dadurch verfüge ich über rund 30 Jahre Erfahrung im Bereich Programmierung und über ein sehr weit gefächertes Spektrum.

Ich habe mich in den letzten Jahren auf die Entwicklung mit Javascript/Typescript spezialisiert.
Hierbei node.js im Backend und React.js und Angular im Frontend.

Entsprechend zugehörige Techniken wie HTML, CSS, Less/Sass und der Umgang mit entsprechenden Tools wie Git, Jira, Docker etc gehören zum täglichen Umfeld.

In einem agilen Umfeld fühle ich mich am Wohlsten.

Projekte

PKW Maut Deutschland

autoticket GmbH

Implementierung von Microservices in Typescript in einer Cloud basierenden Infrastruktur zur Generierung von verschiedenen Dokumenten und Ausgabeformaten.

Hierbei wurde RabbitMQ zur Kommunikation zwischen einzelnen Microservices genutzt und MSSql als Datenspeicher.
Die Herausforderung hierbei lag insbesondere in der Notwendigkeit Millionen von Dokumentaufträgen zu Handhaben bei begrenzten Ressourcen.
Aufträge zur Dokumenterzeugung wurden gebündelt und an einen externen Service via Rest-API übertragen.
Der externe Service wiederum konnte nur eine begrenzte Anzahl von Aufträgen gleichzeitig verarbeiten und deren Abarbeitung war sehr zeitintensiv, sodass hier entsprechende Warteschleifen-Mechanismen nötig wurden, welche auch über mehrere Service-Instanzen (parallele Verarbeitung) zuverlässig funktionieren.

Weiterhin mussten generierte Dokumente entsprechend weiterverarbeitet werden und an diverse weitere externe Dienste geliefert werden.

Das Projekt musste leider Aufgrund des EuGH Urteils zur deutschen PKW Maut vorzeitig durch den Auftraggeber beendet werden.

Umsetzung mit
  • Typescript/Node.js
  • jest
  • MSSQL
  • RabbitMQ
  • Sonarqube
  • Docker
Software
  • Gitlab
  • Jira
  • Docker
  • sonarqube
  • git(lab)
Mai - Juni 2019

Eventstore Client Library

Open Source Projekt

Durch die Erfahrungen in vorangegangen Projekten bei der Node.js Anbindung an den Eventstore (eventstore.org) entstand die Idee eine eigene Client-Library zu erstellen, die den modernen Bedürfnissen entspricht.

Ein besonderes Augenmerk wurde hier auf Test Driven Development, Clean Code und Dokumentation gelegt.
Hierdurch ist es den Nutzern möglich, selbst einfach zu verstehenden Quellcode in eigenen Anwendungen zu erstellen.
Dazu tragen nicht nur die Verwendung und Bereitstellung von async/await Funktionen bei, sondern auch die Benennung von Methoden und (Alias-)Funktionen.

Die Umsetzung erfolgte in Typescript um zum einen die Vorteile von Typisierung nutzen zu können und zum Anderen um eine einfache Nutzung sowohl in plain Javascript als auch Typescript zu gewährleisten.

Um den Prozess möglichst weit zu automatisieren, wurde eine CI/CD-Pipeline aufgebaut, welche automatisch Tests in entsprechenden Docker Umgebungen laufen lässt, Code-Coverage erstellt und an Drittanbieter sendet und bei Bedarf die Client-Library erstellt und an das NPM Repository überträgt.

Der Quellcode und die Dokumentation ist frei verfügbar unter:
https://github.com/sebastianwessel/eventstore-ts-client

Umsetzung mit
  • Typescript/Node.js
  • mocha
  • Eventstore
  • Sonarqube
  • Docker
Software
  • Gitlab
  • Travis-CI
  • Docker
  • sonarqube
  • git(lab)
April 2019

YUNAR

Ambidexter by Deutsche Bank

Umsetzung der zentralen Funktionen des Gesamtsystems von der Konzeption über die Implementierung bis hin zum automatisierten Testen.

Für die Backend-Entwicklung wurden Node.js basierende microservices innerhalb einer auf Microsoft Azure basierenden Cloud Infrastruktur umgesetzt. Hiebei spielten insbesondere folgende Dinge eine herausstechende Rolle:

Die Anbindung an externe Loyalty Anbieter via API und Web-Scraping zum Datenaustausch und die die Bereitstellung von Daten via REST-API für mobile Clients.
Weiterhin basiert die komplette Architektur auf CQRS/Event-Driven-Design und es wurde als Datenspeicher keine klassische Datenbank, sondern Eventstore genutzt.

Da es sich bei diesem Projekt um ein Projekt innerhalb der Finanzbranche und um sensitive Nutzerdaten handelt, wurde entsprechend den Themen Security, Audit, Testing etc. ein überdurchschnittlich hoher Stellenwert gegeben.

Bei diesem Projekt wurde der komplette Prozess von der Grundidee bis hin zum öffentlich verfügbaren Produkt mit begleitet und mit gestaltet.

Umsetzung mit
  • node.js/JavaScript
  • hapi, joi, mocha
  • Eventstore
  • Keycloak
  • Redis
  • CQRS
Software
  • Jira
  • sonarqube
  • git(lab)
  • Rocketchat
April 2018 - März 2019

Testsoftware für Toll Collect Mautterminals

Krauth technology

Erstellung einer Software zum Testen von Maut-Terminals, welche für Toll Collect durch die Firma Krauth technology gebaut werden.

Hierbei geht es im Speziellen um die Kommunikation einzelner Komponenten innerhalb des Terminals (Drucker, Bildschirm, Karten-Bezahlsystem etc.) via Dbus und um die Kommunikation zum Backend (Toll Collect) via SNMP eine entscheidende Rolle um die entsprechenden Nachweispflichten gegenüber Toll Collect und dem Gesetzgeber erfüllen zu können.
Dabei spielen neben der eigentlichen Umsetzung des Test-Tools auch die Erarbeitung von Testabläufen und Test direkt an den Terminals eine entscheidende Rolle. Dies Alles erfolgt in enger Zusammenarbeit mit dem Projektmanagement und den diversen Entwicklern und Entwicklerfirmen.

Im weiteren Projektverlauf wurde der Aufgabenbereich auf das komplette Terminal-System erweitert und deckt sowohl Tests einzelner Komponenten als auch des Gesamtsystems ab. Weiterhin erstreckt sich der Aufgabenbereich von Softwaretests, über Fehlersuche & Fehleranalyse bis hin zur Hilfe bei der Integration einzelner Terminals in das Gesamtsystem Toll Collect.

Umsetzung mit
  • Electron.js Framework
  • node.js/JavaScript
  • HTML/CSS
  • Markdown
Software
  • Jira
  • git(lab)
  • Rocketchat
Mai 2017 - März 2018

Paket-Tracking-System

Start-Up - Erfolgreicher Exit

Bei diesem Projekt ging es um Dokumentation, Rückverfolgbarkeit (Stichwort ISO-Zertifizierung etc) und Echtzeit-Standort-Informationen im Bereich Logistik & Transportwesen. Dabei wurde das komplette Frontend auf Bedienung über einen Browser ausgelegt, so dass entsprechende Eingabemasken, Dashboards, Auswertungen und Übersichten etc. durch Umsetzung mittels JavaScript, HTML und CSS auf allen gängigen Eingabegeräten verfügbar sind.

Frontend
  • JavaScript
  • HTML/CSS/Less
  • GraphQL
  • REST
  • socket.io
Mobile Prototyp
  • React.js
Backend
  • Node.js
  • MongoDB
  • RabbitMQ
  • Redis
November 2016 - April 2017

Portierung Backend eines Werbeanbieters von PHP zu node.js

Werbedienstleister

Hier wurden insbesondere Leistungsanforderungen in Bezug auf Verfügbarkeit, Skalierbarkeit und Performance umgesetzt um auch in Zukunft wettbewerbsfähig zu bleiben.

Entsprechende Userinterfaces für Administration, Einstellungen sowie die graphische Darstellung in diversen Dashboards und die Aufbereitung der Daten zur leichten Verständlichkeit und Übersicht wurden in JavaScript, HTML und CSS (LESS) umgesetzt.

Backend
  • node.js/JavaScript
  • Apache Kafka
  • MySQL
  • MongoDB
  • Redis
  • Elasticsearch
  • div. REST-Anbindungen
Frontend
  • JavaScript
  • HTML/CSS
  • LESS
Februar 2015 - September 2016

Konzeption & Implementierung einer Webportal-Lösung

Werbeagentur

Ein Portal mit internationaler Ausrichtung realisiert mit PHP & MySQL bei dem es um mehrere Hauptfunktionen ging:

  • CMS Möglichkeiten (Pflege von Inhalten)
  • gezielte Werbung basierend auf Geo-Standort Informationen
  • Buchung/Abrechnungsfunktionen
  • Auswertungen, Usertracking, SEO Optimierung und intelligente Suche/Inhaltsangebote

Entsprechende Userinterfaces für die Verwaltung, Auswertung und Dashboards zur Übersicht wurden für die Verwendung im Browser konzipiert und umgesetzt

Backend
  • PHP
  • node.js/JavaScript
  • MySQL
  • div. REST-Anbindungen
Frontend
  • JavaScript
  • HTML/CSS
  • LESS
Januar 2008 - Juni 2016

Diverse größere & kleinere Projekte

Klein-/Mittelständige Unternehmen

Diverse kleinere Projekte, meist mit dem Hauptaugenmerk auf PHP.
Dies geschah oft in enger Zusammenarbeit mit z.B. Webdesignern, Vertrieb/Marketing, Geschäftsführung, Entwicklern und Endanwendern

2004 - heute

Ausbildung zum Fachinformatiker für Anwendungsentwicklung

Intera GmbH

Beteiligung an der früheren AVIS Webseite

Während meiner Ausbildung habe ich an der Buchungs-Webseite der Autovermietung AVIS mitgearbeitet und hier insbesondere den Stations-Finder und die Anfahrts-Routenplanung umgesetzt.

Die Umsetzung erfolgte auf Basis von Lotus Domino in Kombination mit Java und einem Datenaustausch via XML.

Frontendseitig wurde entsprechend dem damaligen Stand der Möglichkeiten JavaScript, HTML und CSS verwendet.

Erstellung einer Supportlösung (Ticket-System) für die Deutsche Flugsicherung

Während meiner Ausbildung habe ich eine Supportlösung speziell für die Deutsche Flugsicherung in Langen entwickelt, damit dort die internen Prozessabläufe entsprechend klar gegliedert, nachvollziehbar und dokumentiert werden konnten.

Die Umsetzung erfolgte auf Basis von Lotus Domino.

Frontendseitig wurde entsprechend dem damaligen Stand der Möglichkeiten JavaScript, HTML und CSS verwendet.

September 2000 - November 2004

Beginn Studium Informatik

Fachhochschule Leipzig

Nach dem Abitur und der Wehrpflicht, habe ich ein Studium an der FH Leipzig begonnen, welches leider nicht meine Vorstellungen erfüllen konnte.

Daher habe ich eine Ausbildungsstelle als Fachinformatiker für Anwendungsentwicklung angenommen. Diese Entscheidung habe ich nie bereut.

1997 - 2000

Skills

Diese Liste ist nicht vollständig. Es sind nur die in letzter Zeit am meisten genutzten Dinge aufgezählt.

Workflow
  • Agile Development / Scrum / Kanban
  • Testdriven Design
  • Mobile-First, Responsive Design
Plattformen
  • Linux
  • Windows
  • MacOS
Tools
  • Visual Studio Code
  • Git
  • Jira
  • Adobe Photoshop
  • Docker
  • nginx
Sprachen
  • JavaScript
  • Type-Script
  • PHP
  • Java
  • ...
JS-Frameworks
  • express.js
  • sails.js
  • hapi.js
  • Mocha
  • jsdoc/esdoc
  • React.js
  • Vue.js
  • Angular.js
  • JQuery.js
Datenbanken
  • MySQL
  • MongoDB
  • Elasticsearch
  • Redis
  • memcached
  • OrientDB

Backend

Node.js als Backend-Plattform bietet ideale Vorraussetzungen für:

  • Microservice-Anwendungen
  • Datenbankanbindungen
  • Message-Broker Umgebungen
  • Low-Power-Devices
  • Cloud-Umgebungen
  • Function-as-Service
  • Software-as-Service
  • REST und API Provider
  • CMS/CRM Anwendungen
  • Mobile-App Anbindungen
  • IoT Anbindungen
  • Multi-Plattform-Anwendungen
  • ...vieles mehr...

Frontend

Im Frontend bietet die Kombination aus Browser und modernen HTML/CSS/JavaScript-Techniken die vielfältige Möglichkeiten.
Von reinen Webseiten über komplexe Webanwendungen bis hin zu plattformübergreifenden Desktop-Anwendungen sind die Anwendungsgebiete breit gefächert.
Besonders die Möglichkeit für verschiedene Endgeräte mit unterschiedlichen Eingabevarianten eine einheitliche Basis unabhängig vom zugrunde liegenden Betriebssystem zu schaffen ist ideal für die Bedürfnisse der heutigen Zeit.
Auch der wichtige Aspekt der Nachhaltigkeit in Bezug auf Code-Pflege und Langzeit-Kompatibilität ist eine der Stärken von browserbasierten Anwendungen.

In Kombination mit Verfahren wie Living-Style-Guides, LESS/SASS können auch hohe Anforderungen in den Bereichen CI, UI und UX effizient und übersichtlich abgedeckt werden.
Mit Framworks wie React, Angular oder Vue lassen sich viele Teile von Anwendungsfunktionen clientseitig effizient umsetzen.

Kontakt

Sebastian Wessel
Finkenweg 4b
63755 Alzenau

USt-IdNr.: DE311862764

Auf anderen Plattformen

Haftungsausschluss

Haftung für Inhalte

Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.

Haftung für Links

Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.

Google Analytics

Diese Website benutzt Google Analytics, einen Webanalysedienst der Google Inc. (''Google''). Google Analytics verwendet sog. ''Cookies'', Textdateien, die auf Ihrem Computer gespeichert werden und die eine Analyse der Benutzung der Website durch Sie ermöglicht. Die durch den Cookie erzeugten Informationen über Ihre Benutzung dieser Website (einschließlich Ihrer IP-Adresse) wird an einen Server von Google in den USA übertragen und dort gespeichert. Google wird diese Informationen benutzen, um Ihre Nutzung der Website auszuwerten, um Reports über die Websiteaktivitäten für die Websitebetreiber zusammenzustellen und um weitere mit der Websitenutzung und der Internetnutzung verbundene Dienstleistungen zu erbringen. Auch wird Google diese Informationen gegebenenfalls an Dritte übertragen, sofern dies gesetzlich vorgeschrieben oder soweit Dritte diese Daten im Auftrag von Google verarbeiten. Google wird in keinem Fall Ihre IP-Adresse mit anderen Daten der Google in Verbindung bringen. Sie können die Installation der Cookies durch eine entsprechende Einstellung Ihrer Browser Software verhindern; wir weisen Sie jedoch darauf hin, dass Sie in diesem Fall gegebenenfalls nicht sämtliche Funktionen dieser Website voll umfänglich nutzen können. Durch die Nutzung dieser Website erklären Sie sich mit der Bearbeitung der über Sie erhobenen Daten durch Google in der zuvor beschriebenen Art und Weise und zu dem zuvor benannten Zweck einverstanden.