Speaker

Shahab Ganji

Shahab Ganji

Lead Coding Architect, SQUER Solutions GmbH

Hartberg, Austria

Actions

Shahab is a seasoned software engineer with 15+ years of experience, specializing in software architecture and microservices. He thrives on challenges and enjoys mentoring others. With excellent communication skills, he fosters autonomous teamwork and emphasizes respect within the team. Embracing change is his motto, advocating for collaborative environments where everyone's contributions are valued.

Area of Expertise

  • Information & Communications Technology

Topics

  • C#.Net
  • .NET Backend
  • ASP.NET Core
  • .NET
  • Roslyn
  • Azure
  • Azure CosmosDB
  • Software Architecture
  • Azure Architecture
  • Event Sourcing
  • CQRS & Event Sourcing
  • Event Modeling
  • Event Streaming
  • Solution Architecture
  • dotnet core

Breaking the Monolith Failed! Where is the data?

Applications start to become legacy at the point that their data model is not evolving anymore! Even though there are countless books and articles describing how to manage and refactor the code base using patterns like Strangler Fig and Branching by Abstraction, this session is about how to liberate your data model. A software without data is like a joke without a punchline, leaves you hanging.

I’ve seen firsthand how crucial it is to have a robust plan for data migration, working on projects where we faced this exact problem, the code migration was progressing smoothly, but our legacy data model held us back. It was a pivotal moment that made me realize: without effectively addressing data migration, no amount of code refactoring or system redesign would suffice. While there are numerous approaches offering data integration between systems, whether it is a shared database or having separate data stores and implementing Change Data Capture using Debezium or Kafka, the real challenge is left to the reader; listen to your environment and choose which approach fits your situation better.

Throughout this session, we will examine different patterns that can be leveraged to liberate data in your system and allow it to flow seamlessly. We will examine the advantages and disadvantages of each approach and discuss tools we could employ to achieve this goal. By the end of this session, you will be better equipped to make informed decisions about how to migrate and synchronize data in your software applications.

Building your own Event Sourcing System With Azure Cosmos DB

Event sourcing and Event-Driven Architectures are great ways to scale your system, bringing scalability, elasticity, and resilience within today's software systems. Azure Cosmos DB is a globally distributed, multimodel and scalable database.

In this session, we will learn and examine the intrinsic details of Event Sourcing and how we could leverage Azure Cosmos DB to achieve it. We will examine how to store events, getting states back, creating read models to satisfy queries, and how to propagate necessary data in near real time, as events are happening, to other parts of the system.

Kafka through the lens of .NET

Everyone talks about Event Driven Architecture with Kafka! Kafka is an open-source distributed event streaming platform used by thousands of companies for mission-critical applications. It comes with a rich echo system of tools like Kafka Stream and Kafka Connect, but there are plenty of framework support in .NET as well!

We will look into the building blocks of it, from records, partitions and (de)serialization to schema registry and Kafka streams; Throughout this session we cover the basic concepts of Kafka and will examine them through the lens of .NET.

After this session, you will be equipped with confidence and required knowledge to use Kafka in your next messaging solution.

Compiler is your friend! Empowering developers with Roslyn

Compilers are the core component of every programming language we use to develop applications, and letting them do the
repetitive work, especially if it’s something that multiple developers need to do. You’ll save time and reduce errors, making your workflow smoother and more efficient. Plus, onboarding new developers and imposing programming
patterns and guidelines can take a good amount of time from your team.

Roslyn with its rich APIs is helping us to tackle these challenges at compile time. In this session, we will investigate Compiler APIs from Roslyn and how they assist to create Source Generators, Semantic Analyzers and Code Fixers tailored for our team.

Building Event-Driven Microservices at scale with Azure Cosmos DB

The most prominent shift we've observed in the field of distributed systems over the last decade is probably the transition from traditional synchronous integrated systems to message-driven means. This change is a logical response to the high demands for scalability, elasticity, and resilience within today's software systems. Regardless of how overwhelming the array of message-based options may seem, Azure Cosmos DB serves as an incredible solid backbone for most of them, whether utilized as a transactional outbox or a fully-fledged event store in the context of event-sourcing. By diving deeper into real-world experiences, we will discover the mechanics of how Cosmos DB can guarantee nearly infinite scalability if you follow a few basic principles and patterns to efficiently model your data. While Cosmos DB should not be considered as another silver bullet, this talk will teach you why you should certainly keep it as a prominent tool in your toolkit when it comes to building event-driven systems at scale.

Swetugg Stockholm 2025 Sessionize Event

February 2025 Stockholm, Sweden

Øredev 2024 Sessionize Event

November 2024 Malmö, Sweden

Microsoft MSFarsi Talk - 2025 User group Sessionize Event

June 2024

Shahab Ganji

Lead Coding Architect, SQUER Solutions GmbH

Hartberg, Austria

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top