Live is streaming live. Watch now.
Jakub Pilimon

Jakub Pilimon

Developer Advocate


Expertise: Architecture, Domain-Driven Design, Unit testing, Refactoring, Spring

Jakub Pilimon is a Staff Technologist at VMware, blogger, programmer, and trainer. His main duty is to tackle complex enterprises with Domain-Driven Design and to propose a model and architecture that solves a problem. Sometimes he is involved in refactoring projects. When he isn’t coding, you can find him riding his bike, reading, or practicing kitesurfing.

Jakub’s pet projects can be found at

What Can He Do For You?

Jakub can speak or host workshops on the following topics, both from a VMware product and open source/community perspective:

  • Architecture (system and application)
  • Domain-driven design
  • Spring/Spring Boot/Spring Cloud
  • Refactoring/modernization
  • Unit testing
  • Reactive programming

Jakub can host a modelling session or architecture review using:

  • Event storming
  • Modelling in OOP
  • Modelling in FP
  • Big Ball of Mud vs. modular monoliths vs. microservices


State or Events—Which Shall I Keep?

Tired of fancy abstractions without actual down-to-earth implementation? In this talk we will go through both benefits and drawbacks of an event-sourced model by implementing a real world example. No slides, just live coding. We will develop features in parallel: one in a classic, ORM-based way and the other using event sourcing. We are going to tackle the problems step by step in both solutions, and from various perspectives. From the point of view of the stakeholders, our software should have a quick time-to-market timeline, the ability to do complex data reporting, and provide a fast way to extend and deploy new features. On the other hand, our fellow developers would be interested in the difficulty of learning event sourcing and how it affects things like unit testing. At the end of each step it will be clear what kind of problems/benefits we have using one of two models. The talk is going to cover a broad set of buzzwords, popular phrases, and frameworks, such as event sourcing, CQRS, distributed systems, Spring Cloud Stream, eventual consistency, unit testing, and zero downtime deployments.

Refactoring and Getting Rid of Big Ball Of Mud Architectures

We’ve all been there, facing a blinking cursor. You need to build a new feature but aren’t sure where to start. Or you have to fix something in your app and you’re unsure why it broke. This situation is common with Big Ball of Mud architectures. This design hinders your release velocity and it makes it nearly impossible to seize new business opportunities. How can you move on from this situation? Most of us also know what good design is. We talk a lot about domain-driven design, modeling, event storming and test-driven development. The challenge is how to apply this thinking to your current systems. How do we modernize the app? How do we convince people we should modernize it? How do we overcome the lack of testing? Or lack of business knowledge? Attend this session to answer these questions and more. You’ll learn about techniques that have proven to work in companies like yours.

Unit Testing Done Right

“TDD leads to a great design,” they said. “Mocking is bad,” they said. “Integration testing is slow,” they said. “Testable architecture to the rescue,” they said. “If you don’t test, don’t call yourself a developer,” they said. “Code coverage must be 100 percent,” they said. And so on and so forth.

In this talk, we’ll tackle some of the testing gotchas. There will be live coding, architecture rants, some slides and (hopefully) much fun. Both senior and junior developers should find something interesting.