Bastian Nolte Expert
Digital Curriculum Vitae / Profile
IT Business Consultant & Coach
Software Architect & Full Stack Developer
Vektor graphic with notebook, smartphone, notebook und den mind bubbles, «Azure», «Kotlin», «MicroServices» and «vue.js»Photo of Bastian Nolte

Introduction

My name is Bastian Nolte. I have about 24 years of professional experience in the IT field, both as a consultant, trainer/facilitator, IT architect and software developer, as well as in project management roles with and without personnel responsibilities.

I see myself more as a generalist and supporter than a specialist. My broad knowledge will allow me to help you find and implement efficient solutions even for complex problems.

I am looking forward to supporting you in initiating and successfully establishing changes and innovation processes.

Currently, I support my clients primarily in consulting, software (development) and training. I am happy to help your Organisation in aligning towards Azure Cloud and DevOps teams.

Version information

This Curriculum Vitae is also available as PDF and PDF in short version.

This document with id «web-626917853f741404903dec7f» was created at Apr 27, 2022.

Abstract

In the last ten years, I have been mainly involved in projects in the insurance, automotive, industry, administration and education sectors. My clients include companies like Capgemini Schweiz AG, the Swiss Accident Insurance Fund (Suva), CSS Versicherung, Volkswagen AG, Siemens AG, msg systems AG, T-Systems and various institutions, like the Berlin State Library, the East Asian Institute, and various state authorities and councils.

We use methods, frameworks and mechanisms of agile development, such as Scrum, LeSS, Continuous Integration, test-driven development, mob- and pair-programming, combined with process supporting software like Atlassian JIRA, Confluence and Team City.

I have a wide range of expertise in various programming languages. My preferred languages are TypeScript and F#.

Furthermore, I have many years of experience in project planning and coordination and the administration of various server and cloud services, such as Microsoft Azure.

I am proficient in the use of the most common databases. Knowledge in Spring (Boot), Java EE and various frameworks and libraries, such as MicroProfile, vue.js and Angular, completes my profile.

Sector experience & expertise

Grafische Darstellung der Branche InsuranceInsurance
Grafische Darstellung der Branche Information TechnologyInformation Technology
Grafische Darstellung der Branche AutomotiveAutomotive
Grafische Darstellung der Branche Service ProviderService Provider
Grafische Darstellung der Branche IT Service ProviderIT Service Provider
Grafische Darstellung der Branche Public ServicePublic Service
Grafische Darstellung der Branche Educational InstitutionsEducational Institutions
Grafische Darstellung der Branche TelecommunicationsTelecommunications
Grafische Darstellung der Branche IT SecurityIT Security

Clients

Roles

Coach & Trainer

4 years

IT Business Consultant

11 years

Software Architect & (Technical) Project Lead

13 years

Software Developer

24 years

Personal

photo composition of Bastian Nolte
Name
Bastian Nolte
Awards
Innovation Award Public Private Partnership 2009 (PPP) for the interdisciplinary use of New Media
IT experience since
1998
Nationality
Germany
Languages
German (mother tongue), English
Applicable
  • CH-LI
  • Switzerland, Liechtenstein
  • Preferred region of work : Switzerland (or remote)
Leisure activities
  • mountain hiking, scuba diving, kayaking
Contact details

Preferences

(always open to new technologies)

Responsibilities / Roles

IT business consulting, workshops, full stack cloud development and architecture in Azure and innovation topics

Programming languages

Polyglot (according to requirements), e.g. F#, TypeScript

Platforms

Microsoft Azure Cloud Computing Services

Technologies / Frameworks

.NET 6, Spring Boot, MicroProfile with Quarkus

Web applications

According to requirements, e.g. Vue.js, React, Angular

Databases

According to requirements, e.g. Azure Cosmos DB, Neo4j graph database

Professional Development

Regular further education is the foundation of in-depth expertise. Therefore, I am constantly training myself, primarily using the possibilities of the World Wide Web. You can find a list of the most recent further education courses in the following table.

Year
Type
Organizer
2022
Certified iSAQB module "Advanced Level CLOUDINFRA"
open
  • Infrastructure, Containers and Cloud-Native** (planned)
open
2021
Apache Kafka Course
Confluent
2021
Microsoft Azure Certification
Microsoft, Pearson VUE
2020
Kubernetes Certification
The Linux Foundation, edX
2020
DevOps Kubernetes Camp
Software & Support Media GmbH
  • Four-day intensive training on Kubernetes and Knative.
Erkan Yanar
2019
Conflict Management and Constructive Conflict Resolution
oose Innovative Informatik eG
Kim Duggen
2019
Communication & Moderation Techniques in IT
oose Innovative Informatik eG
Tina Busch
2019
Certified iSAQB-Modul «Advanced Level DDD»
Software & Support Media GmbH
  • Domain-Driven Design at the Software Architecture Camp
Matthias Bohlen
2019
Certified LeSS Basic Training
Valtech GmbH
Nils Bernert
2018
w-jax
Software & Support Media GmbH
  • Trust and Confidence through Chaos
  • Microservices vs monoliths: The definitive shoot-out
  • The Best Practices of Data Scientists
  • The Future of Streaming: Global Apps, Event Stores and Serverless
  • Arguments for using DevOps, InnerSource and modern development tools for your management
  • Kubernetes Patterns
  • Java EE/MicroProfile
  • How modern SQL databases come up with algorithms you never dreamed of
  • 9 pitfalls on the way to business value
  • An introduction to Deep Learning
  • JUnit 5: More than just a Testing Framework for Java
  • From Service-Oriented Architectures (SOA) to DDD and Microservices
  • Azure Cloud Services for Java Developers
  • Microservices environment and sidecars
  • Progressive Web Apps with the Service Worker API
  • Angular Workshop: Architecture and concepts for modern web-based business applications
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) - training agility with improv theatre 2.0
  • Sustainable team development - separating the wheat from the chaff
  • We are agile!? - How we ensure that teams can work agilely
  • Quality and team with code reviews
  • How do I hire (agile) software developers sensibly?
  • Agile - What does the fun cost?
Mirko Schrempp, Rüdiger Schnirring, Reginald Rink, Christian Schneiker, Tobias Ranft, Konstantin Diener, Lutz Malburg & Stefan Mieth
2018
JavaScript- & AngularDays
Software & Support Media GmbH
  • The JavaScript upgrade for web developers
  • Navigation structures with the Angular Router: Deep Dive
  • Reactive Forms in Angular
  • WebAssembly: Single Page Applications (SPAs) without JavaScript?
  • High-performance Single Page Applications with Angular
  • Structure for your large Angular applications: Packages, Monorepos and Microfrontends
  • Cross-platform development with Electron, Cordova and Angular
  • Reactive Programming with RxJS
Peter Kröner, Manfred Steyer, Shmuela Jacobs, ngGirls, Christian Weyer, Thinktecture AG, Manfred Steyer, Gregor Biswanger, Sebastian Springer

Social skills

The following chapter presents my soft skills, visualised as a graph and in table form.

  • Acting on one's own responsibility
    • Analysing
    • Advising
    • Implementing
    • Checking / Testing
    • Improving
  • Myself
    • Introspection
    • Self-efficacy expectation
    • Personal responsibility
    • Self-discipline
    • High perceptiveness
  • Others
    • Helpfulness
    • Empathy
    • Critical faculties
    • Language competence
  • Collaboration
    • Team player
    • Fexible
    • Committed
    • Professional competence

Know-how

The following chapters will give you an overview of my IT skills, visualised in graphs and tables. Nodes with a red background indicate that I currently prefer to work with that technology.

Development (in general)

  • Cloud
    • Microsoft Azure Cloud Computing Services (Microsoft Azure)
    • Kubernetes (k8s)
    • netlify
    • Azure DevOps Services
  • Programming languages
    • F#
    • C#
    • Kotlin
    • Java
    • Python
  • Frameworks
    • .NET 6 (.NET Core)
    • Spring Framework (Spring)
    • Java Platform, Enterprise Edition (JEE)
  • Script Languages
    • TypeScript
    • JavaScript (ECMAScript, ES)
    • Command Line Interfaces
      • Bash/ksh/csh/zsh/...
      • PowerShell (PowerShell Core)
      • Regular expressions (RegExp, Regex)
  • Databases
    • NoSQL
      • Azure Cosmos DB
      • Neo4j graph database (neo4j)
    • Relational databases
      • MySQL
      • Oracle Database (Oracle Database Server, Oracle RDBMS)
      • Microsoft SQL Server (MS SQL Server)
      • PostgreSQL
    • Directory services
      • OpenLDAP (LDAP)
    • Database- / query languages
      • 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
  • Communication
    • 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 Component 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)
  • Markup languages
    • 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
  • Development Environments
    • JetBrains IntelliJ IDEA
    • Microsoft Visual Studio Code (VS Code)

Java, Scala und JVM (in 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
    • Technologies
      • 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

Overview of the pattern language.

Tactical design Strategic 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 segregate the conceptual messes of… translate & insulate unilaterally with… free Teams to go support multiple clients through… minimize translation relate allied contexts as… connected contexts overlap with keep model unified by assess/overview relationships with work in autonomous clean aviod overinvesting in cultivate rich model with… define the model within the… model gives structure to… isolate domain with... express state & computation with… express identity with… express change with… express model with... encapsulate with… encapsulate creation with… act as root for… access with… encapsulate creation with… encapsulate creation with… encapsulates access with… push change of state by… names enter… formalized as…

Toolset

  • Version management / SCM
    • Git
    • Atlassian Bitbucket (Bitbucket, Stash)
    • Liquibase (Database Refactoring)
  • Test automation
    • 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
  • Coordination / Support
    • Atlassian Jira Cloud (Jira)
    • Atlassian Jira Server (Jira)
    • Tempo für Jira
    • Microsoft Project
    • HP Application Lifecycle Management (HP ALM)
  • Documentation
    • Adobe Framemaker
    • Atlassian Confluence (Confluence)
  • Projektarchitektur
    • SparxSystems Enterprise Architect (Enterprise Architect)
    • Microsoft Visio Professional
    • OmniGraffle
  • Microsoft Office
    • Microsoft Word
    • Microsoft Excel
    • Microsoft PowerPoint
  • SAP
    • SAP CRM (Customer Relationship Management)
    • SAP ERM (Enterprise Resource Planning, Finance, Human Resources, Manufacturing, Logistics, Services, Procurement)
    • SAP CATS
  • Logging, monitoring and reporting
    • Splunk

Design Patterns & Principles

  • Architectural pattern
    • Atomic design
    • Model view controller (MVC)
    • Model view presenter (MVP)
    • Event-driven architecture
    • Service-oriented architecture (SOA)
    • Command query responsibility segregation (CQRS)
    • Enterprise architecture
    • Publish–subscribe pattern
    • PRPL pattern (Push (or preload), Render, Pre-cache, Lazy Load)
  • Analysis pattern
    • Domain driven design (DDD)
    • Event sourcing (ES)
  • Creational design pattern
    • Singleton pattern
    • Prototype pattern
    • Factory method
    • Builder pattern
  • Structural Design Pattern
    • Adapter pattern
    • Composite pattern
    • Decorator pattern
    • Proxy pattern
    • Facade pattern
    • Bridge pattern
    • Data Access Object (DAO)
    • Data Transfer Object (DTO)
  • Behavioral Design Pattern
    • State pattern
    • Strategy pattern (policy pattern)
    • Visitor pattern
    • Memento pattern (Token pattern)
    • Observer pattern
    • Null object pattern
    • Circuit breaker pattern
  • Concurrency pattern
    • Double-checked locking
    • Thread pool pattern
    • Readers–writer lock
  • SOLID principles
    • Single responsibility principle
    • Open–closed principle (OCP)
    • Liskov substitution principle (LSP)
    • Interface-segregation principle (ISP)
    • Dependency inversion principle (DIP)
  • Distributed computing
    • Saga Transaction Pattern (Saga distributed transactions)
    • Throttling pattern
    • Static content hosting pattern
  • Sharding Pattern
    • Range-based sharding pattern
    • Vertical Sharding Pattern
    • Hash-based Sharding

Unix server management

  • Operating systems
    • Debian GNU/Linux (Debian)
    • Red Hat Enterprise Linux (RHEL)
    • Fedora
    • OpenBSD
  • Services
    • 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)

Project excerpts

The following chapters present my work profile to date using project extracts as examples. The presentation is in tabular form and includes my role in the respective projects, including a description of the projects, the technologies and the tools used.

Click on a topic to filter the projects by that criteria.

Microsoft AzureMicrosoft Azure
InsuranceInsurance
TrainingTraining
AngularAngular
JavaJava

Azure Data Aggregation & Curation Solution

Planning, implementation and operation of a data aggregation & curation application using Microsoft Azure Cloud Computing Services

Role
Full Stack (Analysis > Architecture >> DevOps: Development > Deployment > Operations)
Period
Since July 2021
Activities performed
  • Planning of the entire solution
  • Elaboration of a solution architecture
  • Building source code management as a monorepo with Yarn Workspaces
  • Azure Enterprise Integration Platform as a Service
  • Identity and access management with Azure Active Directory
  • Implementation of a web application with Vue.js, Azure Static Web Apps and Azure Function Apps
  • Azure Function Apps for scraping, aggregation, curation and sending to Slack channels
  • Azure Cosmos DB for data storage
  • Propagation of business events via Azure Event Grid (event-driven architecture)
  • Slack App, Slack Block Kit for messaging
  • Provisioning infrastructure via Azure Resource Manager and Bicep
  • Continuous Integration and Continuous Deployment with Azure DevOps Services
Technologies / Products
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
Tools for test-driven development
Jest (JavaScript testing framework) , Cypress (JavaScript End to End Testing Framework)
Development Environments & Tools
Microsoft Visual Studio Code (VS Code) , Azure Functions Core Tools , Postman

A platform for brokering tickets of Swiss attractions

This project was about planning and implementing a platform for the central distribution of tickets of Swiss attraction providers via a common it-platform. In addition to offering tickets, we implemented features such as weather information, opening hours, ride times, and billing.

In this startup project, I had a multifunctional role. Initially, I was mainly involved in consulting and training to then subsequently support the setup of an Azure cloud environment and the development of the overall solution (hands-on).

In the beginning, I provided training on process models from project organization, such as SCRUM and Kanban. Then, in joint workshops, we evaluated which software best met our requirements. We then set up this software together and integrated its use into our daily processes.

After introducing essential tools such as Atlassian Jira, Confluence, Mural and Zoom, we moved towards more development-related topics.

In the second phase, we continued to build understanding and technical foundations for agile software development in workshops. Topics included continuous integration and deployment, the test pyramid, and code quality topics such as SOLID, TDD, mob and pair programming, and KISS.

In the third phase, we jointly designed and implemented a minimum marketable product (MMP). We built the development and integration environments, configured and provisioned the Azure cloud resources and performed the software development. In the grid below, you will find information on the technologies used.

Role
Multifunctional role (consulting, teaching, hands-on)
Period
September 2019 - December 2020
Activities performed
  • Consulting
  • Training
  • Introduction CI/CD with Azure DevOps
  • Introduction Azure Cloud Computing
  • Hands-on development of the MMP
Technologies / Products
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)
Tools for test-driven development
Karma Test Runner (Karma) , Protractor end-to-end test framework (Protractor) , Jasmine Modultest-Bibliothek (Jasmine) , TSLint
Development Environments & Tools
Microsoft Visual Studio Code (VS Code) , Azure Functions Core Tools , NuGet , Yarn - Package Manager

Curriculum Vitae

Planning and implementation of this Curriculum Vitae / Résumé website.

Role
Full Stack (Analysis > Architecture > Development > DevOps)
Period
November 2020 - February 2021
Activities performed
  • Planning of the new résumé page
  • Solution architecture design
  • Research and selection of technologies to be used
  • Texts & (vector) graphics creation
  • Setting up Continuous Integration
  • Setting up Continuous Deployment
  • Implementation of website & PDF generation…
  • …from a «single source of thruth»
  • …based on state-of-the-art technologies (Gastby Static Site Renderer, HTML-5)
  • Rollout and operation
Technologies / Products
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 Insurance

(2018 - 2020)

CSS Insurance is not just a health insurance company but an insurance company for every situation in life. When it comes to health, around 1.7 million people place their trust in CSS. Its wide range of products includes health, accident and property insurance.

Excellence and Innovation

Consultant and trainer for innovation, as well as software excellence and craftsmanship

From 2018 to 2020, I supported CSS Insurance in various areas. I promoted the further development of employees in my stream towards even more excellence and know-how by planning and conducting training and workshops on excellence and innovation topics.

I also supported and actively participated in introducing mob and pair programmings, mainly on software craftsmanship and software excellence.

Furthermore, I supported the client in the development areas of front-end and back-end development and DevOps to initiate the transition into the world of cloud computing.

I helped my SCRUM teams analyse concrete problems, find solutions and implement them while adhering to best practices, and provided advice to the teams and lead architects of my stream.

Role
Consultant and trainer for excellence and innovation topics
Period
October 2018 - June 2020
Activities performed
  • Conducted workshops and training:
  • Software Development in the Mob "Methodology and Implementation".
  • Coding Dojos on various software craftsmanship topics and excellence topics, such as test-driven development (TDD), clean code and SOLID principles.
  • Introduction to Domain-driven Design (DDD)
  • Fullstack development under MacOS
  • The basics of the programming language Kotlin
  • Programming with "observable streams" and ReactiveX
  • High-performance microservices with Quarkus and GraalVM
  • Introduction to Docker and Kubernetes
  • Continuous Integration with Microsoft Azure DevOps Pipelines
  • Introduction to Microsoft Azure Cloud
  • Front-end development in Angular, React, Vue.js with Flow/Redux/NgRx and Immutables
Technologies / Products
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, in detail:
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
Tools for test-driven development
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)
Development environments & tools
JetBrains IntelliJ IDEA, Oracle SQL Developer , Postman , MacOS , Microsoft Windows 10 (Windows 10)
Agility toolchain
Atlassian Jira Server (Jira) , Atlassian Confluence (Confluence) , Atlassian Bitbucket (Bitbucket, Stash)

SUVA Accident Insurance

(09/2015 - 12/2017)

From September 2015 to December 2017, I was involved in various projects at Swiss Accident Insurance Fund (Suva).

The Swiss Accident Insurance Suva is an essential part of the Swiss social security system. As an independent company under public law, Suva insures people at work and in their leisure time. Its prevention programmes in occupational and leisure safety prevent accidents and occupational illnesses, promote a safety culture in companies, raise awareness of hazards, and motivate people to take personal responsibility.

In the following chapters, I will break down the projects I was able to accompany at Suva.

Risk Pricing

In the RiskPricing programme, the processes for premium assessment and the systems for setting premium rates were redeveloped, taking into account the industry, risk community, bonus-malus and experience rating, and new large claims and reinsurance solutions were also implemented.

A solution was created for analysing the current risk situation and the financial situation, taking into account information from the risk information system and the adcubum SYRIUS insurance software, based on which the premium situation can be assessed and the reduction of compensation reserves calculated.

With the inclusion of the bonus-malus models and the experience rating, simulations can be carried out to set the premium rates in occupational accident and non-occupational accident insurance lines. In addition, the calculation and creation of the basic sheets and the generation of the raw data for digital printing in the context of customer communication take place in the newly created system.

Role
Application architect and lead developer in a SCRUM team with 8 developers
Period
October 2016 - December 2017
( working at suva since 2015 )
Activities performed
  • Support the Scrum Master and the solution architect in the rough estimation of the project effort and identify possible project risks.
  • Advise the project manager and the project owner about conceivable implementation variants of the requirements from the technical concepts.
  • Data modelling of the application part of the "grundlagenblatt" calculation (the injurance policy).
  • Design and implementation of the prototype as a proof of concept, as well as significant parts of the application, especially the reusable components, both in frontend and backend.
  • Training of team members on Java (especially the Streaming API and Lambda Expressions), Java Enterprise Edition and in the use of modern web technologies (especially TypeScript and Angular). Imparting knowledge on the use of modern toolchains, especially for the realisation of test-driven development (in detail the implementation and execution of module, integration and e2e tests), as well as on continuous development and delivery.
Technologies / Products
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, in detail:
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)
Tools for test-driven development
code quality tools & continuous delivery & version control
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
Development environments & tools
JetBrains IntelliJ IDEA, Eclipse IDE , Oracle SQL Developer , Postman , SoapUI
Operation Systems
Red Hat Enterprise Linux (RHEL) , Microsoft Windows 10 (Windows 10)
Agility toolchain
Atlassian Jira Server (Jira) , Atlassian Confluence (Confluence)
Third-party systems
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

In the iComm Konnex programme, various projects were implemented using the newly developed suva-internal framework RESTretto.

Role
Full stack developer in a Scrum team
Period
September 2015 - August 2016
( bis 2017 bei der Suva )
Activities performed
  • Primarily, full stack development with Java EE and Angular, including...
  • Type examination certificates (administration and web application)
  • Limit values at the workplace (administration and web application)
  • Contacts and addresses / agency search (web application)
  • further details on request

Capgemini Schweiz AG

Support in the run-up to the production roll-out of an IT system for a leading global provider of solutions for access control and locking systems in the security industry, which gradually replaced and consolidated the core systems of the country subsidiaries.

Role
Senior developer, client co-architect, IT consultant
Period
December 2014 - October 2015
Activities performed
  • Conception, creation, integration and documentation of new core components for the client application.
  • Optimisation of the project's own table component: sorting and filtering, as well as significant increase in performance with very large data volumes.
  • Troubleshooting and optimisation of existing client core components.
  • Consultation on implementation and performance issues.
  • Documentation and best practices.
Technologies / Products
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™
Toolset
JetBrains IntelliJ IDEA, AspectJ , Apache Maven (Maven) , Apache Subversion (Subversion) , SparxSystems Enterprise Architect (Enterprise Architect)

Automotive - Volkswagen AG

(Oktober 2011 - August 2014)

From October 2011 to August 2014, I worked on various projects for Volkswagen AG (including Audi). I will discuss the projects in detail in the following chapters.

JavaFX Application Framework

Architecture and lead development of an application framework for the client platform based on Java and JavaFX

Role
Architect, lead developer
Period
March 2014 - August 2014
( Oktober 2011 - August 2014 at VW )
Activities performed
  • Conception, creation and documentation of a JavaFX application framework, which realises the user interface according to the MVC principle.
  • Optional configurative or programmatic generation of dashboards, favourite control, breadcrumbs, ribbon panels and search function from a group and module configuration.
  • Localisation and internationalisation, validation, as well as visualisation and handling of pending changes.
  • Multistage support, i.e. window-support, as well as drag and drop between these windows.
  • Central exception handling is realised by displaying corresponding message dialogues. Both the display of technical messages and error dialogues to handle unexpected problems, including the option of sending emails, are supported.
  • Life-cycle management takes care of starting and stopping use cases and provides functions for loading and saving data.
  • Message-bus for targeted communication between the framework and use case controllers, as well as between the use case controllers themselves.
  • In addition to creating a modern and intuitively usable interface, the focus during design and development was on creating a framework that enables the simple implementation of use cases while avoiding code redundancies.
Technologies / Products
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

Architecture and implementation of a library as well as the client platform (fat client) for the start-up planning of the production of new vehicle models for a large German car manufacturer. Development of the client architecture, as well as lead development client, and co-development middleware and backend.

Role
Architect (client), lead developer (client), developer (middleware and backend), consultant
Period
September 2013 - August 2014
( (Oktober 2011 - August 2014 at VW) )
Activities performed
  • Swing client, which implements the user interface according to the MVC principle.
  • Communication with the middleware via Hessian Binary Web Service Protocol with Spring.
  • Focus on client architecture, performance optimisation and code cleaning.
Technologies / Products
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₂ and weight reduction

Further development, bug fixing, refactoring and architectural realignment of a platform for planning and evaluation, as well as calculation and controlling of innovation projects in the automotive sector (primarily CO₂ and weight reduction) of a large German car manufacturer

Role
Architect (Life Cycle and Client), Full-stack Developer, Consultant
Period
October 2011 - September 2013
( October 2011 - August 2014 at VW )
Activities performed
  • Focus on architecture, performance optimisation and code cleaning of the existing application.
  • Implementation of new features in a Swing-Fat-Client, which realises the user interface according to the MVC principle.
  • Creation of a huge high-performance table component that performs complex calculations and enables the filtering and aggregation of data.
  • Use of user interface controllers and use case controllers.
  • Communication with the middleware via command channel using the Hessian Binary Web Service Protocol.
  • Use of UML, Business Objects, Value Objects, Value Object Assembler, Data Transfer Objects, Data Access Objects, Mementos.
Technologies / Products
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 is a software company that deals with the creation of individual software and the planning, installation, configuration and operation of networks and Unix system infrastructures.

Its customers include public authorities, institutions and clients from industry. The company also develops and sells a Linux distribution for schools based on Debian GNU/Linux.

I am the founder of the company, which was founded in 2002. I have supervised the company's projects from an architectural point of view, in addition to my work as managing director. In the following, I will discuss some of the company's projects.

Licence Manager

Development of a licence manager as a web-based Java EE application with an integrated SOAP interface, which enables the administration of software and customers with regard to the management of software licences. It is a classic administration application that relies primarily on input masks. The product is currently used to administer about 150 servers at 120 locations with about 60,000 connected client workstations.

Role
Projektleiter, Full Stack Architekt
Period
February 2010 - October 2010
Activities performed
  • Dynamic management interface (Ajax, Primefaces, Prettyfaces)
  • Administration of customers, locations and contacts
  • Software management
  • Allocation of licence keys
  • Signing and encryption
  • PDF creation
  • Communication with software to be installed via SOAP interface
  • Java, PHP and Python client
Technologies / Products
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 Pilot Project Sys-C

System solution for the schools of the city of Chemnitz to support the interdisciplinary use of new media (Sys-C).

As part of the Sys-C project, we developed a solution to support the interdisciplinary use of new media at schools in the city of Chemnitz. The Federal Ministry of Education and Research and the European Social Fund funded the project. The project management agency is the German Aerospace Center (DLR), more precisely the Project Management Agency New Media in Education (PT-DLR, Project Management Agency - part of the German Aerospace Center). We developed a uniform system software for school use in lessons for approximately 85 schools.

Role
Project Manager, Solution Architect
Period
February 2005 - December 2015
( Development of 1st version: 2005 - 2007 )
Activities performed
  • Graphical user interface (GUI) to administrate users, classes, courses and projects, computer rooms and computers, as well as printers.
  • User management, including bulk import, automatic transfer of students and support of various customisable user roles.
  • Generation of initial passwords or use of default passwords.
  • Automated integration of workstation computers.
  • File server for Microsoft Windows, Linux and Mac OS X workstations.
  • DHCP and DNS server, including automatic configuration without user intervention.
  • Support of Windows workstations in domain and workgroup mode.
  • Support of Mac OS X and Linux clients.
  • Person-, class- and course-related file quota, as well as mail quota.
  • Email server including web-based groupware application with address book, calendar and reminder function.
  • Room- and user-based internet access control, including child and youth protection filters.
  • Virus scanner for file server, email server, and Internet access (HTTP and FTP).
  • Distribution and collection of class and project work (classwork function).
  • Printer administration, including print account solution for network printers and printers released via workstations.
  • CD-ROM archive.
  • Database, time and web server.
  • Fully automatic update function that keeps the servers up to date without user intervention.
  • Support of various presets, such as the automatic creation of initial passwords or the setting of user quotas.
  • Batch processing functions (e.g. reset quota for a specific user selection).
  • Didactic screen control solution.
  • Monitoring of individual workstations.
  • Tracking of all workstations in a computer group.
  • Screensharing to a single workstation.
  • Screensharing to all workstations of a computer group.
  • Locking the mouse and keyboard of a workstation.
  • Locking the mouse and keyboard of a group of workstations.
  • Server-based client inventory.
  • Automatic software distribution for Windows, Max OS X and Linux.
Technologies / Products
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)

Server Infrastructure SBB/SPK

Stiftung Preussischer Kulturbesitz, Staatsbibliothek zu Berlin

As part of a conversion of the web services of the Berlin State Library to a high availability solution, we planned, installed, configured and maintained various services.

Role
Project Manager, Solution Architect
Period
June 2003 - December 2010
Activities performed
  • Planning, configuring and operating a multi-redundant web server system, based on Debian GNU/Linux operating systems, combined with Apache web servers and a high availability cluster software. Usage of redundant server components as well as data storage.
  • Developing a backup strategy and set-up of backup and disaster recovery tools.
  • Bastion host system design.
  • Usage: > 1.5 million site visits / month.
  • Development and support various web-based solutions for the Prussian Cultural Heritage Foundation, the Berlin State Library, and Berlin's National Museums.
  • Web frontend server for the book ordering system of the Berlin State Library based on Linux. Extension to SCO compatibility. Attachment of various security tools for use as a bastion host.
  • Installation of a new email server cluster based on Postfix, migration of approx. 1000 users.
  • Web application that allows central access to contents of various worldwide distributed databases of East Asian manuscripts (http://crossasia.org).
Technologies / Products
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)

Backup concept SPK

Creating and implementing a backup concept for the Prussian Cultural Heritage Foundation

We developed a backup strategy for the Prussian Cultural Heritage Foundation, ensuring quick recovery of the Unix and Linux server systems and various data storage devices and databases after system failures. Servers at two locations, as well as their configurations and system states, are backed up. Targeted recovery of data stocks is supported, as well as disaster recovery.

Role
Solution Architect
Period
June 2004 - June 2006
Activities performed
  • Planning and implementation of the backup concept.
  • Planning and implementation of the disaster recovery strategy.
Technologies / Products
Debian GNU/Linux (Debian) , SEP sesam

Reconnecting BeLa

Implementation of «Spandau district office of Berlin»'s new connection to the Berlin state network

Role
Solution Architect, Administrator
Period
January 2003 - July 2003
Activities performed
  • Multi-level firewall system based on Linux and BSD
  • Intrusion Detection System [IDS]
  • Intrusion Prevention System [IPS]
  • Mail relay server including anti-virus software
  • DNS server and web server
  • HTTP and FTP proxy server
  • Email server (IMAP, POP3)
  • System-wide protection through various security tools
  • Hardened administration workstation

Ordering system ZIT-BB

Developed an electronic ordering system for the State Office for Data Processing and IT Service Tasks (LDS), now Brandenburg IT Service Provider (ZIT-BB).

The new procurement procedure makes an essential contribution to the modernisation of the Brandenburg administration. All authorities have access to this flexible and valuable instrument to meet their IT needs.

InSecMa implemented the planning and creation of a web-based application through which the various departments of the administrations can place orders via the intranet.

Role
Project Manager
Period
January 2002 - October 2002
Activities performed
  • Planning and development of the ordering system
Technologies / Products
Microsoft Visual FoxPro (VFP) , West Wind Framework , HTML (HTML) , CSS , JavaScript (ECMAScript, ES)

Printium AG

Printium AG was a company specialised in trading and processing print orders via the internet. In my role as head of the frontend development department, I was primarily responsible for the coordination of the developers and architectural issues.

Role
Head of Frontend Development
Period
January 2000 - December 2002
Activities performed
  • Team coordination
  • Architecture and co-development of a browser independent JavaScript library
  • Architecture and co-development of frontend CMS
  • Architecture and co-development of frontend e-procurement and print processing
Technologies / Products
Java Platform, Enterprise Edition (JEE) , Microsoft Visual FoxPro (VFP) , West Wind Framework , HTML (HTML) , CSS , JavaScript (ECMAScript, ES)

Joker Software

Joker Software was a Hamburg-based advertising company specialising in digital media.

Role
Software Developer & Linux Administrator
Period
January 1998 - December 1999
Activities performed
  • Interactive website "Simon the Sorcerer" for Hasbro Interactive using Flash and PHP
  • Online annual business report on the Internet for Lufthansa Technik
  • Various interactive websites in cooperation with Heye & Partner Salesforce, Hamburg
Technologies / Products
Adobe Flash, PHP , Microsoft Visual FoxPro (VFP) , HTML (HTML) , JavaScript (ECMAScript, ES) , CSS , JavaScript (ECMAScript, ES) , Debian GNU/Linux (Debian)

Contact details

For project enquiries, please contact me by email or via one of my profiles (e.g. on Xing).