Bastian Nolte Experte
Digitales Curriculum Vitae / Profil
IT Business Consultant & Trainer
Software-Architekt & Full Stack Developer
Vektorgrafik mit Notebook, Smartphone, Notizbuch und den Gedankenblasen, «Azure», «Kotlin», «MicroServices» und «vue.js»Foto von Bastian Nolte

Einleitung

Mein Name ist Bastian Nolte. Ich verfüge über zirka 24 Jahre Berufserfahrung im IT-Bereich, sowohl als Consultant, Trainer/Moderator, IT-Architekt und Software-Entwickler, als auch in Projektleitungsfunktion mit und ohne Personalverantwortung.

Ich sehe mich eher als Generalist und Unterstützer, denn als Spezialist. Durch mein breites Wissen, kann ich dabei helfen, effiziente und zielgerichtete Lösungen auch für komplexe Problemstellungen zu finden und umzusetzen.

Gerne unterstütze ich Sie bei Bedarf dabei Veränderungen und Innovationsprozesse anzustossen und erfolgreich zu etablieren, sowie Teams mit einer passenden Mischung aus Spezialisten und Generalisten aufzustellen und weiterzubilden.

Zurzeit unterstütze ich meine Kunden hauptsächlich in den Themenbereichen Consulting, Software-(entwicklung) und Schulung. Gerne unterstütze ich Sie dabei, sich in Richtung Azure Cloud und DevOps-Teams auszurichten.

Versions-Informationen

Dieses Curriculum Vitae steht in weiteren Versionen zur Verfügung:

Dieses Dokument mit der Id «web-62fa4bdbd2084e0008b06186» wurde zuletzt am 15. Aug. 2022 geändert.

Zusammenfassung

Ich war in den letzten 10 Jahren hauptsächlich in Projekten der Bereiche Versicherung, Automotive, Industrie, Verwaltung und Bildung involviert. Zu meinen Kunden zählen unter anderem die Capgemini Schweiz AG, die Schweizerische Unfallversicherungsanstalt (Suva) und die CSS Versicherung, die Volkswagen AG, Siemens, msg Systems, T-Systems und verschiedene Institutionen, darunter die Staatsbibliothek zu Berlin, das Ostasiatische Institut und verschiedene Landesbehörden und Stadtverwaltungen.

In der Projektarbeit nutzen wir Methoden, Frameworks und Mechanismen der agilen Entwicklung, wie Scrum, LeSS, Continuous Integration, testgetriebene Entwicklung, Mob- und Pair-Programming, in Verbindung mit den Prozess unterstützender Software wie Atlassian JIRA, Confluence und Team City.

Ich verfüge über ein breites Spektrum an Know-how in verschiedenen Programmiersprachen. Meine präferierten Sprachen sind TypeScript und F#.

Weiterhin verfüge ich über langjährige Erfahrung in der Projektplanung und -koordination, sowie der Administration diverser Server- und Clouddienste, wie zum Beispiel Microsoft Azure.

Ich beherrsche den Umgang mit den gängigsten Datenbanken. Kenntnisse über Spring (Boot), Java EE und den Einsatz verschiedener Frameworks und Libraries, wie beispielsweise MicroProfile, vue.js und Angular runden mein Profil ab.

Branchenerfahrung & Fachkompetenz

Grafische Darstellung der Branche VersicherungVersicherung
Grafische Darstellung der Branche InformationstechnologieInformationstechnologie
Grafische Darstellung der Branche AutomotiveAutomotive
Grafische Darstellung der Branche DienstleisterDienstleister
Grafische Darstellung der Branche IT DienstleisterIT Dienstleister
Grafische Darstellung der Branche Öffentlicher DienstÖffentlicher Dienst
Grafische Darstellung der Branche BildungsträgerBildungsträger
Grafische Darstellung der Branche TelekommunikationTelekommunikation
Grafische Darstellung der Branche IT SicherheitIT Sicherheit

Kunden

Rollen

Coach & Trainer

4 Jahre

IT Business Consultant

11 Jahre

Software-Architekt & (Technischer) Projektleiter

13 Jahre

Software Entwickler

24 Jahre

Persönliches

Photokomposition von Bastian Nolte
Name
Bastian Nolte
Auszeichnungen
Innovationspreis Public Private Partnership 2009 (PPP) für den fachübergreifenden Einsatz Neuer Medien
IT-Erfahrung seit
1998
Nationalität
Deutsch
Sprachen
Deutsch (Muttersprache), Englisch
Einsetzbar
  • CH-LI
  • Schweiz, Liechtenstein
  • Bevorzugte Arbeitsregion : Schweiz (oder remote)
Freizeit
  • Bergwandern, Tauchen, Kayaking
Kontaktdaten

Präferenzen

(immer offen für neue Technologien)

Aufgaben / Rollen

IT Business Beratung, Workshops, Full Stack Cloud Entwicklung und Architektur in Azure- und Innovationsthemen

Programmiersprachen

Polyglot (nach Anforderung), z.B. F#, TypeScript

Plattformen

Microsoft Azure Cloud Computing Services

Technologien / Frameworks

.NET 6, Spring Boot, MicroProfile mit Quarkus

Web-Anwendungen

Nach Anforderung, z.B. Vue.js, React, Angular

Datenbanken

Nach Anforderung, z.B. Azure Cosmos DB, Neo4j graph database

Fortbildungen

Regelmäßige Fortbildungen sind das Fundament einer tiefgehenden Expertise. Daher bilde ich mich permanent weiter und nutze hierfür primär die Möglichkeiten des World Wide Web. Eine Auflistung der letzten Weiterbildungen im klassischen Sinne finden Sie in der folgenden Tabelle.

Jahr
Art
Veranstalter
2022
Zertifiziertes iSAQB-Modul «Advanced Level CLOUDINFRA»
offen
  • Infrastruktur, Container und Cloud Native** (geplant)
offen
2021
Apache Kafka Kurs
Confluent
2021
Microsoft Azure Zertifizierung
Microsoft, Pearson VUE
2020
Kubernetes-Zertifizierung
The Linux Foundation, edX
2020
DevOps Kubernetes Camp
Software & Support Media GmbH
  • Viertägiges Intensivtraining über Kubernetes und Knative.
Erkan Yanar
2019
Konfliktmanagement und konstruktive Konfliktlösungen
oose Innovative Informatik eG
Kim Duggen
2019
Kommunikation & Moderationstechniken in der IT
oose Innovative Informatik eG
Tina Busch
2019
Zertifiziertes iSAQB-Modul «Advanced Level DDD»
Software & Support Media GmbH
  • Domain Driven Design im Software Architecture Camp
Matthias Bohlen
2019
Zertifiziertes LeSS Basic Training
Valtech GmbH
Nils Bernert
2018
w-jax
Software & Support Media GmbH
  • Trust and Confidence through Chaos
  • Microservices vs. Monolithen: Der definitive Shoot-out
  • Die Best Practices der Data Scientists
  • The Future of Streaming: Global Apps, Event Stores and Serverless
  • Argumente für den Einsatz von DevOps, InnerSource und modernen Entwicklungswerkzeugen beim eigenen Management
  • Kubernetes Patterns
  • Java EE/MicroProfile
  • Wie moderne SQL-Datenbanken auf Algorithmen kommen, von denen du nie geträumt hättest
  • 9 Fallen auf dem Weg zum Business Value
  • Eine Einführung in Deep Learning
  • JUnit 5: More than just a Testing Framework for Java
  • Von Service-orientierten Architekturen (SOA) zu DDD und Microservices
  • Azure Cloud Services für Java-Entwickler
  • Microservices-Umgebung und Sidecars
  • Progressive Web Apps mit der Service Worker API
  • Angular-Workshop: Architektur und Konzepte für moderne webbasierte Geschäftsanwendungen
Russell Miles, Eberhard Wolff, Markus Harrer, Ben Stopford,Johannes Nicolai, Lilli Seyther-Besecke, Dr. Roland Huß, Lukas Eder, Dr. Carola Lilienthal, Uwe Friedrichsen, Dr. Shirin Glander, Marc Philipp, Christian Weyer, Christoph Iserlohn, Simon Skoczylas, Manfred Steyer
2018
Jax Agile Day 2018
Software & Support Media GmbH
  • Improv-driven Agility (IDA) – Agilität trainieren mit Improtheater 2.0
  • Nachhaltige Teamentwicklung - die Spreu vom Weizen trennen
  • We are agile!? – Wie wir sicherstellen, dass Teams agil arbeiten können
  • Qualität und Team mit Codereviews
  • Wie stelle ich sinnvoll (agile) Softwareentwickler ein?
  • Agile - Was kostet der Spaß?
Mirko Schrempp, Rüdiger Schnirring, Reginald Rink, Christian Schneiker, Tobias Ranft, Konstantin Diener, Lutz Malburg & Stefan Mieth
2018
JavaScript- & AngularDays
Software & Support Media GmbH
  • Das JavaScript-Upgrade für 2018 für Webentwickler
  • Navigationsstrukturen mit dem Angular Router: Deep Dive
  • Reactive Forms in Angular
  • WebAssembly: Single Page Applications (SPAs) ohne JavaScript?
  • Hochperformante Single Page Applications mit Angular
  • Struktur für Ihre großen Angular-Anwendungen: Pakete, Monorepos und Microfrontends
  • Cross-Plattform-Entwicklung mit Electron, Cordova und Angular
  • Reactive Programming mit RxJS
Peter Kröner, Manfred Steyer, Shmuela Jacobs, ngGirls, Christian Weyer, Thinktecture AG, Manfred Steyer, Gregor Biswanger, Sebastian Springer

Soft Skills

Soziale Kompetenzen

Im folgenden Kapitel werden meine Soft Skills als Graph und Tabelle visualisiert dargestellt.

  • Eigenverantwortliches Handeln
    • Analysieren
    • Beraten
    • Umsetzen
    • Prüfen
    • Verbessern
  • Selbst
    • Introspektion
    • Gesunde Selbstwirksamkeitserwartung
    • Eigenverantwortung
    • Selbstdisziplin
    • Hohe Auffassungsgabe
  • Andere
    • Hilfsbereitschaft
    • Empathie
    • Kritikfähigkeit
    • Sprachkompetenz
  • Zusammenarbeit
    • Teamfähigkeit
    • Flexibilität
    • Engagement
    • Sachkompetenz

Know-how

In den folgenden Kapiteln wird mein IT-Know-how nach Kategorien gruppiert - in Form von Graphen und alternativ in tabellarischer Form - dargestellt. Technologien die von mir zurzeit präferiert werden, sind im Graph durch einen orange hinterlegten Kreis markiert.

Entwicklung (allgemein)

  • Cloud
    • Microsoft Azure Cloud Computing Services (Microsoft Azure)
    • Kubernetes (k8s)
    • netlify
    • Azure DevOps Services
  • Programmiersprachen
    • F#
    • C#
    • Kotlin
    • Java
    • Python
  • Frameworks
    • .NET 6 (.NET Core)
    • Spring Framework (Spring)
    • Java Platform, Enterprise Edition (JEE)
  • Skriptsprachen
    • TypeScript
    • JavaScript (ECMAScript, ES)
    • Command Line Interfaces
      • Bash/ksh/csh/zsh/...
      • PowerShell (PowerShell Core)
      • Reguläre Ausdrücke (regular expression, RegExp, Regex)
  • Datenbanken
    • NoSQL
      • Azure Cosmos DB
      • Neo4j graph database (neo4j)
      • MongoDB
    • Relationale Datenbanken
      • MySQL
      • Oracle Database (Oracle Database Server, Oracle RDBMS)
      • Microsoft SQL Server (MS SQL Server)
      • PostgreSQL
    • Verzeichnisdienste
      • OpenLDAP (LDAP)
    • Datenbank- / Abfragesprachen
      • GraphQL
      • Gremlin Graph Traversal Machine and Language (Gremlin Graph Query Language)
      • Cypher Query Language
      • Java Persistence Query Language (JPQL, Jakarta Persistence Query Language)
      • Java Persistence Criteria API
      • Java Named Queries (JPA Named Queries)
      • Hibernate Query Language (HQL)
      • SQL
      • PL/SQL
      • Transact-SQL (T-SQL)
      • LINQ (Language Integrated Query)
  • Container
    • containerd
    • Docker
  • Kommunikation
    • Azure Service Bus
    • Azure Event Grid
    • RabbitMQ
  • Web
    • HTML5 (HTML)
    • CSS
    • Sassy CSS (SCSS, SASS)
    • {less} (lesscss)
    • JavaScript (ECMAScript, ES)
      • Vue.js
      • Vuetify (Material Design Komponenten-Framework)
      • Angular
      • React (reactjs)
      • TSX (Typed JSX)
      • Gatsby (gatsbyjs, Static Site Renderer)
      • Apache Cordova
      • jQuery
      • Sencha Ext JS
      • JSON Web Token (JWT)
      • Material Design
    • Node.js® (node)
  • Auszeichnungssprachen
    • CSS
    • FXML
    • HTML (HTML)
    • JavaScript Object Notation (JSON)
    • JSON Schema
    • Unified Modeling Language (UML)
    • Web Application Description Language (WADL)
    • Web Services Description Language (WSDL)
    • Extensible Markup Language (XML)
    • YAML Ain’t Markup Language (YAML)
    • TOML (Tom's Obvious, Minimal Language)
    • Open Graph protocol
  • Entwicklungsumgebungen
    • JetBrains IntelliJ IDEA
    • Microsoft Visual Studio Code (VS Code)

Microsoft Azure

  • Microsoft Cloud Adoption Framework für Azure
  • Azure Enterprise Integration Platform as a Service (iPAAS)
  • Identity and access management (IAM)
    • Microsoft identity platform
    • Microsoft Entra (Secure access for a connected world)
    • Azure Active Directory (Azure AD)
    • Azure Active Directory B2C (Azure AD B2C)
    • Microsoft Authentication Library (MSAL)
  • Azure API Management
  • Azure App Service (Apps)
    • Azure Web Apps
    • Azure Static Web Apps
    • Azure Function Apps
    • Azure Durable Function Apps
    • Azure Container Apps
  • Container
    • Azure Container Instances (ACI)
    • Azure Container Registry (ACR, Docker registry service)
  • Integration
    • Azure Event Grid
    • Azure Service Bus
    • Microsoft Graph
  • Data
    • Azure SQL Database
    • Azure Cosmos DB
    • Azure Storage account
  • Azure Monitor
    • Log Analytics workspace
    • Application Insights
  • Azure DevOps Services
    • Azure Pipelines (Build, test and deploy with CI/CD)
    • Azure Repos (cloud-hosted private Git repositories)
    • Azure Artifacts
  • Infrastructure as code
    • Azure Resource Manager (ARM)
    • Azure Resource Manager templates (ARM templates)
    • Bicep
    • Terraform (infrastructure as code software, IAC)
  • Konfiguration
    • Azure App Configuration (Schneller, skalierbarer Parameterspeicher zur App-Konfiguration)
    • Azure Key Vault

Java, Scala und JVM (im Detail)

  • JavaSE
    • GraalVM
    • AspectJ
    • API / Libraries
      • Apache Commons
      • Apache Collections
      • Apache DeltaSpike
      • Apache Log4J (Log4J)
      • Apache Lucene
      • Apache Solr™️
      • Apache POI (Java API for Microsoft Documents)
      • Aspose Cells
      • Aspose PDF
      • Aspose Words
      • Elasticsearch
      • Google Guava
      • Simple Logging Facade for Java (SLF4J)
    • JavaFX
    • Swing GUI-Toolkit (Swing)
  • Java EE / Jakarta EE
    • Frameworks / API
      • Java Platform, Enterprise Edition (JEE)
      • Primefaces
      • Hibernate
      • EclipseLink (Eclipse Toplink, Toplink)
    • Management and Security Technologies
      • Java Authentication and Authorization Service (JAAS)
    • Web Application Technologies
      • Java API for WebSocket
      • Java API for JSON Processing (JSON-P, JSR 374 Specification)
      • Java Servlet
      • Java Server Faces (JSF)
      • JavaServer Pages (JSP, Jakarta Server Pages)
      • Expression Language (EL)
    • Web Services Technologies
      • Java API for RESTful Web Services (JAX-RS)
      • Java API for XML Web Services (JAX-WS)
      • SOAP
    • Enterprise Application Technologies
      • Contexts and Dependency Injection (CDI)
      • Java Bean Validation (JSR 303)
      • Enterprise JavaBeans (EJB)
      • Java Persistence API (JPA)
      • Java Transaction API (JTA)
      • JavaMail API
      • Java Message Service (JMS)
    • (Application) Server
      • Quarkus (Supersonic Subatomic Java)
      • IBM WebSphere Application Server (WSA)
      • Oracle WebLogic Server (WLS)
      • Glassfish
      • WildFly Application Server
      • Apache TomEE (Java EE Web Profile Implementation)
  • Eclipse MicroProfile
    • Technologien
      • OpenAPI
      • MicroProfile Fault Tolerance
      • MicroProfile Health
      • JWT RBAC for MicroProfile
      • MicroProfile OpenTracing
      • MicroProfile Service Mesh
  • Scala
    • Frameworks
      • Play Framework
      • Slick (Functional Relational Mapping for Scala)

Domain Driven Design

Übersicht über die Mustersprache

Original von Eric Evans, frei übersetzt von Bastian Nolte

Taktisches Design Strategisches Design Bounded Context Bounded Context Context Map Context Map Continuous Integration Continuous Integration Core Domain Core Domain Model-Driven Design Model-Driven Design Value Objects Value Objects Entities Entities Aggregates Aggregates Factories Factories Repositories Repositories Domain Events Domain Events Services Services Layered Architecture Layered Architecture Generic Subdomains Generic Subdomains Ubiquitous Language Ubiquitous Language Big Ball of Mud Big Ball of Mud Anit-Corruption Layer Anti-Corruption Layer Separate Ways Separate Ways Open Host Service Open Host Service Published Language Published Language Conformist Conformist Customer / Supplier Customer / Supplier Shared Kernel Shared Kernel trennt das konzeptuelle Durcheinander des… einseitig übersetzen und isolieren mit… macht die Teams unabhängig unterstützt mehrere clients durch… Übersetzungen minimieren als… zusammenhängende Kontexte verknüpfen als… zusammenhängende Kontexte überlappen mit Modell eindeutig halten mit… Überblick über Beziehungen verschaffen mit… arbeiten in einem autonomen klar umrissenen… zu grosse Investitionen vermeiden reichhaltiges Modell kultivieren mit… definiere das Modell innerhalb des… Model gibt Struktur isoliere Domäne mit… präzisiere Zustand & Berechnungen mit… präzisiere Identität mit… präzisieren Änderungen mit… präzisiere Model mit… kapsle ein mit… kapsle Erzeugung mit… fungiere als Wurzel für… greife zu mit… kapsle Erzeugung mit… kapsle Erzeugung mit… kapseln greife zu mit… drücke Zustands- änderung aus durch… die Namen führen zu… formalisiert als…

Werkzeuge / Tools

  • Versionsverwaltung / SCM
    • Git
    • Atlassian Bitbucket (Bitbucket, Stash)
    • Liquibase (Database Refactoring)
  • Testautomatisierung
    • Jest (JavaScript testing framework)
    • Cypress (JavaScript End to End Testing Framework)
    • JUnit
    • xUnit.net
    • TestNG (Testing Framework)
    • Mockito
    • EasyMock
    • PowerMock
    • Hamcrest
    • DbUnit
    • H2 Database Engine (H2)
    • Arquillian
    • Arquillian ShrinkWrap (ShrinkWrap)
    • Arquillian Drone
    • Arquillian Graphene
    • Selenium
    • Selenium Grid (Grid)
    • Karma Test Runner (Karma)
    • Jasmine Modultest-Bibliothek (Jasmine)
    • Protractor end-to-end test framework (Protractor)
    • $httpBackend
    • SonarQube
    • SoapUI
    • Postman
    • FindBugs™
    • Lint
  • Build Tools
    • Apache Maven (Maven)
    • Gradle Build Tool
    • Jenkins (Hudson)
    • Jenkins Pipeline
    • TeamCity CI/CD
    • npm
    • Gulp (gulpjs, workflow automation and enhancement)
    • Bower (package manager)
    • Docker
    • Yarn - Package Manager
    • JRebel
  • Koordination / Support
    • Atlassian Jira Cloud (Jira)
    • Atlassian Jira Server (Jira)
    • Tempo für Jira
    • Microsoft Project
    • HP Application Lifecycle Management (HP ALM)
  • Dokumentation
    • Adobe Framemaker
    • Atlassian Confluence (Confluence)
  • Prototyping
    • Adobe XD
    • Figma
  • Projektarchitektur
    • SparxSystems Enterprise Architect (Enterprise Architect)
    • Microsoft Visio Professional
    • OmniGraffle
  • Microsoft Office
    • Microsoft Word
    • Microsoft Excel
    • Microsoft PowerPoint
  • SAP
    • SAP CRM (Customer Relationship Management, Kundenbeziehungsmanagement)
    • SAP ERM (Enterprise Resource Planning, Finanzen, Personalwesen, Fertigung, Logistik, Services, Beschaffung)
    • SAP CATS
  • Protokollierung, Monitoring & Reporting
    • Splunk

Design Pattern & Prinzipien

  • Architectural pattern (Architekturmuster)
    • Atomic design
    • Model view controller (MVC, Modell-Präsentation-Steuerung)
    • Model view presenter (MVP, Modell-Ansicht-Präsentierer)
    • Event-driven architecture (Ereignisgesteuerte Architektur)
    • Service-oriented architecture (SOA, Diensteorientierte Architektur)
    • Command query responsibility segregation (CQRS, Kommando-Abfrage-Zuständigkeits-Trennung)
    • Enterprise architecture (Unternehmensarchitektur)
    • Publish–subscribe pattern (Veröffentlichen & Abbonieren-Muster)
    • PRPL pattern (Push (or preload), Render, Pre-cache, Lazy Load)
  • Analysis pattern (Analysemuster)
    • Domain driven design (DDD)
    • Event sourcing (ES)
  • Creational design pattern (Erzeugungsmuster)
    • Singleton pattern
    • Prototype pattern (Prototyp Muster)
    • Factory method (Fabrikmethode)
    • Builder pattern (Erbauer Muster)
  • Structural Design Pattern (Strukturmuster)
    • Adapter pattern (Adapter Muster)
    • Composite pattern (Kompositum Muster)
    • Decorator pattern (Decorator Muster)
    • Proxy pattern (Stellvertreter Muster)
    • Facade pattern (Fassade Muster)
    • Bridge pattern (Brücke Muster)
    • Data Access Object (DAO, Datenzugriffsobjekt)
    • Data Transfer Object (DTO, Datentransferobjekt)
  • Behavioral Design Pattern (Verhaltensmuster)
    • State pattern (Zustands-Muster)
    • Strategy pattern (policy pattern, Strategie Muster)
    • Visitor pattern (Besucher Muster)
    • Memento pattern (Token pattern, Memento Muster)
    • Observer pattern (Beobachter Muster)
    • Null object pattern (Nullobjekt Muster)
    • Circuit breaker pattern (Sicherungsmuster)
  • Concurrency pattern (Nebenläufigkeitsmuster)
    • Double-checked locking (doppelt überprüfte Sperrung)
    • Thread pool pattern
    • Readers–writer lock
  • SOLID principles
    • Single responsibility principle (Single-Responsibility-Prinzip, Prinzip der eindeutigen Verantwortlichkeit)
    • Open–closed principle (OCP, Prinzip der Offen- und Verschlossenheit)
    • Liskov substitution principle (LSP, Liskovsches Substitutionsprinzip, Ersetzbarkeitsprinzip)
    • Interface-segregation principle (ISP, Schnittstellenaufteilungsprinzip)
    • Dependency inversion principle (DIP, Abhängigkeits-Umkehr-Prinzip)
  • Distributed computing (Verteilte Systeme)
    • Saga Transaction Pattern (Saga distributed transactions)
    • Throttling pattern (Drossellungs-Muster)
    • Static content hosting pattern
  • Sharding Pattern
    • Range-based sharding pattern
    • Vertical Sharding Pattern
    • Hash-based Sharding

Unix-Serveradministration und -konfiguration

  • Betriebssysteme
    • Debian GNU/Linux (Debian)
    • Red Hat Enterprise Linux (RHEL)
    • Fedora
    • OpenBSD
  • Serverdienste
    • Apache HTTP Server
    • Apache Tomcat® (cluster) (Tomcat)
    • SonarQube
    • Jenkins (Hudson)
    • Squid Cache & Proxy Server (squid)
    • Postfix (Mail Transfer Agent, MTA)
    • Exim Internet Mailer (Exim)
    • Cyrus IMAP
    • AMaViS (A MAil Virus Scanner)
    • Clam AntiVirus (ClamAV, clamd)
    • OpenLDAP (LDAP)
    • MIT Kerberos-Server
    • free RADIUS (RADIUS, Remote Authentication Dial-In User Service)
    • DansGuardian
    • ProFTPD (Highly configurable GPL-licensed FTP server software)
    • Apache SpamAssassin
    • Samba File- & Print Server (smb, cifs)
    • DHCP daemon (dhcpd)
    • BIND Nameserver (bind, DNS Server)
    • Network Time Protocol Deamon (ntpd)
    • Pluggable Authentication Modules (pam, pamd)
    • Network File System Deamon (nfs)
    • iptables
    • Simple Network Management Protocol Deamon (snmpd)
    • SNORT (Network Intrusion Detection System, Network Intrusion Prevention System, NIDS, NIPS)
    • Nagios (The Industry Standard In IT Infrastructure Monitoring, IT Infrastructure Monitoring)

Projektauszüge

In den folgenden Kapiteln wird mein bisheriges Tätigkeitsprofil, exemplarisch anhand von Projektauszügen dargestellt. Die Darstellung erfolgt in tabellarischer Form und beinhaltet die Rolle, die ich in den jeweiligen Projekten eingenommen habe, sowie eine Beschreibung der Projekte und der eingesetzten Technologien und Werkzeuge.

Klicke auf ein Thema, um die Projekte nach diesem Kriterium zu filtern.

Microsoft AzureMicrosoft Azure
VersicherungVersicherung
SchulungSchulung
AngularAngular
JavaJava

Azure Data Aggregation & Curation Solution

Planung, Implementierung und Betrieb einer Anwendung für Datenaggregation & Kuration mit Microsoft Azure Cloud Computing Services

Rolle
Full Stack (Analyse > Architektur >> DevOps: Entwicklung > Bereitstellung > Betrieb)
Zeitraum
Seit Juli 2021
Ausgeführte Tätigkeiten
  • Planung der Gesamtlösung
  • Erstellung einer Lösungsarchitektur
  • Aufbau der Soucecodeverwaltung als Monorepo mit Yarn Workspaces
  • Azure Enterprise Integration Platform as a Service
  • Identity and access management mit Azure Active Directory
  • Implementierung der Webanwendung mit Vue.js, Azure Static Web Apps und Azure Function Apps
  • Azure Durable Function Apps für Scraping, Aggregation, Kuration und Versand an Slack-Channel
  • Azure Cosmos DB für Datenhaltung
  • Propagierung von fachlich begründeten Ereignissen via Azure Event Grid
  • Nachrichtenversand mit Slack App, Slack Block Kit
  • Bereitstellung der Infrastruktur via Terraform
  • Continuous Integration und Continuous Deployment mit Azure DevOps Services
Technologien / Produkte
Microsoft Azure Cloud Computing Services
Azure Active Directory (Azure AD) , Azure API Management , Azure Function Apps , Azure Durable Function Apps , Azure Cosmos DB , Azure Event Grid , Azure Monitor , Azure Resource Manager (ARM) , Azure Resource Manager templates (ARM templates)
Client / Frontend (SPA)
Vue.js, Pinia , HTML5 (HTML) , CSS , axios
Backend
OpenAPI, TypeScript , axios , XPath
Build Toolchain
Azure DevOps Services, Terraform (infrastructure as code software, IAC) , Node.js® (node) , PowerShell (PowerShell Core) , Yarn - Package Manager
Werkzeuge zur testgetriebenen Entwicklung
Jest (JavaScript testing framework) , Cypress (JavaScript End to End Testing Framework)
Entwicklungs-umgebungen & -tools
Microsoft Visual Studio Code (VS Code) , Azure Functions Core Tools , Postman

Verkaufsplattplattform für Tickets Schweizer Attraktionsanbieter

In diesem Projekt ging es um die Planung und Implementierung einer Plattform für den zentralen Vertrieb von Tickets Schweizer Attraktionsanbieter über eine gemeinsame Plattform. Neben dem Angebot der Tickets, wurden Features wie Wetterinformationen, Öffnungs- und Fahrtzeiten, sowie Abrechnung implementiert.

Es handelte sich um ein Greenfield-Projekt eines Startups, in welchem ich eine multifunktionale Rolle ausfüllen durfte. Anfänglich war ich hauptsächlich in Beratung und Schulung aktiv, um dann nachfolgend bei dem Aufbau einer Azure Cloudumgebung und der Entwicklung der Gesamtlösung zu unterstützen (hands-on).

Zu Beginn habe ich Schulungen zu Vorgehensmodellen aus dem Bereich der Projektorganisation, wie SCRUM und Kanban durchgeführt. Anschliessend führten wir dann gemeinsame Workshops durch, in denen wir evaluierten, welche Software unseren Anforderungen am besten entspricht. Diese Software wurde dann gemeinsam eingerichtet und deren Nutzung in die täglichen Abläufe integriert.

Nachdem wir grundlegende Werkzeuge wie Atlassian Jira, Confluence, Mural und Zoom eingeführt hatten, begannen wir damit uns entwicklungsnäheren Themen zuzuwenden.

In der zweiten Phase haben wir in Workshops das Verständnis und die technischen Grundlagen für die agile Softwareentwicklung weiter aufgebaut. Themen waren dabei unter anderem Continuous Integration und Continuous Deployment, die Testpyramide, sowie einige Codequalitätsthemen wie SOLID, TDD, Mob- und Pair Programming sowie KISS.

In der dritten Phase designten und implementierten wir gemeinsam ein minimum marketable product (MMP). Im Zuge dessen wurden die Entwicklungs- und Integrationsumgebungen aufgebaut, die Azure Cloud Ressourcen konfiguriert und provisioniert und die eigentliche Softwareentwicklung durchgeführt. Informationen zu den eingesetzten Technologien finden sich in der folgenden Tabelle.

Rolle
Mulifunktionale Rolle (Beratung > Schulung > Hands-on)
Zeitraum
September 2019 - Dezember 2020
Ausgeführte Tätigkeiten
  • Beratung
  • Durchführung von Schulungen
  • Einführung CI/CD mit Azure DevOps
  • Einführung Azure Cloud Computing
  • Unterstützung bei der Entwicklung des MMP
Technologien / Produkte
Microsoft Azure Cloud Computing Services
Azure Active Directory B2C (Azure AD B2C) , Azure Function Apps , Azure Durable Function Apps , Azure Web Apps , Azure SQL Database , Azure Monitor , Azure API Management , Azure Event Grid , Azure Service Bus
Client / Frontend
Angular, Angular CLI , NgRx (reactive state for angular) , RxJS , Angular Material , HTML5 (HTML) , CSS
Backend
OpenAPI, .NET 6 (.NET Core) , F# , C#
Build Toolchain
Azure DevOps Services, Github , Azure Resource Manager (ARM) , Azure Resource Manager templates (ARM templates) , Bicep , Node.js® (node) , PowerShell (PowerShell Core)
Werkzeuge zur testgetriebenen Entwicklung
Karma Test Runner (Karma) , Protractor end-to-end test framework (Protractor) , Jasmine Modultest-Bibliothek (Jasmine) , TSLint
Entwicklungs-umgebungen & -tools
Microsoft Visual Studio Code (VS Code) , Azure Functions Core Tools , Figma , NuGet , Yarn - Package Manager

Curriculum Vitae

Planung und Umsetzung dieses Curriculum Vitae / dieser Résumé-Webseite.

Rolle
Full Stack (Analyse > Architektur > Entwicklung > DevOps)
Zeitraum
November 2020 - Februar 2021
Ausgeführte Tätigkeiten
  • Planung der neuen Résumé-Seite
  • Erstellung einer Lösungsarchitektur
  • Recherche und Auswahl der einzusetzenden Technologien
  • Erstellung der Texte & (Vektor)-Grafiken
  • Aufbau Continuous Integration
  • Aufbau Continuous Deployment
  • Implementierung Webseiten- & PDF-Erzeugung…
  • …aus einer gemeinsamen «Single source of truth»
  • …auf Basis aktueller Technologien (Gastby Static Site Renderer, HTML-5)
  • Rollout und Betrieb
Technologien / Produkte
Gatsby (gatsbyjs, Static Site Renderer) , React (reactjs) , Sassy CSS (SCSS, SASS) , HTML5 (HTML) , CSS , TypeScript , JavaScript (ECMAScript, ES) , TSX (Typed JSX) , JSX , JavaScript Object Notation (JSON) , JSON Schema , YAML Ain’t Markup Language (YAML) , TOML (Tom's Obvious, Minimal Language) , Scalable Vector Graphics (SVG, skalierbare Vektorgrafik) , Open Graph protocol , GraphQL , Latex , TeX Live , netlify , Git , Github , Docker , continuous integration , continuous delivery , Azure DevOps Services , JetBrains IntelliJ IDEA , Google Analytics , Jamstack , PRPL pattern (Push (or preload), Render, Pre-cache, Lazy Load)

CSS Versicherung

(2018 - 2020)

Die CSS Versicherung ist nicht nur eine Krankenkasse, vielmehr eine Versicherung für jede Lebenslage. Wenn es um die Gesundheit geht, vertrauen der CSS rund 1,7 Millionen Menschen. Zum breiten Angebot gehören Kranken-, Unfall- und Sachversicherungen.

Exzellenz- und Innovation

Consultant und Trainer für Innovation, sowie Software-Exzellenz und -craftsmanship

In den Jahren 2018 bis 2020 unterstützte ich die CSS Versicherung in verschiedenen Bereichen. Ich förderte die Weiterentwicklung von Mitarbeitern in meinem Stream hin zu noch mehr Exzellenz und Know-how, indem ich Schulungen und Workshops zu Exzellenz- und Innovationsthemen plante und durchführte.

Ausserdem unterstützte ich die Einführung von Mob- und Pairprogrammings und nahm aktiv daran teil, hauptsächlich zu den Themen «Software Craftsmanship» und Softwareexzellenz.

Weiterhin unterstützte ich den Kunden in den Entwicklungsbereichen Front- und Backend-Entwicklung, sowie DevOps, mit dem Ziel den Wechsel in die Welt des Cloud Computing einzuleiten.

Meinen SCRUM-Teams half ich bei der Analyse konkreter Problemstellungen, der Lösungsfindung und der Implementierung unter Einhaltung von Best Practices und stand den Teams und Lead Architekten meines Streams beratend zur Seite.

Rolle
Consultant und Trainer für Exzellenz- und Innovationsthemen
Zeitraum
Oktober 2018 - Juni 2020
Ausgeführte Tätigkeiten
  • Durchgeführte Workshops und Schulungen…
  • Softwareentwicklung im Mob «Methodik und Durchführung»
  • Coding Dojos zu verschiedenen Software Craftsmanship Themen und Exzellenzthemen, wie zum Beispiel testgetriebene Entwicklung (TDD), Clean Code und SOLID-Prinzipien
  • Einführung in Domain-driven Design (DDD)
  • Fullstack-Entwicklung unter MacOS
  • Die Grundlagen der Programmiersprache Kotlin
  • Programmierung mit «observable streams» und ReactiveX
  • Hochperformante Microservices mit Quarkus und GraalVM
  • Einführung in Docker und Kubernetes
  • Continuous Integration mit Microsoft Azure DevOps Pipelines
  • Einführung Microsoft Azure Cloud
  • Frontendentwicklung in Angular, React, Vue.js mit Flow/Redux/NgRx und Immutables
Technologien / Produkte
Client / Frontend
React (reactjs) , JSX , Vue.js , Angular , TypeScript , Apache Cordova , HTML5 (HTML) , CSS , Sassy CSS (SCSS, SASS) , JavaScript (ECMAScript, ES) , JavaScript Object Notation (JSON) , Material Design
Client Build-Toolchain
npm, Node.js® (node) , TeamCity CI/CD
Middleware / Backend
Kotlin, Java Platform, Enterprise Edition (JEE), Microsoft Azure, im Einzelnen:
Quarkus (Supersonic Subatomic Java) , GraalVM , Enterprise JavaBeans (EJB) , Java Persistence API (JPA) , Java Transaction API (JTA) , Java Named Queries (JPA Named Queries) , Java Message Service (JMS) , Java API for XML Web Services (JAX-WS) , Java API for RESTful Web Services (JAX-RS) , Contexts and Dependency Injection (CDI) , IBM WebSphere Application Server (WSA) , Airlock Web Application Firewall (WAF) , Apache Commons , Apache Collections , Apache Log4J (Log4J) , Simple Logging Facade for Java (SLF4J) , Java Authentication and Authorization Service (JAAS) , SQL , PL/SQL , Microsoft Azure Cloud Computing Services (Microsoft Azure)
Server Build-Toolchain
Apache Maven (Maven) , TeamCity CI/CD
Werkzeuge zur testgetriebenen Entwicklung
code quality tools & continuous delivery & version control
SonarQube , Lint , Docker , Azure DevOps Services , Git , Atlassian Bitbucket (Bitbucket, Stash) , Github , Splunk

Server
Arquillian , H2 Database Engine (H2) , JUnit , Mockito , PowerMock , Hamcrest

Client
Karma Test Runner (Karma) , Protractor end-to-end test framework (Protractor) , Jasmine Modultest-Bibliothek (Jasmine) , Selenium Grid (Grid) , Jest (JavaScript testing framework)
Entwicklungs-umgebungen & -tools
JetBrains IntelliJ IDEA, Oracle SQL Developer , Postman , MacOS , Microsoft Windows 10 (Windows 10)
Agilitäts-Toolchain
Atlassian Jira Server (Jira) , Atlassian Confluence (Confluence) , Atlassian Bitbucket (Bitbucket, Stash)

SUVA Unfallversicherung

(09/2015 - 12/2017)

Von September 2015 bis Dezember 2017 war ich in verschiedenen Projekten der Schweizerischen Unfallversicherungsanstalt (suva) tätig.

Die Schweizerische Unfallversicherung Suva ist ein wichtiger Teil des schweizerischen Sozialversicherungssystems. Als selbstständiges Unternehmen des öffentlichen Rechts versichert die Suva Menschen im Beruf und in der Freizeit. Ihre Präventionsprogramme im Bereich Arbeits- und Freizeitsicherheit verhindern Unfälle und Berufskrankheiten und fördern die Sicherheitskultur in Unternehmen sensibilisieren für Gefahren und motivieren zur Eigenverantwortung.

Auf die Projekte, die ich bei der Suva begleiten durfte, gehe ich in den folgenden Kapiteln dezidiert ein.

Risk Pricing

Im Programm RiskPricing wurden die Prozesse zur Prämienbemessung und die Systeme zur Festsetzung der Prämiensätze unter Berücksichtigung von Branche, Risikogemeinschaft, Bonus-Malus und Erfahrungstarifierung neu entwickelt und zudem eine neue Grossschäden- und Rückversicherungslösung umgesetzt.

Es wurde eine Lösung zur Analyse der aktuellen Risikosituation und der finanziellen Lage unter Berücksichtigung von Informationen aus dem Risikoinformationssystem und der adcubum SYRIUS Assekuranzsoftware geschaffen, auf Basis derer die Prämiensituation bewertet und der Abbau der Ausgleichsreserven kalkuliert werden kann.

Unter Einbezug der Bonus-Malus-Modelle und der Erfahrungstarifierung können Simulationen durchgeführt werden, die als Grundlage für die Festsetzung der Prämiensätze in den Sparten Berufsunfall- und Nichtberufsunfallversicherung dienen. Zudem erfolgt die Kalkulation und Erstellung der Grundlagenblätter, sowie die Erzeugung der Rohdaten für den Digitaldruck im Kontext der Kundenkommunikation in dem neu geschaffenen System.

Rolle
Anwendungsarchitekt und Lead-Entwickler in einem SCRUM-Team mit 8 Entwicklern
Zeitraum
Oktober 2016 - Dezember 2017
( seit 2015 bei der Suva )
Ausgeführte Tätigkeiten
  • Unterstützung des Scrum Masters und des Lösungsarchitekten bei der Grobschätzung der Projektaufwände, sowie der Identifizierung möglicher Projektrisiken.
  • Beratung der Projektleiter und des Project Owners, bezüglich der möglichen Umsetzungsvarianten der jeweiligen Anforderungen aus den Fachkonzepten.
  • Datenmodellierung für den Anwendungsteil der Grundlagenblattberechnung.
  • Design und Implementierung des Prototyps als Proof of Concept, sowie massgeblicher Teile der Anwendung, insbesondere die wiederverwendbaren Komponenten, sowohl im Frontend als auch im Backend.
  • Schulung von Teammitgliedern zu Java SE (insbesondere der Streaming-API und den Lambda Expressions), Java Enterprise und im Einsatz moderner Webtechnologien (insbesondere TypeScript und Angular). Vermittlung von Wissen über die Anwendung moderner Toolchains, insbesondere zur Realisierung testgetriebener Entwicklung (im Einzelnen die Implementierung und Ausführung von Modul-, Integrations- und e2e-Tests), sowie über Continuous Development und Delivery.
Technologien / Produkte
Client
HTML5 (HTML) , CSS , Sassy CSS (SCSS, SASS) , Angular , TypeScript , JavaScript (ECMAScript, ES) , Angular UI Grid , JavaScript Object Notation (JSON) , RESTretto-Framework , Apache HTTP Server
Client Build-Toolchain
npm, Node.js® (node) , Jenkins (Hudson)
Middleware / Backend
Java Platform, Enterprise Edition (JEE) und Java SE, im Einzelnen:
Enterprise JavaBeans (EJB) , Java Persistence API (JPA) , Java Transaction API (JTA) , Java Named Queries (JPA Named Queries) , Java Persistence Query Language (JPQL, Jakarta Persistence Query Language) , Java Message Service (JMS) , Java API for XML Web Services (JAX-WS) , Java API for RESTful Web Services (JAX-RS) , Contexts and Dependency Injection (CDI) , Expression Language (EL) , Aspose Cells , Aspose PDF , Aspose Words , Oracle WebLogic Server (WLS) , Oracle Service Bus , Airlock Web Application Firewall (WAF) , Apache Commons , Apache Collections , Apache Log4J (Log4J) , Simple Logging Facade for Java (SLF4J) , YAML Ain’t Markup Language (YAML) , Apache DeltaSpike , Java Authentication and Authorization Service (JAAS) , JSON Web Token (JWT) , Kerberos , Single Sign-on (SSO) , RESTretto-Framework , Web Services Description Language (WSDL) , Web Application Description Language (WADL) , SQL
Server Build-Toolchain
Apache Maven (Maven) , Apache Ant (Ant) , Jenkins (Hudson)
Werkzeuge zur testgetriebenen Entwicklung
code quality tools, continuous delivery und version control, im Einzelnen:
Jenkins (Hudson) , Jenkins Pipeline , SonarQube , Lint , Docker , Git , Liquibase (Database Refactoring) , Splunk

Server
Arquillian , Arquillian ShrinkWrap (ShrinkWrap) , DbUnit , H2 Database Engine (H2) , JUnit , Mockito , PowerMock , Hamcrest

Client
Karma Test Runner (Karma) , Protractor end-to-end test framework (Protractor) , $httpBackend , Jasmine Modultest-Bibliothek (Jasmine) , Selenium
Entwicklungs-umgebungen & -tools
JetBrains IntelliJ IDEA, Eclipse IDE , Oracle SQL Developer , Postman , SoapUI
Betriebssysteme
Red Hat Enterprise Linux (RHEL) , Microsoft Windows 10 (Windows 10)
Agilitäts-Toolchain
Atlassian Jira Server (Jira) , Atlassian Confluence (Confluence)
Drittsysteme
Informatica PowerCenter (ETL) , Oracle Business Intelligence Enterprise Edition (OBIEE) , Oracle OLAP (OLAP) , Oracle Application Express (APEX) , Oracle Business Intelligence Publisher (Oracle BI Publisher) , adcubum SYRIUS (Assekuranzsoftware)

iComm Konnex

Im Programm iComm Konnex wurden diverse Projekte unter Zuhilfenahme des neu entwickelten suvainternen Frameworks RESTretto umgesetzt.

Rolle
Full Stack Developer im einem Scrumteam
Zeitraum
September 2015 - August 2016
( bis 2017 bei der Suva )
Ausgeführte Tätigkeiten
  • Primär Full Stack Entwicklung mit Java EE und Angular, u.a…
  • Baumusterprüfbescheinigungen (Administrations- und Webanwendung)
  • Grenzwerte am Arbeitsplatz (Administrations- und Webanwendung)
  • Kontakte und Adressen / Agenturensuche (Webanwendung)
  • weitere Details auf Anfrage

Capgemini Schweiz AG

Unterstützung im Vorfeld der Produktionseinführung eines IT-Systems für einen weltweit führenden Anbieter von Lösungen für Zutrittskontrollen und Schliesssystemen der Sicherheitsindustrie, das die Kernsysteme der Ländergesellschaften schrittweise ersetzen und konsolidieren wird.

Rolle
Senior-Entwickler, Client-Co-Architekt, IT-Consultant
Zeitraum
Dezember 2014 - Oktober 2015
Ausgeführte Tätigkeiten
  • Konzeption, Erstellung, Integration und Dokumentation neuer Kern-Komponenten für die Clientanwendung.
  • Optimierung der projekteigenen Tabellenkomponente: Sortierung und Filterung, sowie deutliche Steigerung der Performance bei sehr großen Datenmengen.
  • Fehlerbehebung und Optimierung bestehender Client Kern-Komponenten.
  • Beratung in Implementierungs- und Performancefragen.
  • Dokumentation und Best Practices.
Technologien / Produkte
Java 1.7, Spring Framework (Spring) , Microsoft SQL Server (MS SQL Server) , Apache Tomcat® (cluster) (Tomcat)
Middleware/Server
Spring Boot Spring Data , Contexts and Dependency Injection (CDI) , Web Services Description Language (WSDL) , Java Persistence API (JPA) , Hibernate , SAP ERP-Anbindung via WebService und JMS , Apache Commons , AspectJ , Java Named Queries (JPA Named Queries) , Transact-SQL (T-SQL)
Client
Java 1.7, Swing GUI-Toolkit (Swing) , Spring Remote , Quasar , Apache Commons , Apache Collections
Testing
JUnit, Jenkins (Hudson) , continuous integration , FindBugs™
Werkzeuge
JetBrains IntelliJ IDEA, AspectJ , Apache Maven (Maven) , Apache Subversion (Subversion) , SparxSystems Enterprise Architect (Enterprise Architect)

Automotive - Volkswagen AG

(Oktober 2011 - August 2014)

Von Oktober 2011 bis August 2014 war ich in verschiedenen Projekten der Volkswagen AG (unter anderem auch für Audi) tätig. Auf die Projekte gehe ich in den folgenden Kapiteln dezidiert ein.

JavaFX Application Framework

Architektur und Lead-Entwicklung eines Applikations-Frameworks für die Client-Plattform auf Basis von Java 8 und JavaFX 8.

Rolle
Architekt, Lead-Entwickler
Zeitraum
März 2014 - August 2014
( Oktober 2011 - August 2014 bei VW )
Ausgeführte Tätigkeiten
  • Konzeption, Erstellung und Dokumentation eines JavaFX-Applikations-Frameworks, welches die Benutzeroberfläche nach dem MVC-Prinzip realisiert.
  • Wahlweise konfigurative oder auch programmatische Erzeugung von Dashboards, Favoritensteuerung, Breadcrumbs, Ribbonpanes und Suchfunktion aus einer Gruppen- und Modulkonfiguration heraus.
  • Lokalisierung und Internationalisierung, Validierung, sowie die Visualisierung und Abhandlung von ausstehenden Änderungen.
  • Multistage-Unterstützung, das heißt die Unterstützung einer beliebigen Anzahl von Fenstern, sowie Drag und Drop zwischen diesen Fenstern.
  • Zentrales exception handling wird durch die Anzeige entsprechender Meldungsdialoge realisiert. Es wird sowohl die Anzeige von fachlichen Meldungen, als auch die Anzeige von Fehlerdialogen für die Behandlung nicht erwarteter Probleme, inklusive der Option des Mailversands unterstützt.
  • Life-Cycle-Management, welches sich um das Starten und Stoppen von Anwendungsfällen (auch Usecases/Module) kümmert und grundlegende Funktionen für das Laden und Speichern von Daten zur Verfügung stellt.
  • Messagebus für die gezielte Kommunikation zwischen Framework und Usecase-Controllern, sowie der Usecase-Controllern untereinander.
  • Der Fokus beim Entwurf und der Entwicklung lag neben der Erstellung einer modernen und intuitiv nutzbaren Oberfläche, auf der Erstellung eines Frameworks, das die einfache Implementierung von Anwendungsfällen unter Vermeidung von Coderedundanzen ermöglicht.
Technologien / Produkte
Java 1.8, JavaFX , ControlsFX , Apache Commons , JetBrains IntelliJ IDEA , Apache Maven (Maven) , Apache Subversion (Subversion) , Jenkins (Hudson) , SonarQube , Atlassian Jira Server (Jira) , Atlassian Confluence (Confluence) , HP Application Lifecycle Management (HP ALM)

Anlauf- & / Eigenschaftsplanung

Architektur und Umsetzung einer Basis-Library, sowie der Client-Plattform (Fat Client) für die Anlaufplanung der Produktion neuer Fahrzeugmodelle für einen großen deutschen Automobilhersteller. Architektur Client, sowie Lead-Entwicklung Client und Mitentwicklung Middleware und Backend.

Rolle
Architekt (Client), Lead-Entwickler (Client), Entwickler (Middleware und Backend), Berater
Zeitraum
September 2013 - August 2014
( (Oktober 2011 - August 2014 bei VW) )
Ausgeführte Tätigkeiten
  • Swing-Client, welcher die Benutzeroberfläche nach dem MVC-Prinzip realisiert.
  • Kommunikation mit der Middleware via Hessian Binary Web Service Protocol mit Spring.
  • Fokus auf Client-Architektur, Performanceoptimierung und code cleaning.
Technologien / Produkte
Java 1.6, Swing GUI-Toolkit (Swing) , Spring Framework (Spring) , Hibernate , Eclipse IDE , IBM WebSphere Application Server (WSA) , Apache Maven (Maven) , Oracle Database (Oracle Database Server, Oracle RDBMS) , Apache Subversion (Subversion) , Apache POI (Java API for Microsoft Documents) , Apache Commons , Google Guava , Atlassian Jira Server (Jira) , HP Application Lifecycle Management (HP ALM)

CO₂- und Gewichts-Reduktion

Weiterentwicklung, Bugfixing, Refactoring und architekturelle Neuausrichtung einer Plattform für die Planung und Bewertung, sowie die Kalkulation und das Controlling von Innovationsprojekten im Automotive-Bereich (primär CO₂- und Gewichtsreduktion) eines großen deutschen Automobilherstellers.

Rolle
Architekt (Life Cycle und Client), Full-stack Entwickler, Berater
Zeitraum
Oktober 2011 - September 2013
( Oktober 2011 - August 2014 bei VW )
Ausgeführte Tätigkeiten
  • Fokus auf Architektur, Performanceoptimierung und code cleaning der Bestandsanwendung.
  • Umsetzung neuer Features in einem Swing-Fat-Client, welcher die Benutzeroberfläche nach dem MVC-Prinzip realisiert.
  • Erstellung einer sehr grossen hochperformanten Tabellenkomponete die komplexe Berechnungen durchführt und die Filterung und Aggregation von Daten ermöglicht.
  • Einsatz von User Interface Controllern und Use Case Controllern.
  • Kommunikation mit der Middleware via Command-Channel über das Hessian Binary Web Service Protocol.
  • Einsatz von UML, Business Objects, Value Objects, Value Object Assembler, Data Transfer Objects, Data Access Objects, Mementos.
Technologien / Produkte
Java 1.6, Java Platform, Enterprise Edition (JEE) , Swing GUI-Toolkit (Swing) , Spring Framework (Spring) , Spring Remote , Hibernate , Eclipse IDE , IBM WebSphere Application Server (WSA) , Apache Maven (Maven) , Apache Ant (Ant) , Oracle Database (Oracle Database Server, Oracle RDBMS) , Apache Subversion (Subversion) , OSGI , Apache POI (Java API for Microsoft Documents) , Apache Commons , Apache Collections , HP Application Lifecycle Management (HP ALM) , PL/SQL

InSecMa Solutions

(2002 - 2017)

InSecMa Solutions ist ein Softwareunternehmen, welches sich mit der Erstellung von Individualsoftware, sowie der Planung, Installation, Konfiguration und dem Betrieb von Netzwerken und Unix-Systemlandschaften beschäftigt.

Zum Kundenkreis gehören Behörden, Institutionen und Auftraggeber aus der Industrie. Das Unternehmen entwickelt und vertreibt zudem eine Linux-Distribution für Schulen auf der Basis von Debian GNU/Linux.

Ich bin Gründer des im Jahr 2002 aus der Taufe gehobenen Unternehmens und betreute die Projekte der Firma - neben meiner Tätigkeit als Geschäftsführer - aus architektureller Sicht. In Folge gehe ich auf einige Projekte des Unternehmens ein.

Lizenz-Manager

Entwicklung eines Lizenz-Managers als webgestützte Java EE6 Anwendung mit integrierter SOAP-Schnittstelle, die es ermöglicht Software und Kunden in Bezug auf die Verwaltung von Softwarelizenzen zu administrieren. Es handelt sich um eine klassische Verwaltungsanwendung, die weitestgehend auf Eingabemasken setzt. Über das Produkt werden zurzeit zirka 150 Server an 120 Standorten mit ungefähr 60.000 angebundenen Clients (Arbeitsplatz-PCs) verwaltet.

Rolle
Projektleiter, Full Stack Architekt
Zeitraum
Februar 2010 - Oktober 2010
Ausgeführte Tätigkeiten
  • Dynamische Verwaltungsoberfläche (Ajax, Primefaces, Prettyfaces)
  • Verwaltung von Kunden, Standorten und Kontakten
  • Verwaltung von Software
  • Vergabe von Lizenzschlüssel
  • Signierung und Verschlüsselung
  • PDF-Erstellung
  • Kommunikation mit zu installierender Software via SOAP-Schnittstelle
  • Java-, PHP- und Python-Client
Technologien / Produkte
Java Platform, Enterprise Edition (JEE) , Java Server Faces (JSF) , Prettyfaces , Primefaces , Contexts and Dependency Injection (CDI) , Enterprise JavaBeans (EJB) , Java Persistence API (JPA) , Java Named Queries (JPA Named Queries) , EclipseLink (Eclipse Toplink, Toplink) , Java Transaction API (JTA) , Java Authentication and Authorization Service (JAAS) , SOAP , MySQL , Glassfish , Apache Maven (Maven) , SonarQube , GNU Privacy Guard , Trac Integrated SCM and Project Management (trac)

BMBF-Modellprojekt Sys-C

Systemlösung für die Schulen der Stadt Chemnitz zur Unterstützung des fachübergreifenden Einsatzes Neuer Medien (Sys-C).

Im Projekt Sys-C wurde eine Systemlösung für die Schulen der Stadt Chemnitz, zur Unterstützung des fachübergreifenden Einsatzes Neuer Medien entwickelt. Das Projekt wurde durch das Bundesministerium für Bildung und Forschung und den Europäischen Sozialfonds gefördert. Als Projektträger ist das Deutsche Zentrum für Luft und Raumfahrt (DLR), genauer der Projektträger Neue Medien in der Bildung (PT-DLR, Project Management Agency – part of the German Aerospace Center) eingesetzt. Es wurde eine einheitliche Systemsoftware zur schulischen Nutzung im Unterricht für zirka 85 Schulen entwickelt.

Rolle
Projektleiter, Solution Architect
Zeitraum
Februar 2005 - Dezember 2015
( Entwicklung 1. Version: 2005 - 2007 )
Ausgeführte Tätigkeiten
  • Verwaltung von Nutzern, Klassen, Kursen und Projekten, Computerräumen und Computern, sowie Druckern über eine grafische Administrationsoberfläche.
  • Nutzerverwaltung inklusive Massenimport, automatischer Versetzung von Schülern und Unterstützung verschiedener anpassbarer Benutzerrollen.
  • Automatische Generierung von Initialpasswörtern oder Nutzung von Standardpasswörtern.
  • Automatische Integration von Arbeitsplatzcomputern.
  • Dateiserver für Microsoft Windows, Linux und Mac OS X Arbeitsplatzrechner.
  • DHCP- und DNS-Server inklusive automatischer Konfiguration ohne Benutzereingriff.
  • Unterstützung von Windows Arbeitplatzstationen im Domänen- und Workgroupmodus.
  • Unterstützung von Mac OS X und Linux Clients.
  • Personen-, klassen- und kursbezogene Dateiquota, sowie Mailquota.
  • E-Mail Server inklusive webbasierter Groupwareanwendung mit Adressbuch, Kalender und Erinnerungsfunktion.
  • Raum- und nutzerbasierte Internetzugangskontrolle inklusive Kinder- und Jugendschutzfilter.
  • Virenscanner für den Dateiserver, den E-Mail-Server, sowie den Internetzugang (http und ftp).
  • Verteilen und Einsammeln von Klassen- und Projektarbeiten (Klassenarbeitsfunktion).
  • Druckerverwaltung inklusive Druckaccountinglösung für Netzwerkdrucker und über Arbeitsplätze freigegebene Drucker.
  • CD-ROM Archiv.
  • Datenbank-, Zeit- und Webserver.
  • Vollautomatische Updatefunktion, die die Server ohne Nutzereingriff auf dem neuesten Stand hält.
  • Unterstützung diverser Voreinstellungen, wie zum Beispiel zur automatischen Erstellung von Initialpasswörtern oder das Setzen von Benutzerquota.
  • Stapelverarbeitungsfunktionen (z.B. Quota für eine bestimmte Benutzerauswahl neu setzen).
  • Didaktische Bildschirmsteuerlösung.
  • Überwachung einzelner Arbeitsplatzstationen.
  • Überwachung aller Arbeitsplatzstationen einer Computergruppe.
  • Ausgabe des Lehrerbildschirms an eine einzelne Arbeitsplatzstation.
  • Ausgabe des Lehrerbildschirms an alle Arbeitsplatzstationen einer Computergruppe.
  • Sperrung von Maus und Tastatur einer Arbeitsplatzstation.
  • Sperrung von Maus und Tastatur einer Gruppe von Arbeitsplatzstationen.
  • Serverbasierte Clientinventarisierung.
  • Automatische Softwareverteilung für Windows, Max OS X und Linux.
Technologien / Produkte
Debian GNU/Linux (Debian) , PHP , Python , Perl , JavaScript (ECMAScript, ES) , PyQT , QT , Visual Basic Script (VBScript, VBS) , Apache Subversion (Subversion) , iptables , BIND Nameserver (bind, DNS Server) , Apache HTTP Server , Squid Cache & Proxy Server (squid) , DansGuardian , Exim Internet Mailer (Exim) , Cyrus IMAP , Pluggable Authentication Modules (pam, pamd) , OpenLDAP (LDAP) , MySQL , Moodle , DHCP daemon (dhcpd) , Network Time Protocol Deamon (ntpd) , Samba File- & Print Server (smb, cifs) , Kerberos , Clam AntiVirus (ClamAV, clamd) , AMaViS (A MAil Virus Scanner) , Open Technology Real Services (OTRS, Open Ticket Request System)

Serverlandschaft SBB/SPK

Stiftung Preussischer Kulturbesitz, Staatsbibliothek zu Berlin

Im Rahmen einer Umstellung der Webdienste der Staatsbibliothek zu Berlin auf eine Hochverfügbarkeitslösung wurden diverse Dienste geplant, installiert, konfiguriert und gewartet.

Rolle
Projektleiter, Solution Architect
Zeitraum
Juni 2003 - Dezember 2010
Ausgeführte Tätigkeiten
  • Mehrfach redundates Webserversystem, basierend auf Debian GNU/Linux-Systemen, in Kombination mit Apachewebservern und einer HA-Clustersoftware. Es kamen sowohl redundante Serverkomponenten, als auch Datenspeicher zum Einsatz. Aufsatz diverser Absicherungswerkzeuge für den Einsatz der Systeme als Bastionhosts. Nutzung: > 1,5 Millionen Zugriffe / Monat.
  • Entwicklung und Support verschiedener webgestützter Lösungen für die Stiftung Preußischer Kulturbesitz, die Staatsbibliothek zu Berlin und die Staatlichen Museen zu Berlin.
  • Webfrontendserver für das Buchbestellsystem der Staatsbibliothek zu Berlin auf Basis von Linux. Erweiterung auf SCO-Kompatibilität. Aufsatz diverser Absicherungswerkzeuge für den Einsatz als Bastionhost.
  • Einrichtung eines neuen E-Mail-Servers auf Basis von Postfix, Migration von ca. 1000 Nutzern.
  • Webanwendung für den zentralen Zugriff auf Inhalte verschiedener weltweit verteilter Datenbanken ostasiatischer Handschriften (http://crossasia.org).
Technologien / Produkte
Debian GNU/Linux (Debian) , Apache HTTP Server , PHP , Postfix (Mail Transfer Agent, MTA) , iptables , BIND Nameserver (bind, DNS Server) , Webalizer (Web-Analytics-Software) , Kerberos , OpenLDAP (LDAP) , free RADIUS (RADIUS, Remote Authentication Dial-In User Service) , Oracle Database (Oracle Database Server, Oracle RDBMS)

Backupkonzept SPK

Erstellung und Umsetzung Backupkonzept für die Stiftung Preußischer Kulturbesitz

Es wurde eine Backupstrategie für die Stiftung Preußischer Kulturbesitz erarbeitet, welche eine schnelle Wiederherstellung der Unix- und Linux-Serversysteme, sowie verschiedener Datenspeicher und Datenbanken nach Systemausfällen sicherstellt. Gesichert werden Server zweier Standorte, sowie deren Konfigurationen und Systemzustände. Unterstützt wird gezielte Wiederherstellung von Datenbeständen, sowie das Disaster Recovery

Rolle
Solution Architect
Zeitraum
Juni 2004 - Juni 2006
Ausgeführte Tätigkeiten
  • Planung und Umsetzung des Backupkonzeptes.
  • Planung und Umsetzung der Desaster Recovery Strategy.
Technologien / Produkte
Debian GNU/Linux (Debian) , SEP sesam

Neuanbindung BeLa

Umsetzung der Neuanbindung des Bezirksamtes Spandau von Berlin an das Berliner Landesnetz

Rolle
Solution Architect, Administrator
Zeitraum
Januar 2003 - Juli 2003
Ausgeführte Tätigkeiten
  • Mehrstufiges Firwallsystem auf Basis von Linux und BSD
  • Intrusion-Detection-System [IDS]
  • Intrusion-Prevention-System [IPS]
  • Mail-Relay-Server inklusive Anitvirus-Software
  • DNS-Server und Webserver
  • HTTP- und FTP-Proxy-Server
  • E-Mail-Server (imap, pop3)
  • Systemweite Absicherung durch diverse Sicherheitswerkzeuge
  • gehärtete Administrationsworkstation

Bestellsystem ZIT-BB

Entwicklung eines elektronischen Bestellsystems für den Landesbetrieb für Datenverarbeitung und IT-Serviceaufgaben (LDS), heute Brandenburgischer IT-Dienstleister (ZIT-BB).
Das neue Beschaffungsverfahren leistet einen wichtigen Beitrag zur Modernisierung der Brandenburgischen Verwaltung. Allen Behörden steht dieses flexible und praktische Instrument zur Bedarfsdeckung im IT-Bereich zur Verfügung.

InSecMa setzte die Planung und Erstellung einer webbasierten Anwendung um, über die die verschiedenen Fachbereiche der Verwaltungen Bestellungen über das Intranet vornehmen können.

Rolle
Projektleiter
Zeitraum
Januar 2002 - Oktober 2002
Ausgeführte Tätigkeiten
  • Planung und Entwicklung der Bestellsystems
Technologien / Produkte
Microsoft Visual FoxPro (VFP) , West Wind Framework , HTML (HTML) , CSS , JavaScript (ECMAScript, ES)

Printium AG

Die Printium AG war ein auf den Handel und die Abwicklung von Druckaufträgen über das Internet spezialisiertes Unternehmen. In meiner Rolle als Leiter der Abteilung für Frontend-Entwicklung, war ich primär für die Koordination der Entwickler und architekturelle Themen zuständig.

Rolle
Leiter Frontendentwicklung (F2)
Zeitraum
Januar 2000 - Dezember 2002
Ausgeführte Tätigkeiten
  • Teamkoordination
  • Architektur und Mitentwicklung einer browserunabhängigen JavaScript Library
  • Architektur und Mitentwicklung Frontend CMS
  • Architektur und Mitentwicklung Frontend E-Procurement und Druckabwicklung
Technologien / Produkte
Java Platform, Enterprise Edition (JEE) , Microsoft Visual FoxPro (VFP) , West Wind Framework , HTML (HTML) , CSS , JavaScript (ECMAScript, ES)

Joker Software

Joker Software war ein in Hamburg ansässiges Unternehmen der Werbebranche, spezialisiert auf Digitale Medien.

Rolle
Software Developer & Linux Administrator
Zeitraum
Januar 1998 - Dezember 1999
Ausgeführte Tätigkeiten
  • Interaktiver Internetauftritt „Simon the Sorcerer“ für Hasbro Interactive unter Einsatz von Flash und PHP
  • Online-Geschäftsbericht im Internet für Lufthansa Technik
  • Diverse interaktive Webseiten in Zusammenarbeit mit Heye & Partner Salesforce, Hamburg
Technologien / Produkte
Adobe Flash, PHP , Microsoft Visual FoxPro (VFP) , HTML (HTML) , JavaScript (ECMAScript, ES) , CSS , JavaScript (ECMAScript, ES) , Debian GNU/Linux (Debian)

Kontakt

Für Projektanfragen bitte ich um Kontaktaufnahme via E-Mail oder über eines meiner Profile (z.B. bei Xing).