In a nutshell
As enthusiastic solution architect, engineer, open source developer, regular speaker and avid blog writer I bring a lot of experience with conviction and commitment to your project.
Quote
Evolvable and maintainable architecture is not created in an ivory tower. It is a result of continuous improvements of targeted pragmatism and cooperation in a team with a common vision.
About Me
With more than ten years of experience in designing and implementing distributed systems, libraries, and frameworks in .NET, I blend business acumen with technical depth in a unique way. My passion and enthusiasm for Software Engineering, Architecture, customers, and individuals I collaborate with make me thrive and drive in challenging problems, from on-premises to the cloud. I’ve gained the trust of everyone I worked with, technical and non-technical alike, with my friendly, respectful, and utterly professional demeanor, always seeking to understand, improve, learn, and share knowledge with others.
Profiles
Community
Founder and co-organizer of the .NET Usergroup Zentralschweiz for more than ten years.
Speeches and Activities
Year 2024
- Microsoft Most Valuable Professional for Azure and Developer Technologies
Year 2023
- Microsoft Most Valuable Professional for Azure
- Performance tricks I learned from contributing to the Azure SDK .NET SDK .NET NDC London
- Performance tricks I learned from contributing to the open source .NET packages NDC Oslo
- Performance tricks I learned from contributing to the Azure SDK .NET SDK .NET NDC Porto
- Performance tricks I learned from contributing to the Azure SDK .NET SDK .NET Techorama Belgium
- Beyond simple benchmarks – A practical guide to optimizing code .NET Day Switzerland
- Beyond simple benchmarks – A practical guide to optimizing code Particular Webinar
- A tour of the essential messaging services in Azure .NET Developer Days Warsaw
- Beyond simple benchmarks – A practical guide to optimizing code .NET Developer Days Warsaw
- Workshop Reliable Messaging in Azure .NET Developer Days Warsaw
- .NET Performance with Daniel Marbach .NET Rocks podcast
- AWS on .NET Show – Featuring Daniel Marbach (part1)
- AWS on .NET Show – Featuring Daniel Marbach (part2)
- Tech Talk Times: Discussing technlogy, techniques and career Betatalks the podcast
Year 2022
- Microsoft Most Valuable Professional for Azure
- Performance tricks I learned from contributing to the Azure SDK .NET SDK .NET Usergroup Zurich
- Performance tricks I learned from contributing to the Azure SDK .NET SDK .NET Usergroup Zentralschweiz
- Performance tricks I learned from contributing to the Azure SDK .NET SDK Techorama Belgium
- Performance tricks I learned from contributing to open source .NET packages Particular Webinar
- Performance tricks I learned from contributing to the Azure SDK .NET SDK .NET Usergroup Bern
- Performance tricks I learned from contributing to open source .NET packages Dotnet Day Switzerland
- Performance tricks I learned from contributing to open source .NET packages .NET Developer Days Warsaw
- Deep Dive into Azure Service Bus Messaging .NET Developer Days Warsaw
- Performance tricks I learned from contributing to the Azure SDK .NET SDK .NET Conf Online
- Performance tricks I learned from contributing to open source .NET packages Jetbrains Day Online
Year 2021
- Microsoft Most Valuable Professional for Azure
- Evolutionary history of the RabbitMQ .NET Client towards concurrency NDC London
- Deep Dive into Azure Service Bus messaging with the .NET SDK Webinar
- Async expert webinar about concurrent programming
- Reactive-concurrent data structures in .NET with examples in Azure Service Bus Techorama Belgium
- Reactive-concurrent data structures in .NET with examples in Azure Service Bus Developer Week Germany
- Evolutionary history of the RabbitMQ .NET Client towards concurrency Developer Week Germany
Year 2020
- Microsoft Most Valuable Professional for Azure
- Mentor on the async expert course online at Asyncexpert.com
- Async expert webinar about the evolution of the RabbitMQ client
- Async expert webinar about Concurrent data structures with examples in Azure Service Bus
- DYI Async Message Pump: Lessons from the trenches at .NET Summit
- Track Chair for Developer Week Germany for the Messaging / Middleware track
Year 2019
- Microsoft Most Valuable Professional for Azure
- Break the chain asynchronously at Techorama Belgium
- Knock. Knock. Who’s there? A message from the future at Techorama Belgium
- Async in .NET Core at Noser AG Engineering Day in Bern
Video
- Knock. Knock. Who’s there? A message from the future at Dotnetday Switzerland
- DYI Async Message Pump: Lessons from the trenches at NDC Oslo
Video
- Knock. Knock. Who’s there? A message from the future at Develper Week Germany
- Deep Dive with Azure Service Bus Messaging at Developer Week German
- Distributed Systems Architecture Afternoon in Durban SA
- Cliff diving into async in .NET Core and C# 8 at .NET Usergroup Zentralschweiz
- Cliff diving into async in .NET Core and C# 8 at Dotnetos Warsaw
Video - Cliff diving into async in .NET Core and C# 8 at at Build Stuff Appetizer Lithuania
- DYI Async Message Pump: Lessons from the trenches at Build Stuff Lithuania
Video
- CfP Review as Trackchair for Developer Week Germany Messaging / Middleware Track
- Featured in Top 20 Azure Serverless Blogs of 2019
Site
Year 2018
- Microsoft Most Valuable Professional for Azure
- Microservices with ServiceFabric. Easy… or is it? at Global Azure Bootcamp in Zurich
- Two Day Workshop SOA Done Right at MicroCPH in Copenhagen
- Microservices with ServiceFabric. Easy… or is it? at Techorama Belgium
- Async/Await and the Task Parallel Library: await headexplosion at Techorama Belgium
- DYI Async Messagepump: Lessons from the trenches Developer at Week Germany
- One Day Workshop SOA Done Right Assistance for Udi Dahan at Developer Week Germany
- Two Day Workshop Mastering Microservices at Sela Developer Practice in Tel Aviv
- One Day Workshop Async/Await and the Task Parallel Library at at .NET Developer Days in Warsaw
- Do It Yourself. An Async Message Pump That Kicks Ass at .NET Developer Days in Warsaw
- Break the chain asynchronously at .NET Developer Days in Warsaw
- Two Day Workshop SOA Done Right at .NET Usergroup Bern
Year 2017
- Microsoft Most Valuable Professional for Azure (Integration)
- Featured on the MVP site under “What it takes to be an MVP”
Site - Rearchitect your code towards async / await at .NET Usergroup Geneva
- Rearchitect your code towards async / await at .NET Cologne
- Talk about Remote Working at .NET Day Franken
- Workshop about Rearchitect your code towards async / await at .NET Day Franken
- Talk about Remote Working at .NET Day Franken
Year 2016
- Microsoft Most Valuable Professional for Azure (Integration)
- Two day workshop about Async / Await and Chain of Responsibility at Spartakiade Berlin
- Rearchitect your Code towards Async / Await at NDC Oslo
Vimeo - Break the Chain asynchronously at NDC Oslo
Vimeo - Dish washing and the chain of responsibility
Blogpost - Three part webinar series abou Async / Await Best practices
Webinar - Functional and asynchronous pipelines with C# at .NET Cologne Germany
- Async / Await The die is cast! at .NET Cologne Germany
- Representation of Particular Software Ltd and NServiceBus at NDC Oslo booth
- Legacy Code and now what at Developer Week Germany
- DevSession about Functional and asynchronous pipelines with C# at Developer Week Germany
- Async / Await the die is cast at Developer Week Germany
- Rearchitect towards async / await at KGD .NET in Krakow Poland
- A promise is only as good as the code that makes it
Blogpost - One day workshop about Async / Await and Message pump at .NET Usergroup Bern on the Gurten Mountain
- Rearchitect your code towards async / await at Flashcon in Zurich
- Async / Await it is time
Blogpost
Year 2015
- Microsoft Most Valuable Professional for Integration
Microsoft Most Valuable Professionals, or MVPs are exceptional community leaders who actively share their high-quality, real-world deep technical expertise with the community and with Microsoft. They are committed to helping others get the most out of their experience with Microsoft products and technologies. - Catch the Service Bus without being knocked over! Zurich Developers
Talk at the Zurich Developers Group about the fundamental principles of Messaging, Service Buses, Brokers and Autonomous Components - Whole day workshops about Legacy Code at Spartakiade Berlin
The attendees of this workshop learned how to detect, find their way through, build features into and improve their legacy code. - Legacy Code. Now What? Frankfurt Architecture Group Meetup
Are you stuck in legacy swamp? I’ll show you a step by step process to get rid of the Legacy Code in your system while keeping the system operating. Imagine looking forward to working in more legacy code projects. You’ll learn methods, techniques and tools that enable you to detect Legacy Code, decipher it, add new features and finally improve your code in the long term. Small steps. No Big Bang. Join me on a journey out of legacy swamp. - Catch the Service Bus without being knocked over! Geneva .NET Usergroup
Talk at the Geneva .NET Usergroup about the fundamental principles of Messaging, Service Buses, Brokers and Autonomous Components - The Secret of transactions and async/await. Anzcoders virtual conference
Did you ever ask yourself, when using async/await together with Entity Framework and transactions to load data from your database, what kind of black magic Entity Framework is pulling off behind the scenes? Or do you need to write custom code which participates asynchronously within a transaction? Together we explore the inner workings of transactions. We learn how to leverage transactions with asynchronous code and get to know why there is no way around async void when working with transactions. After this session there will be no more black magic. - Scaling with Asynchronous Messaging with Elton Stoneman
Cohosted a webinar about asynchronous messaging together with Elton Stoneman and Mauro Servienti. - Asynchronous Messaging with NServiceBus
A webinar about asynchronous messaging with NServiceBus as a follow-up to Scaling with Asynchronous Messaging together with Mauro Servienti. - Legacy Code. Now what? .NET Usergroup Bern.
- Legacy Code. Now what? .NET Day Franken.
- Legacy Code. Now what? Softwerkskammer Magdeburg
- Particular Software Booth at NDC Oslo
Presenting and discussing challenges in distributed systems with current and prospective customers at the Particular Software Booth at NDC Oslo. - Functional and asynchronous pipelines with C# Hamburg Germany
Usergroup session about async/await and the best practices. From there on we dived into async in combination with the Task Parallel Library. After that deep learning experience we started exploring the russian doll pattern and combined it with async/await. - Founded brown-bag.net a virtual brown-bag conference
- Workshop about asynchronous pipelines with C# at Devopenspace in Leipzig
- Workshop about saga integration patterns with NServiceBus at NSBCon in Dallas
- NServiceBus V6 API Upgrade talk and the reasoning behind the async changes at NSBCon in Dallas
- Functional and asynchronous pipelines with C# Lucerne Switzerland
Year 2014
- Microsoft Most Valuable Professional for Integration
Microsoft Most Valuable Professionals, or MVPs are exceptional community leaders who actively share their high-quality, real-world deep technical expertise with the community and with Microsoft. They are committed to helping others get the most out of their experience with Microsoft products and technologies. - NServiceBus Community Champ
NServiceBus Champs is our way of saying thank you to exceptional, independent community leaders who share their passion, technical expertise, and real-world knowledge of NServiceBus with others. - Basta Conference in Darmstadt – Transport, Transport… ActiveMQ, MSMQ and RabbitMQ with NServiceBus
Building distributed systems with NServiceBus which only use MSMQ was yesterday. Today we have more possibilities to choose the right transport technology. But how do I decide which transport layer fulfills my functional and non-functional requirements? - Whole day workshop about Composite UI for Service Oriented Architecture at Spartakiade Berlin
After this workshop you’ll be able to argument why it is important to decompose large systems and how the decomposition can be achieved. Furthermore, this workshop will provide you with the necessary practices to reassemble the system together into a whole user experience by applying service composition techniques. - Dresden, Leipzig, Berlin, Braunschweig .NET Community – Composite UI for Service Oriented Systems
After this presentation you’ll be able to argument why it is important to decompose large systems and how the decomposition can be achieved. Furthermore, this workshop will provide you with the necessary practices to reassemble the system together into a whole user experience by applying service composition techniques. - bbv Software Engineering Event – Step by step to a successful team
What it takes to become a successful team based on real world experience - Introduction into Project Orleans
A quick introduction into the Microsoft MSR Project Orleans and actor frameworks in general. - Chop Onions Instead of Layers in Software Architecture
Article for the Method & Tools Magazine about Onion Architecture
Year 2013
- .NET Usergroup Karlsruhe Germany – Introduction to NServiceBus
Introduction to NServiceBus and especially how to apply proper Service Oriented Architecture together with NServiceBus. - NServiceBus Community Champ
NServiceBus Champs is our way of saying thank you to exceptional, independent community leaders who share their passion, technical expertise, and real-world knowledge of NServiceBus with others. - bbv System Event in Berne and Lucerne – Legacy Code and now what?
Legacy Code and now what? How can we still put new features into a legacy code base without breaking existing ones. - .NET Usergroup Berne – REST Fundamentals (short)
Quick introduction into the principles for REST. - .NET Usergroup Frankfurt Germany – Distributed Version Control with Team Foundation Server 2012
Introduction to distributed version control systems and how to bridge them together with TFS 2012.
Year 2012
- .NET Stammtisch Konstanz-Kreuzlingen – Appccelerate your Application Development
Introduction into Appccelerate and how it speeds up your application development. - Microsoft Techday in Basel – Distributed Version Control with Team Foundation Server 2012
Introduction to distributed version control systems and how to bridge them together with TFS 2012.
- Dresden, Leipzig and Berlin Germany .NET Usergroups – Introduction to NServiceBus
Introduction to NServiceBus and especially how to apply proper Service Oriented Architecture together with NServiceBus. - .NET Usergroup Central Switzerland and Bern – Introduction to NServiceBus
Introduction to NServiceBus and especially how to apply proper Service Oriented Architecture together with NServiceBus. - bbv Software Services TechDay 2012 – Presentation about REST Fundamentals
Creating and maintaining RESTful APIs can be a real challenge without a basic understanding of the principles behind REST. Together we dive into the basic definition of REST, cover the Richardson maturity model and apply the REST theory to a simple real live example. - bbv Software Services TechDay 2012 – Workshop about Fundamental building blocks for Distributed Systems with SOA together with Remo Gloor
Dive into the distributed systems theory and learn the common pitfalls in distributed systems and how to avoid them. Learn more about asynchronous messaging patterns, what an architectural style is and how it can be applied to distributed systems. The fundamental building blocks shown in this workshop will help you develop systems which are more closely aligned with business. - .NET Usergroup Central Switzerland – How to select open source frameworks
Quick presentation about how to select a good open source software for your project.
Year 2011
- bbv Software Services TechDay 2011 – Application Bootstrapping on steroids: bbv.Common.Bootstrapper
Workshop about the Appccelerate Bootstrapper formerly known under bbv.Common.Bootstrapper.
Year 2010
- Advanced TDD
We all have seen a lot of Test Driven Development examples which never reflect the reality we see in our projects. If we try to apply TDD in our projects we often face some really hard problems. The frustration grows and the acceptance for TDD diminishes. But TDD can give you a lot of benefit even in complex projects with some practice and a change in mind!
Contributions
Here you can find a list of open source projects I contributed to or where I am/was a core committer:
- Marten
- MassTransit
- RavenDB
- Azure .NET SDK
- Microsoft AMQP Library
- AWS .NET SDK
- GitVersion
- RabbitMQ .NET Driver
- ApiApproval
- PublicApiGenerator
- Pair programming and design contributions to Websocket Sharp clone by Jacob Reimers
- Enabling transactional sessions with DTC under AsyncDocumentSession for RavenDB (https://github.com/ravendb/ravendb/pull/606)
- Resharper Plugin for Janitor.Fody (https://github.com/Fody/Janitor/pull/10)
- ServiceBus for Windows Server High-level Library for Multimedia Solutions AG (https://github.com/MultimediaSolutionsAg/ServiceBus)
A convenient abstraction over the ServiceBus for Windows Server libraries. - Orleans.StorageProvider.RavenDB (https://github.com/OrleansContrib/OrleansBlobStorageProvider)
A storage provider for Microsoft Research Project Orleans using RavenDB - Orleans.Serialization.JSON (https://github.com/OrleansContrib/orleans.serialization.json)
A serialization library using JSON.nET for Microsoft Research Project Orleans - RavenDB.Migrations (https://github.com/khalidabuhakmeh/RavenMigrations)
Migration library for RavenDB - NServiceBus (http://www.nservicebus.com)
A on-premise and in the cloud hybrid communication stack which allows to build true SOA style architectures based on .NET. - NServiceBus ActiveMQ
ActiveMQ Transport for NServiceBus - Ninject and various extensions (http://www.ninject.org)
Largely used dependency injection container. - Machine.Specifications (http://www.github.com/machine.specifications/)
Context/Specification Framework for .NET - Appccelerate (http://www.appccelerate.com)
Library of components which simplify application development. - NEventStore (http://neventstore.org/)
A persistance agnostic Event Store for .NET - bbv.Common (Superseeded by Appccelerate)
- bbv.Common.Mobile (Deprecated)
- and probably many more until now…
Certifications and Courses
Below a list of certifications I own and courses I attended. The top most entries are the most recent ones. Some of the certificates my out date after some time.
Certifications
- Certified Professional for Software Architecture – Foundation Level (CPSA-F) 10/2013
- Microsoft Certified Professional Developer
- Various Microsoft Certificates (most recent AZ-900) about different technologies
- Certified Scrum Professional
- Certified Scrum Master
Courses
- Ultimate Courses: Basic typescript
- Think101x: Science of everyday thinking
- Architecture in agile projects 4/2014
- Visual Facilitating (bbv Academy) 1/2014
- Present like a professional (bbv Academy) 1/2014
- Greg Young’s Advanced CQRS & DDD Workshop 12/2013
- Architecture Reviews based on ATAM (bbv Academy) 12/2012
- Test Driven Development Advanced (bbv Academy) 10/2013
- RavenDB Workshop with Ayende Rahien (bbv Academy) 10/2012
- Agile Requirements Engineering with Scrum (bbv Academy) 7/2012
- Udi Dahan’s Advanced Distributed Systems Design with SOA (Skillsmatter) 4/2012
- Certified Scrum Professional (Scrum Alliance) 2/2012
- Certified Scrum Master (Scrum Alliance)