Skip to main content

Posts

AI Is Not Magic — But It’s a Tool Worth Knowing

 Almost three weeks ago, I participated in an internal AI hackathon. The idea was simple: one day to work on any work-related project, with one constraint — rely almost entirely on AI to do the work. Code generation, design help, scaffolding, naming things, documentation, the works. Naturally, I didn’t pick something easy. I decided to refactor a core part of our system — something foundational, messy, and grown over time. You know me — if there’s domain complexity, some bounded context hairball, or a little #DDDesign chaos to untangle, I’m in. It was the first time I leaned this heavily on AI in one go. Here’s what I learned. If someone tells you AI is writing ALL their code — be skeptical. In some corners of the internet, it sounds like AI can just build entire systems from scratch. In reality? If AI is writing everything for someone, either the task is trivial, or they’re cutting corners you probably don’t want to cut. In my case, the domain was non-trivial, the logic...

Pracuję nad swoim kursem online: "DDD/CQRS/ES applied on JVM with Axon Framework"

💥  Krótkie ogłoszenie: Powoli pracuję nad swoim kursem online o nazwie: DDD/CQRS/ES Applied on JVM with Axon Framework Jeśli jesteś Programistą, Team Leaderem, lub Architektem i chcesz W KOŃCU wprowadzić Domain-Driven Design , Command Query Responsibility Segragation , Event Sourcing do Twojego systemu opartego o platformę JVM - zarówno legacy , jak i greenfield - to na pewno będzie to coś dla Ciebie ! Kurs będzie startował w języku polskim niebawem, a tymczasem... Dołącz już dziś do listy oczekujących, a następnie pobierz darmowy Ebook " 4 narzędzia do DDD/CQRS/ES na platformie Java " (* Plus jedno, błędnie za takie postrzegane - BONUS!) Sprawdź:  cqrsapplied.pl Do zobaczenia niebawem!

The outcome of my 10 unique years of deep dive into DDD/CQRS/ES

At the beginning of this year, I launched my personal website patternapplied.com (for English version patternapplied.com/en ).  I specialize in Domain-Driven Design, Command Query Responsibility Segregation, Event Sourcing on the JVM platform and with 10 years of experience in that field and the knowledge gathered over this time, I finally feel prepared and ready to share it with a broader audience . I should have done this a gazillion years ago, but hey… better late than never.  The story I’ve been doing Domain-Driven Design since 2011. During this time I was able to truly dig deep into this topic, since I was working mainly on a single product in an extremely complex and dynamic domain. Our team was responsible for delivering a new solution (next to the existing one) in the Core Domain of this product. One might say that this was a rewrite of a Legacy System, but it wasn’t. The other part of the system was still profitable. It was just doing things in a less automated and l...

Hello SegFault Wrocław

It's been 3,5 years since I gave the last public talk... Way... too... long... So it has to change. And it will! I invite you to a really  innovative conference  for software architects:  SegFault Wrocław . Let's get back to the basics again. I'm going to be speaking about " Using Domain-Driven Design in legacy systems ". There will be some other experienced speakers, with a lot of knowledge gathered while working on  production systems  (not read from a book), so the event is quite unique. I'm looking forward to meeting you there! PS. I will have another announcement soon, so stay tuned...

DDD Aggregates vs "Life beyond Distributed Transactions"

Last week, I attended the Software Craftsmanship Kraków meetup, where we discussed "Life beyond Distributed Transactions: an Apostate’s Opinion" article by Pat Helland. Author tries to tackle the problem of almost-infinite scaling of applications. He ignores such issues like high availability on purpose and focuses only on scalability alone. That makes the essay easier to read – even for junior developer. Although the author does not say it explicitly, there are a lot of similarities between presented concepts and Aggregates from Domain-Driven Design . Pat's paper was written in 2007, so my wild guess is that he might have been familiar with Eric's book, which was published in 2004. Since there are still a lot of questions regarding Aggregate's boundaries (and technical difficulties arising around them) in DDD world, I recommend Pat's article as a complementary reading, which takes more infrastructure-oriented approach and may clarify some things.

Two years of domain knowledge crunching

They say, that experience is something you don't get until just after you need it. This is especially true in the field of Software Development. You may learn something from a blogpost, a book, a presentation, or even by talking to a Domain Expert, but you have to get your hands dirty in order to fully understand a concept. Enter Smart Projects 1.0 Couple of days ago, we have released  version 6.0 of XTRF platform  - a very first system that enables almost full automation of translation project management. The platform contains Smart Projects module in version 1.0, which I was developing for the last two years. In this module, we heavily used all the concepts that I was writing about on this blog for couple of years - Domain-Driven Design , Command Query Responsibility Segregation , and  Event Sourcing  of course - and it is written in  Scala .   The platform itself is not new - it was able to manage translation management projects befor...