Freiberuflicher Softwareentwickler, Architekt und Berater
- Verfügbarkeit einsehen
- 0 Referenzen
- 85‐95€/Stunde
- 34128 Kassel
- National
- de | en
- 01.07.2026
- Contract ready
Kurzvorstellung
Geschäftsdaten
Qualifikationen
Projekt‐ & Berufserfahrung
1/2024 – 12/2025
Tätigkeitsbeschreibung
Analyse- und Management-Tool DBInfraGO
Mehrere verschiedene Tools für die Analyse und das Management von Net-
zauslastungen, Verspätungsursachen und Zugplanungen. Die Tools wurden
sowohl für interne Zwecke, als auch für die Zusammenarbeit mit externen
Bahnunternehmen verwendet. Die verschiedenen Anwendungen basieren auf demselben Technologie-Stack. Im Frontend Angular und im Backend NestJS auf Basis von NodeJS mit einer Postgresql Datenbank. Für Live-Daten wird RabbitMQ eingsetzt und für Caches wird Redis verwendet. Eine Umstellung von RabbitMQ auf Kafka war bereits in der Versuchsphase (POC).
- Ich habe ein Konzept für Frontend-Unit-Tests im laufenden Projekt implementiert.
- Ich habe die Mitarbeiter des Projekts zum Thema Frontend-Unit-Tests und
Best Practices geschult.
- Ich habe ein paar umfangreichere Mockups mit Figma für neue UI-Ansichten in Zusammenarbeit mit den Fachabteilungen erstellt (und im Nachgang auch implementiert).
- Ich habe die CI/CD Pipeline komplett überarbeitet, sodass automatisierte
Paketierung und Veröffentlichung möglich sind.
- Ich habe die Bahnverantwortlichen über das Thema Microfrontend beraten
und die abgestimmten Vorschläge implementiert.
Apache Kafka, Postgresql, SQL, Scrum, Docker, Jenkins, Linux Entwicklung, Node.Js, Typescript, XML, Debian Linux, Microsoft Windows (allg.), SSH (Secure Shell), Figma, Angular, AngularJS, CSS (Cascading Style Sheet), HTML, HTML5, JavaScript, Json, Representational State Transfer (REST), Syntactically Awesome Stylesheets (Sass)
4/2023 – 12/2023
Tätigkeitsbeschreibung
Telekommunikationsserver
Eine Serveranwendung mit Webfrontend, die sämtliche Telefone, Anrufe,
Rufnummern, Chats, etc. eines Unternehmens verwaltet. Der Server selbst ist in Java 17 geschrieben und läuft (noch) auf einem Tomcat. Die Code-Basis wird schrittweise auf Spring-Boot und Vue.js migriert. Dazu gehören mehrere Soft-Clients zum telefonieren (Windows, Android, IOS, etc.).
Besondere Leistungen
- Das Zertifikatsmanagement für alle verschlüsselten Verbindungen des Servers wurde von mir neu implementiert. U.A. funktioniert das Austauschen von Zertifikaten nun ohne Neustart des Servers. Für die Implementierung wurde Bouncy Castle eingesetzt.
- Ich habe einen digitalen Workflow zur Erstellung neuer Zertifikate durch eine Certificate-Authority implementiert (Key Generation -> Certificate Signing Request -> X509Certificate).
- Zertifikate können alternative durch meine Implementierung auch automatisiert von Let’s Encrypt über das ACME-Protokoll bezogen werden.
- Ich habe das Vue.js Setup des Projekts um Frontend-Unit-Tests ergänzt auf
Basis von Vitest, @testing-library/vue, @testing-library/user-event, @vue-
test-utils, Chai und MswJs.
- Ich habe die Mitarbeiter des Projekts zum Thema Frontend-Unit-Tests und
Best Practices geschult.
- Ich habe die Mitarbeiter des Projekts zum Thema Clean Code geschult.
Postgresql, SQL, Confluence, Scrum, Apache Tomcat, Docker, Git, Gradle, Java (allg.), Java API for XML Processing (JAXP), Java Architecture for XML Binding (JAXB), Jira, Junit, Linux Entwicklung, Node.Js, Reactive Programming, Spring Framework, Typescript, XML, Virtualbox, Apache Struts, CSS (Cascading Style Sheet), HTML, JavaScript, Javaserver Pages, Json, Kubernetes, Representational State Transfer (REST), Vue.Js, Syntactically Awesome Stylesheets (Sass)
9/2022 – 3/2023
Tätigkeitsbeschreibung
Herden- und Betriebsmanagement-System für Milchbetriebe
Beschreibung Eine Serveranwendung mit Webfrontend die alle Daten eines Milchbetriebes verwaltet und die zugehörigen Maschinen steuert. Dazu gehören die Steuerung von Gattern, Melk- und Futterstationen, die Berechnung von Melk-Prognosen, die Verwaltung und Dokumentation aller Tiere und deren Gesundheitszustand. Die Anwendung besteht aus einem in Java 17 geschriebenem Spring-Boot Backend, welches APIs für andere Systemkomponenten bereitstellt und das Web-Fontend mit den nötigen Daten beliefert. Über Spring-Data mit Hibernate wird eine PostgreSQL Datenbank angebunden. Das Frontend basiert auf Angular 15 mit Typescript.
Besondere Leistungen
Verschiedene kritische Anfragen an das Backend wurden von mir bezüglich
der Ausführungsgeschwindigkeit (Performance) optimiert. Hier konnte ich
in der Regel eine Verbesserung um den Faktor 50 oder besser erreichen.
Apache Kafka, Postgresql, SQL, DevOps, Confluence, Scrum, Docker, Git, Hibernate (Java), Java (allg.), Jenkins, Jira, Junit, Linux Entwicklung, Node.Js, Spring Framework, Typescript, Figma, Microsoft Azure, Angular, CSS (Cascading Style Sheet), HTML, JavaScript, Representational State Transfer (REST), Syntactically Awesome Stylesheets (Sass)
4/2021 – 9/2022
Tätigkeitsbeschreibung
Software zur Anbindung von DMS und ERV Systemen
Kurz-Beschreibung Server-, Web- und Desktop-Anwendungen für die IT-Automatisierung im Bereich DMS und ERP.
Die Kernanwendung dieses Projekts umfasst einen auf NodeJS basierenden
Server und eine in Elektron präsentierte Steuerungskonsole. Hinzu kommen
Plugins, die vom End-Kunden separat installiert werden können und die den
Server und die Steuerungskonsole erweitern. Das Frontend der Steuerungskonsole ist mit React und MUI (Material UI) implementiert, wobei MobX für die Zustandsverwaltung eingsetzt wird.
Besondere Leistungen
- Die Code-Basis habe ich von Javascript auf Typescript umgestellt.
- Ich habe Webpack als Bundler eingeführt, wordurch automatisiert folgende Artefakte erstellt werden: Das Server-Bundle, das Electron-Backend-Bundle, das Electron-Frontend-Bundle und je Plugin ein Bundle.
- PNPM wurde von mir als Ersatz für NPM eingeführt, um die Build-Performance zu erhöhen und der aufgeteilten Code-Basis (Core + Plugins)
gerecht zu werden.
- Jest wurde von mir als Test-Framework eingeführt, wobei die Tests ebenfalls in Typescript geschrieben sind.
- Das Frontend wurde von mir auf React + MUI (Material UI) umgestellt.
- Ich habe eine Plugin-Schnittstelle für dynamische Erweiterungen entwickelt.
- Die wichtigesten Clean Code Regeln wurden von mir auf das Projekt angewendet.
- Ich habe Express.js durch Nest.js auf Basis von Fastify ersetzt.
Microsoft SQL-Server (MS SQL), SQL, DevOps, Kanban (Softwareentwicklung), Docker, Git, Node.Js, Typescript, Windows 10, Figma, CSS (Cascading Style Sheet), HTML, JavaScript, React (JavaScript library), Representational State Transfer (REST), UX / UI Designer, Syntactically Awesome Stylesheets (Sass)
7/2018 – 3/2021
Tätigkeitsbeschreibung
Regelungstechnik und Datenverarbeitung in Solar-Anlagen
Beschreibung
Eine Anwendung für die Verarbeitung von Daten und die Regelung von Solar-Anlagen aller Größenordnungen. Ausgeführt auf verschiedenen eingebetteten Systemen. Implementiert als Server-Anwendung mit Web-Frontend. Weitere Merkmale: Anbindung an Kundenportale, Anbindung an Protokolle und Regelungsvorgaben von Netzbetreibern und die Interoperabilität zu anderen Geräten aus dem Solar-Park.
Besondere Leistungen
- Ich habe eine Zeitseriendatenbank entwickelt mit dem Fokus auf Performance und einem kleinen Fußabdruck auf der Festplatte.
- Das Konzept zur Zeitseriendatenbank wurde als Patent registriert.
- Ich habe durch technische Umbauten die CPU-Auslastung des Backends um 50% senken können.
- Schulung der anderen Mitarbeiter in Clean Code und verschiedenen Java-
Grundlagen.
- Entwicklung eines (mehrseitigen) Mockups zur Konfigurations von
Regelungsalgorithmen und Netzbetreibervorgaben.
SQL, Kanban (Softwareentwicklung), Scrum, Bash Shell, Eclipse, Git, Gradle, Java (allg.), Jenkins, Jira, Junit, Linux Entwicklung, Node.Js, Typescript, Windows 10, Angular, CSS (Cascading Style Sheet), HTML, JavaScript, Jquery, Json, Representational State Transfer (REST)
2/2017 – 6/2018
Tätigkeitsbeschreibung
Webshop und Retourenportal für Paketdienstleistungen von DHL
Beschreibung
Ein Webshop und ein Retourenportal (zwei getrennte Projekte). Jeweils
implementiert als Webserver-Anwendung mit Anbindung an Bezahldienstleister wie Paypal und andere Systeme.
Besondere Leistungen
Ich habe Paypal als Bezahlschnittstelle in die Anwendung integriert.
Apache Maven, Apache Tomcat, Apache Wicket, Bash Shell, Confluence, CSS (Cascading Style Sheet), Docker, Git, Hibernate (Java), HTML, Java (allg.), JavaScript, Javaserver Pages, Jira, Jquery, Json, Junit, Linux Entwicklung, Node.Js, Oracle Database, Postgresql, Representational State Transfer (REST), SOAP, Spring Framework, SQL, Wildfly, XML
5/2015 – 11/2016
Tätigkeitsbeschreibung
Kundenspezifisches ERP System
Beschreibung
Ein ERP-System das gemäß individueller Kundenanforderungen neu entwickelt wurde. Unter anderem mit einer Team-Verwaltung, Team-Planung, Urlaubsplanung und Projekt-Planung. Implementiert als Mobile-First Webanwendung mit Client-Server-Architektur.
Besondere Leistung
Das Projekt war mit 50PT geschätzt und hatte nur ein Budget von 30PT.
Ich konnte das Projekt ohne Abstriche im vorgesehenen Budget umsetzen.
Angular, Apache Maven, Bash Shell, CSS (Cascading Style Sheet), Datenbankentwicklung, Docker, Git, Gradle, Hibernate (Java), HTML, Java (allg.), JavaScript, Jenkins, Jira, Jquery, Json, Junit, Linux Entwicklung, Node.Js, Postgresql, Representational State Transfer (REST), Spring Framework, SQL, Syntactically Awesome Stylesheets (Sass), Typescript
9/2014 – 11/2014
Tätigkeitsbeschreibung
Ein Portal zum sozialen Austausch und der Verwaltung von Solar-Anlagen.
Implementiert als Webanwendung mit Client-Server-Architektur, wobei das
Backend auf Akka aufbaut. Zur Skalierung wurden mehrere Instanzen parallel betrieben.
Besondere Leistungen:
Das Backend wurde auf mehreren Knoten gleichzeitig ausgeführt. Damit
Endkunden Änderungen über alle Knoten hinweg in Echtzeit angezeigt bekommen, habe ich eine Synchronisation dieser Knoten mit einer Event-basierten Kommunikation implementiert.
Angular, AngularJS, Bash Shell, Docker, Git, HTML, JavaScript, Jquery, Json, Junit, Less, Linux Entwicklung, Node.Js, Representational State Transfer (REST), Scala, SQL
Zertifikate
Tutego
Datenschutz Nord GmbH
Certible
Ausbildung
Universität Kassel
Kassel
Universität Kassel
Kassel
Über mich
Neben den offensichtlichen Technologie-Erfahrungen (siehe weitere Kenntnisse und Projektverlauf) konnte ich bereits
einige Performance-Probleme lösen,
Teststrategien für den Kunden entwickeln und
das Team des Kunden in Clean Code, Best Practices, Domain-Driven-Development und vielen weiteren Themen schulen.
Oft unterbewertet in den Projekten ist die Code-Architektur und Wartbarkeit. Ist man hier nicht gut aufgestellt geht viel Entwicklungsgeschwindigkeit verloren. Zu Beginn liefert das Team noch wöchentlich neue Features. Aber schon im Laufe des ersten Entwicklungsjahres werden die Schätzungen neuer Funktionen länger und die wöchentlich benötigte Zeit für Bugs nimmt immer weiter zu. Sollten Sie hier parallelen zu Ihrem Projekt erkannt haben, helfe ich Ihnen gerne weiter. Das die Entwicklungsgeschwindigkeit im Laufe der Zeit abnimmt ist kein Naturgesetz. Es ist eine Folge von ungünstiger Entscheidungen, technologischen Schulden und allem voran vernachlässigter Code-Architektur.
Weitere Kenntnisse
Java (6 - 25), Javascript, Typescript, Scala, C, C++, OCaml, CSS, Less, SCSS/Sass, JSX/TSX, Json, Yaml, XML, Html, SQL
Frameworks und Bibliotheken:
Spring Boot, React, Angular, Vue.js, Node.js, Mui, Bootstrap, NestJS,
Typeorm, JavaFX, Akka, Hibernate, Spring-Web, Spring-Webflux, Java-
EE/Jarkarta-EE, OSGi, JUnit, Redux, jQuery, MobX, Electron, Ex-
press.js, Fastify, Nest.js, Cypress, Jest, Wildfly, JPA, JOOQ, Struts,
JSP, Bouncy Castle, RabbitMQ
Datenbanken:
H2 Datenbank, PostgreSQL, (Microsoft) SQL-Server, Oracle DB, MySQL, Redis
Tools, Protokolle:
IntelliJ IDEA, Eclipse, Visual Studio Code, Figma, Git, Gradle, Maven, Bnd-Tools, Webpack, LATEX, Asciidoc, Markdown, Typo3, Hyper-V, VirtualBox, Microsoft Azure DevOps, Jira, Bitbucket, Gitlab, Confluence, Docker, Swagger/OpenAPI, Bash (unix shell), Soap, Rest, Grafana, Vite, Vitest, Postman, UML
Betriebssysteme:
Linux, Windows
Sonstige Programmierkenntnisse:
Design Pattern, Clean Code, Scrum, Safe, Kanban, SAFe, Requirements Engineering, Dependency Injection, Promises, Futures, Immutability, Functional Programming, Objectoriented Programming, OOP, OOA, OOD, Test-Driven-Development TDD, Domain-Driven-Development DDD, Zertifikatsmanagement, Domain-Driven-Design, DevOps, DevSecOps, E2E-Tests
Grundkenntnisse:
Go, Rust, Python, Kotlin, Dart, sonstige JVM-Sprachen
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
