My name is Michel van den Berg and I'm an independent software architect specialized in building distributed systems.
I work under the company name 'Promontis', which is a contraction of the Latin words 'pro' (for) and 'montis' (of the mountain; my last name). In my spare time, I contribute to open source projects and work on a startup named Stylister.
For fun I watch TV series (anything Marvel) and play the piano.
Click here to print my resume.Print now
StreamsDB is the modern stream database for advanced stream processing and event sourcing systems
It provides a rock solid foundation for event-sourced applications that store their state as a series of events, while allowing you write to multiple streams within a single transaction secure and efficient.
EventFlow is an async/await first CQRS + ES and DDD framework for .NET
It currently has over 1.3K stars on GitHub.
Introducing ENAI and Trigion, one of the leading security system suppliers, to a high performance streaming big data pipeline using Apacha Kafka.
Technologies used: .NET Core, C#, Docker, Kubernetes (on-premise), Apacha Kafka, RocksDB, Apache NiFi, Lenses, Git and GitLab
Lead Developer & Software Architect
Helping Cito to support governments, institutions and awarding bodies so that they can develop world-class testing and monitoring systems to complete their educational programmes. From a legacy Windows-only monolith to stable future-proof microservices on multi-browser and multi-device, while simultaneously transforming the IT department.
Creating the next generation of AFAS ERP platform based on their vision to generate software based on a model that represents the client's world instead of programming it.
Founder of a small startup that will be able to style interiors in less than a 10th of the time it currently takes by making use of advanced optimization algoritms and artifical intelligence.
Microsoft Azure Advisor
Senior Software Developer
Rewriting the backend of the new Eneco app. Eneco is one of the largest producers and suppliers of natural gas, electricity and heat in the Netherlands, serving more than 2 million business and residential customers.
Technologies used: .NET, C#, ASP.NET Web Api, Apigee, Azure, Jira, Confluence, SOLID, TDD, Git, CI/CD, Azure and more
Cloud Solution Architect
Setting up the cloud landscape for VGZ - the second largest health insurance provider in the Netherlands. You can see the platform at vgzapi.nl. The API platform is connected to various legacy services in- and outside the organization, is connected to DigiD and also enables their mobile app.
Technologies used: .NET, C#, ASP.NET Web Api, ASP.NET MVC, WCF, Azure, Azure Storage, Azure Service Bus, Azure API Management, Azure App Service, DigiD, VSTS, SOLID, TDD, Git, CI/CD, DevOps, Scrum and more
Senior Software Developer
Developing a mobile app - including the backend - that Nike uses to plan the SKUs of around 600 European stores.
Full Stack Developer
Helping a subdivision of the Fortune 500 company Maersk to conquer the onshore logistics market.
Delivering multiple software development projects to aid in various aspects of daily business.
For example, a reporting solution for the FTK (Financieel Toetsing Kader). The FTK is mandatory as of by the central bank of the Netherlands (DNB) and is considered complex. The results of the solution are yearly audited by EY.
Technologies used: .NET, C#, VB.NET, WinForms, WPF, Mvvm, ReactiveUI, DevExpress, TFS, SOLID, TDD, Scrum and more
Senior Software Developer
Microsoft Competence Leader
UMC St Radboud
Developing an electronic health record system for UMC St Radboud - a university medical center.
Microsoft Student Partner (MSP)
The Microsoft Student Partners is a worldwide recognizable program to sponsor students majoring in disciplines related to technology. The MSP program enhances students' employability by offering training in skills not usually taught in academia, including knowledge of Microsoft technologies.
Microsoft chooses one skilled student from each institution at a time to serve as representatives. MSPs are assumed to further share the knowledge among the academic community by arranging courses; giving presentations and lectures; and initiating projects among the students.
The Microsoft Student Partners is a worldwide recognizable program
to sponsor students majoring in disciplines related to technology.
Udi Dahan's Advanced Distributed Systems Design
Designing large-scale distributed systems is hard. While new technologies make it easier to comply with today's communications and security standards, they don't auto-magically give you a robust and scalable system. See how companies like Amazon and eBay run their systems and learn how to:
- Avoid common pitfalls in distributed systems
- Use loosely coupled messaging communication
- Identify and allocate business logic to services
- Decompose services into layers, tiers, assemblies, and processes
- Design for service management and monitoring in production environments
Greg Young's Advanced CQRS & DDD Workshop
This advanced CQRS training dives deeper into discussion on process managers, sagas, and advanced messaging patterns
Gregory Young (author of EventStore) coined the term “CQRS” (Command Query Responsibility Segregation) and it was instantly picked up by the community who have elaborated upon it ever since.
Akka.NET Design Patterns
Delft University of Technology
NLP Practitioner, Psychology psychotherapy Commucation
We start with a review of your proposed architecture (which usually goes on two days) at which point, with the feedback you'll receive, we schedule a full week architecture & design workshop where we refactor the solution.
The product of that first week usually includes the identification of top-level business services, their break-down into business components, the use of existing systems and their orchestration within each business service, and the message choreography between them. We usually have about 15 to 20 UML/BPMN diagrams per service at this level.
At that point we usually follow up with twice-weekly conference calls (about an hour each) to make sure that the design effort doesn’t get stuck or take a wrong turn. 2-3 months after that, we usually have another 2 day review. After that, usually we move to a mode of an hour call once or twice a month.