Kuba
@kuba.zalas.pl
š¤ 332
š„ 187
š 250
Software Engineer
https://zalas.pl
pinned post!
At its core, I see
#EventSourcing
as a transformation of a command and past events to a list of new events. The command is an intent to perform an action. Events capture decisions made. We can also get an error back if the command cannot be executed.
over 1 year ago
1
18
8
I'm experimenting with AI Assistants to get them to do projects my way. My approach is document how I'd like things done while I do them. Then I revert the change and let the assistant do it.
2 days ago
2
1
0
Role-playing - objects are more players of their roles than instances of their types. -- Sandi Metz
#oop
22 days ago
0
1
0
"You can't build the right product if you can't build the product right. If you can build the thing right, you can live long enough to find the right thing."
ronjeffries.com/xprog/articl...
loading . . .
Build it right to build the right thing
This is RonJeffries.com, the combination of new articles, XProgramming, SameElephant, and perhaps even some new items never before contemplated. <br/>Copyright Ā© 1998-forever Ronald E Jeffries
https://ronjeffries.com/xprog/articles/build-it-right-to-build-the-right-thing/
30 days ago
0
1
0
As always, it's great to listen to
@jbrains.ca
. Are integrated tests a scam?
youtu.be/j0NjFsb-at8
loading . . .
Are Integrated Tests a Scam? TDD, Architecture, Fast Feedback ā J. B. Rainsberger | The Marco Show
YouTube video by IntelliJ IDEA, a JetBrains IDE
https://youtu.be/j0NjFsb-at8
about 1 month ago
0
1
0
Mocks... Mocks everywhere... In this video Emily made me feel it's ok not to fight this particular instance of semantic diffusion.
youtu.be/RvKPOjlQKyM?...
loading . . .
We Need to Stop Calling Everything a Mock!
YouTube video by Modern Software Engineering
https://youtu.be/RvKPOjlQKyM?si=C-_H4nYxM_SNzkUx
about 2 months ago
1
0
0
We Tried Baseball and It Didn't Work
ronjeffries.com/xprog/articl...
loading . . .
We Tried Baseball and It Didn't Work
This is RonJeffries.com, the combination of new articles, XProgramming, SameElephant, and perhaps even some new items never before contemplated. <br/>Copyright Ā© 1998-forever Ronald E Jeffries
https://ronjeffries.com/xprog/articles/jatbaseball/
2 months ago
0
2
0
"You can draw a line around any part of your code and call it anything you like, but only when you have to maintain the tests do boundaries become real." āHexagonal Architecture Explainedā Alistair Cockburn & Juan Manuel Garrido de Paz
#hexagonalarchitecture
#portsandadapters
#testing
3 months ago
0
0
0
The Future of Software Development is Software Developers - or why we won't be replaced by
#ai
anytime soon - by
@jasongorman.bsky.social
codemanship.wordpress.com/2025/11/25/t...
loading . . .
The Future of Software Development is Software Developers
Iāve been a computer programmer all-told for 43 years. Thatās more than half the entire history of electronic programmable computers. In that time, Iāve seen a lot of things changā¦
https://codemanship.wordpress.com/2025/11/25/the-future-of-software-development-is-software-developers/
3 months ago
0
4
0
reposted by
Kuba
Me in 2005: let me code this whole system over the weekend. Me in 2015: let me glue these open-source projects together to confirm if the idea is worth doing. Me in 2025: let me spend a couple of hours creating a spreadsheet so I don't have to write the app.
3 months ago
1
3
1
Me in 2005: let me code this whole system over the weekend. Me in 2015: let me glue these open-source projects together to confirm if the idea is worth doing. Me in 2025: let me spend a couple of hours creating a spreadsheet so I don't have to write the app.
3 months ago
1
3
1
reposted by
Kuba
āduplication is far cheaper than the wrong abstractionā - Sandi Metz in āAll the little thingsā at RailsConf 2014 The quote is often put out of context to support the idea itās always better to postpone the abstraction until thereās enough duplication.
#SoftwareDevelopment
#oop
about 1 year ago
1
3
3
The day hasn't passed yet and I think Ghostty will also replace tmux for me.
add a skeleton here at some point
5 months ago
0
0
0
/me installs ghostty
add a skeleton here at some point
5 months ago
0
0
1
I still can't believe I can just play this game on my mobile.
6 months ago
1
1
0
.
@lunivore.bsky.social
's blog is such a great resource for
#BDD
related content. "Donāt start with BDD, and definitely donāt start with the tools."
loading . . .
Step Away from the Tools
This may seem odd coming from someone who spent months coding a BDD tool, but seriously⦠put it down. Step away. BDD has taken off in the last few years, and lots of people have approached meā¦
https://lizkeogh.com/2011/03/04/step-away-from-the-tools/
6 months ago
2
2
1
reposted by
Kuba
Jason Gorman
6 months ago
You know what? DON'T hire entry-level software developers. DO use chatbots to generate as much of your code as possible. DON'T bother investing in your dev teams and dev processes. DO let their ability to comprehend code atrophy. I've got my eye on a bigger house, you see.
1
41
4
"Thereās always more to build than we have time or resources to buildāalways." If you somehow started to build 10x quicker, would you fire 9/10 of your developers or would you rather start building 10x more? š¤
7 months ago
0
0
0
reposted by
Kuba
Jessica Kerr
7 months ago
Putting all your controllers in one directory and your views in another Is like putting the cortisone and hemorrhoid cream in the drawer with toothpaste because they're all tubes.
11
99
39
I re-read the introduction to "User Story Mapping" by Jeff Patton, and there are so many gems in this chapter alone.
7 months ago
1
2
0
The Big OOPs: Anatomy of a thirty-five-year mistake is an excellent talk. I love it when someone makes the effort to dig into the background of concepts instead of reinventing their own interpretations. Those who don't learn the past are deemed to repeat it.
youtu.be/wo84LFzx5nI?...
loading . . .
Casey Muratori ā The Big OOPs: Anatomy of a Thirty-five-year Mistake ā BSC 2025
YouTube video by Better Software Conference
https://youtu.be/wo84LFzx5nI?si=Zoy1gUDnyKBnOOx6
7 months ago
0
4
0
reposted by
Kuba
xUnit Test Patterns: Contract Test ā
zalas.pl/contract-test/
#contracttests
#xunit
#testing
#hexagonal
#portsandadapters
#kotlin
8 months ago
1
0
1
xUnit Test Patterns: Contract Test ā
zalas.pl/contract-test/
#contracttests
#xunit
#testing
#hexagonal
#portsandadapters
#kotlin
8 months ago
1
0
1
Reading "hexagonal architecture explained" by Alistair Cockburn. I need to stop each time a driving or a driven port is mentioned and think if it's inbound or outbound. As a non native English speaker I much prefer the inbound/outbound terms.
8 months ago
1
0
0
IntelliJ plugin request: Visualise the testing strategy based on test labels/tags. Include the time it takes to run each layer.
add a skeleton here at some point
9 months ago
0
1
0
I like this reincarnation of the testing pyramid - the testing iceberg. It shows how not all business-readable tests need to be end-to-end, or even integrated.
claysnow.co.uk/the-testing-...
9 months ago
0
2
1
Thank you,
@dev.to
for the new badge, but I'd rather be able to save an article to update the canonical URL. What I get instead: Whoops, something went wrong: status: 500 error: Internal Server Error
9 months ago
0
2
0
Final (at least for now) batch of articles are now migrated from
dev.to
to my personal domain. These are from my well received event sourcing series:
zalas.pl/series/event...
#eventsourcing
#ddd
#dddesign
#kotlin
loading . . .
Event Sourcing
Jakub Zalas is a software engineer, architect, and trainer who takes great pride in his craft and quality of work. Friends call him Kuba. Get in touch for consultancy, training or software development...
https://zalas.pl/series/event-sourcing/
9 months ago
1
2
0
I stumbled upon an opinion that in modern
#dddesign
the Aggregate should be freed from its constraints and the Dynamic Consistency Boundary (DCB) is the next cool thing.
9 months ago
3
0
1
Another one migrated. "Collaboration and contract tests":
zalas.pl/collaboratio...
loading . . .
Collaboration and contract tests
A collaboration test is an example of interactions between the subject of the test and its collaborators. For convenience, speed, reliability, or isolation, collaborators are often replaced with test ...
https://zalas.pl/collaboration-and-contract-tests/
9 months ago
0
1
0
I started migrating my blog to Hugo from
dev.to
. I'll be doing it post by post, while revising the content. First blog post is now moved:
zalas.pl/on-granulari...
loading . . .
On granularity of tests focused on behaviour
Behaviour A function is one of the smallest units of behaviour. Given an input, it returns the output. Function This means that given the context (input), the functionās behaviour can be verified by c...
https://zalas.pl/on-granularity-of-tests-focused-on-behaviour/
9 months ago
1
2
1
I have finally automated releases of one of my open-source projects. A new release is made weekly, if the last build succeeded. Now the project is on autopilot š
github.com/jakzal/phpqa...
loading . . .
https://github.com/jakzal/phpqa/actions/workflows/release.yml
9 months ago
0
1
0
I don't know if I can go back to working in an office...
10 months ago
0
2
0
What's the best static-page generator for a blog in 2025? I went with
dev.to
initially as I just wanted to write. Some of the articles turned out to be valuable for others, and I'd like to host them under my own domain now on github pages.
add a skeleton here at some point
10 months ago
1
1
0
Hm... I noticed that some of the images have disappeared from (at least) one of my
@dev.to
blog posts:
dev.to/jakub_zalas/...
Anyone else experienced this?
loading . . .
Functional event sourcing
In the previous post, we looked at the benefits of a domain model implemented in a purely functional...
https://dev.to/jakub_zalas/functional-event-sourcing-1ea5
10 months ago
0
0
1
Pisa, Italy
11 months ago
1
4
0
Cinque terre, Italy
11 months ago
0
5
0
I'm thinking of migrating some of my GitHub actions to something that could be run locally more smoothly. I know there's nektos/act, but that's a bit clumsy. Is
dagger.io
what I'm looking for? š¤
#cicd
loading . . .
Dagger.io
Dagger is an open-source runtime for composable workflows. It's perfect for systems with many moving parts and a strong need for repeatability, modularity, observability and cross-platform support.
https://dagger.io/
11 months ago
0
0
0
> One of the techniques Dijkstra and Zonneveld used was ādual programming.ā
11 months ago
1
0
0
Principle of Mutual Oblivion (PoMO):
ralfwestphal.substack.com/p/principle-...
Radical Object-Orientation looks a lot like functional programming.
#oop
#fp
loading . . .
Principle of Mutual Oblivion (PoMO)
Radical Object-Orientation 101
https://ralfwestphal.substack.com/p/principle-of-mutual-oblivion-pomo
12 months ago
0
0
0
reposted by
Kuba
Scott Wlaschin
12 months ago
My latest talk is now available. It covers a lot of different design techniques in just 60 mins!
www.youtube.com/watch?v=fOF3...
loading . . .
Thirteen ways of looking at a Turtle - Scott Wlaschin - NDC London 2025
YouTube video by NDC Conferences
https://www.youtube.com/watch?v=fOF3rriiR3U
1
38
14
A healthy take on the test pyramid. āEviscerating the Test Automation Pyramidā
cucumber.io/blog/bdd/evi...
12 months ago
0
2
0
I like when someone goes back to the source and sets the record straight. I'm also fed up with people bashing mocks without actually giving any arguments against them.
add a skeleton here at some point
12 months ago
0
3
1
reposted by
Kuba
Emmanuel Valverde Ramos
12 months ago
My friend Manuel Rivero has published an awesome article that I think is great š
codesai.com/posts/2025/0...
at
@codesaidev.bsky.social
loading . . .
The class is not the unit in the London school style of TDD
Somos un equipo versado en Extreme Programming, ofrecemos desarrollo de software, formación, asesoramiento y apoyo en proyectos.
https://codesai.com/posts/2025/03/mockist-tdd-unit-not-the-class
0
4
3
TIL: Integration Operation Segregation Principle (IOSP):
ralfwestphal.substack.com/p/integratio...
loading . . .
Integration Operation Segregation Principle (IOSP)
Radical Object-Orientation 101
https://ralfwestphal.substack.com/p/integration-operation-segregation
about 1 year ago
0
1
0
I'm playing with
#Kotlin
coroutines, channels and flow to reproduce actor-like behaviour. Yes, I know of the obsolete `CoroutineScope.actor`. Just playing!
about 1 year ago
1
0
0
reposted by
Kuba
Simon Brown
about 1 year ago
The upcoming Structurizr DSL v4.0.0 release will now also support relationship archetypes. š Read more at
www.patreon.com/posts/122686...
0
4
2
After a year of dotnet core, I'm back with
#Kotlin
, and it's so good to be back! Something about Kotlin makes I just feel at home. Unmatched developer experience.
about 1 year ago
1
3
0
reposted by
Kuba
Oskar Dudycz
about 1 year ago
Living now in Central Europe is scarring and frustrating. Iām angry seeing surprised posts here from the US folks that Trumps does what he does. Is it really that surprising? Also as Polish person, we have a deep remember of Munich, Jalta āpiece agreementsā. Thatās whatās happening now again. 1/
1
11
3
reposted by
Kuba
Jason Gorman
about 1 year ago
By bicycle, it takes about 15 minutes to get from my place to Wimbledon Village. In a supercar that's 20x as fast, it takes about 15 minutes to get to Wimbledon Village. In case you were wondering why faster code generation makes little difference to team productivity.
2
39
7
"I never know what test to write, requirements aren't clear." is what someone actually told me to justify their reluctance to write tests first.
about 1 year ago
0
0
0
Load more
feeds!
log in