VOOZH about

URL: https://dzone.com/authors/alirezarahmani

⇱ Alireza Rahmani Khalili - DZone Expert


👁 Core Badge

Alireza Rahmani Khalili

Principal Software Engineer · Distributed Systems & Production AI at Worksome

Company website: https://nidly.substack.com/

Dubai, AE

Joined Feb 2017

https://alireza.engineer

About

Principal Software Engineer with 10+ years building distributed backend systems and production AI pipelines. My work focuses on the gap between how systems are designed and how they actually behave, RAG failures, data platform architecture, and Domain-Driven Design at scale.

Stats

Reputation: 1867
Pageviews: 239.5K
Articles: 13
Comments: 2

Expertise

Articles

Engineering High-Scale Real Estate Listings Systems Using Golang, Part 1
Building scalable real estate listing systems requires integrating with inconsistent MLS data sources using RETS and RESO.
July 16, 2025
· 3,605 Views · 1 Like
Beyond Principles: Embracing Heuristics in DDD for Practical Solutions
Heuristics in Domain-Driven Design (DDD) are flexible tools that help detect potential issues in your domain model, guiding thoughtful, domain-aligned design decisions.
December 3, 2024
· 1,561 Views · 2 Likes
Mastering System Design: A Comprehensive Guide to System Scaling for Millions, Part 2
Distributed caching improves performance and scalability. This article explores strategies like sharding, horizontal scaling, and various caching policies.
June 27, 2024
· 8,473 Views · 5 Likes
Demystifying Event Storming: Design Level, Identifying Bounded Contexts (Part 4)
Learn how event storming aids in identifying and defining bounded contexts, explore insights on different types, and discuss Conway's Law and external systems' influence.
April 2, 2024
· 4,457 Views · 3 Likes
Demystifying Event Storming: Design Level, Identifying Aggregates (Part 3)
In Part 3 of a journey through the world of Event Storming, explore the design-level aspect, which emphasizes collaborative exploration, and more!
January 27, 2024
· 8,735 Views · 5 Likes
Mastering System Design: A Comprehensive Guide to System Scaling for Millions (Part 1)
This tutorial is an open invitation for software engineers keen on mastering system design, an essential skill set for crafting software solutions.
January 19, 2024
· 12,013 Views · 15 Likes
Demystifying Event Storming: Process Modeling Level Event Storming (Part 2)
Explore Event Storming's intricacies in Part 2, including event sequences, sub-domains, process modeling, commands, actors, and external systems.
January 11, 2024
· 5,822 Views · 7 Likes
Demystifying Event Storming: A Comprehensive Guide to Understanding Complex Systems (Part 1)
This guide is your roadmap to mastering Event Storming for architects, analysts, and curious minds, offering insights into unraveling the secrets of complex systems.
November 13, 2023
· 8,579 Views · 7 Likes
How To Become a Symfony Certified Engineer: Your Path to Expertise in the Software Industry
This article will guide you to become a Symfony Certified Engineer, from understanding the framework’s core principles to practical experience and exam preparation.
October 25, 2023
· 4,038 Views · 5 Likes
Art Of Knowledge Crunching In Domain Driven Design
In this article, learn how to use BDD and DDD tools and technics to overcome complexities, blind spots, misunderstandings, and more.
February 16, 2023
· 5,403 Views · 3 Likes
Understanding Aggregates in Domain-Driven Design
The main issue is: how should we represent every conceivable relationship possible in our object model?
July 8, 2020
· 31,082 Views · 10 Likes
How to Design an Autocomplete System
In this article, I will cover a mid-level design for a million-word system.
August 19, 2019
· 26,522 Views · 6 Likes
Implementing Domain-Driven Design in PHP
Learn how to use PHP to drive your company's next DDD project, and effectively model real world situations to help define your business logic.
February 15, 2017
· 55,699 Views · 3 Likes

Comments

Understanding Aggregates in Domain-Driven Design

Jul 10, 2020 · Alireza Rahmani Khalili

aggregates should be defined by invariants. data model focus on has-a relation but aggregates focus on invariants.

User has been successfully modified

Failed to modify user

Let's be friends: