Damian Płaza
banner
raimeyuu.bsky.social
Damian Płaza
@raimeyuu.bsky.social
Problem Solver/Solution Problemer. Engineer, baptized in control engineering. Passionate about people, software design, and modeling. Functional-first thinker.
Reposted by Damian Płaza
“Slow is not the opposite of fast. It is the opposite of careless.” is also a great quote…
"Sustainable delivery feels calm, not frantic. Slow engineering produces fewer incidents, lower turnover, higher pride."

A quite "anti-mainstream" take nowadays that I totally agree with (from my personal experience): "In Praise of Slow Software Engineering" russmiles.substack.com/p/in-praise-...
In Praise of Slow Software Engineering
How to be a better software developer by focussing on the right tempo, not speed
russmiles.substack.com
November 2, 2025 at 12:53 AM
New tale talesfrom.dev/blog/the-amb... in which we observe people discussing names - what are the consequences? Does naming create something which is invisible? Why naming can be dangerous?

#dddesign #SoftwareDevelopment #softwareprogrammer #SoftwareEngineering #softwaredesign #lingo
The ambiguity of naming
Why naming is hard, and can even be dangerous?
talesfrom.dev
October 27, 2025 at 7:37 AM
Reposted by Damian Płaza
Event Sourcing tests double as documentation.

Given: [OrderPlaced, ItemAdded]
When: RemoveItem
Then: [ItemRemoved]

This reads like a spec. It IS a spec.
Your tests become the living documentation of your business rules.
October 5, 2025 at 8:24 AM
New tale: talesfrom.dev/blog/the-amb... in which we observe an imaginary team trying to deal with the inevitable - change. What is the real value of ADRs?

#dotnet #csharp #fsharp #dddesign #SoftwareDevelopment #SoftwareArchitecture #typescript #Java
The ambiguity of architecture decision records
Is a "decision recording" what we are really looking for?
talesfrom.dev
August 22, 2025 at 6:22 PM
New tale: talesfrom.dev/blog/the-kno... in which we try to fullfil simple requirements and observe a strange "force". What do "God classes" and "Service deathstars" come to live?

#dddesign #SoftwareDevelopment #csharp #fsharp #typescript #SoftwareArchitectureConf #SoftwareEngineer
The knowledge gravity problem
Is there a force driving our systems towards complexity?
talesfrom.dev
August 7, 2025 at 6:00 AM
New tale: talesfrom.dev/blog/the-amb... which we try to work with Tom - a business owner - and build up a simple game and a simple system for a local tourism.

Why the domain model is the problem?

#dotnet #fsharp #typescript #SoftwareEngineering #dddesign #csharp #softwarearchitecture
The ambiguity, the curse and the fallacy of domain model
Is it possible to "apply" Entity Component System (ECS) thinking to System Design?
talesfrom.dev
August 4, 2025 at 10:14 AM
New tale: talesfrom.dev/blog/time-an... in which we explore software dimensions through misunderstanding in a fictionary flooring company when it comes to processing orders. What can it teach us?

#dddesign #SoftwareDevelopment #SoftwareEngineering #csharp #fsharp #dotnet #typescript
Time, angle and depth: dimensions in software design
Can we use physical qualities while reasoning about systems?
talesfrom.dev
July 12, 2025 at 4:31 PM
New tale talesfrom.dev/blog/tools-m... - we discuss "popular" tools and how their impact our "lives". What is "Cockroach-Driven Development"? Are stickies what we expect to get out of Event Storming?

#dddesign #softwareengineering #software #csharp #fsharp #dotnet #typescript
Tools make fools?
Are we doomed to become "slaves" of tools?
talesfrom.dev
June 9, 2025 at 12:11 PM
New tale talesfrom.dev/blog/wtf-are... in which we explore ways of making collaboration harder. How to ensure all of your audience gets lost?

#softwaredesign #dddesign #softwarearchitecture #humanorienteddesign
WTF are you talking about? Acronyms, jargon and abbreviations
How to make collaboration harder?
talesfrom.dev
June 1, 2025 at 12:22 PM
New tale: talesfrom.dev/blog/composi... in which we are looking at humans, "microservices" and objects - do they have something in common? What is a mysteriously sounding acronym PIE?

#softwareengineering #softwaredesign #dddesign #csharp #fsharp #dotnet #softwarearchitecture
Composing a PIE
Is there a universal way of composing things?
talesfrom.dev
May 25, 2025 at 8:07 AM
April 28, 2025 at 7:08 AM
Reposted by Damian Płaza
I’m reading simultaneously @htmx.org book on hypermedia and recent @danabra.mov articles on React Components.

I highly recommend that, as it gives a lot food for thoughts. Good design exercise to think about the pieces those concepts overlap and how they differ.
April 27, 2025 at 11:51 AM
New tale: talesfrom.dev/blog/functio... in which we implement a simple requirement for assigning workers. How functional and "object-oriented" approaches differ? How can we report values back?

#functionalprogramming #softwareengineering #softwaredesign #cqrs #domainmodeling
Functions, objects, actors: deliverying results
Is there a single way of yielding results?
talesfrom.dev
April 21, 2025 at 8:00 PM
Reposted by Damian Płaza
The pendulum swung back! Now, the "modular monolith first" is the best advice.

But is it? It sounds great in theory but can fall short in practice.

In practice, too often: module boundaries erode, resource isolation is absent, and that promised "easy split" rarely happens.

1/
April 14, 2025 at 6:52 AM
"Perfection of planning is a symptom of decay"

- "Systemantics. The systems bible", John Gall
April 5, 2025 at 6:40 AM
April 3, 2025 at 9:28 PM
New tale: talesfrom.dev/blog/evolve-... in which we go through a bug fixing process - step by step.
* why am I a software gambler (and so you do)?
* what is the difference between "hacking" and "evolving"?

#dotnet #fsharp #csharp #softwaredeveloper #typescript #dddesign #softwaredesign
Evolve, don't hack
Where is the difference between evolving and hacking?
talesfrom.dev
March 31, 2025 at 6:56 AM
Reposted by Damian Płaza
Thanks to Tobias Brennecke's work, #Emmett just got the Quick Start guide. Check it out to see how easy it is 🙂

And again, getting docs improvement pull requests is one of the best type of contributions that an Open Source maintainer can get 🙂

event-driven-io.github.io/emmett/quick...
Emmett
Event Sourcing development made simple
event-driven-io.github.io
March 27, 2025 at 8:14 AM
New tale: talesfrom.dev/blog/context... - in which we explore a story of Sam, the salesman, responding to boss' challenge about African blackwood.
* Why is it unreal to model reality? 🙈🙉🙊
* Why we got lured by "god classes"? 🔨
* Why do perspectives matter and an inevitable part of software design? 👁️
LinkedIn
This link will take you to a page that’s not on LinkedIn
lnkd.in
March 24, 2025 at 7:45 AM
March 3, 2025 at 7:13 PM
March 3, 2025 at 2:30 PM
Reposted by Damian Płaza
Fellow #DDD folks out there,

Can someone explain to me what is a _practical_ difference between a vertical slice and a bounded context?
February 26, 2025 at 2:05 PM
Reposted by Damian Płaza
Let’s say it’s Friday. Not party Friday, Black Friday. You’re working on busy e-commerce system that handles thousands of orders per minute. Suddenly, the service responsible for billing processing crashes. Until it recovers, new orders are piling up. How do you resume processing after restart?

1/
How does Kafka know what was the last message it processed? Deep dive into Offset Tracking
Today we got back to our Kafka internals series. We discussed how it keeps track of processed messages. This may seem like a detail, but understanding it can be critical for smooth message processing....
www.architecture-weekly.com
February 24, 2025 at 1:18 PM
New tale talesfrom.dev/blog/the-amb... - we see development process in the wild. What does crayfish has to do with development? 411 tests/10 days/2 weeks/10 classes - what do they have in common?

#dotnet #fsharp #csharp #typescript #SoftwareDevelopment #dddesign #SoftwareEngineering
The ambiguity of problems
What if problems whisper to us?
talesfrom.dev
February 11, 2025 at 8:07 AM
"The beauty is in the eye of the beholder" or in other words:

"The source of broken abstractions is between a keyboard and a chair"

pinch.salt.set(pinch.salt.length - 1)
February 1, 2025 at 11:34 AM