Adam Warski

Good morning!

Sharing elegant solutions to everyday problems

I’m Adam Warski: programmer, OSS developer and the co-founder of SoftwareMill. Following the motto above, I enjoy both writing and speaking on various programming-related subjects, very often around the areas of distributed systems, architecture and functional programming.

Chief R&D Officer

@ SoftwareMill

Main interests

What my projects, articles & videos are usually about. But not only!

Functional programming

I started my FP adventure using Scheme and OCaml, but I'm now a happy user of Scala: an elegant, safe and practical language combining functional and object-oriented programming.

Event sourcing

Event sourcing gives us not only performance, but also makes sure important data doesn't disappear, and offers and interesting way of structuring code. It's usable both in the large, and in the small, which isn't so well known!

Developer experience

How to balance safety properties guaranteed at compile-time, with code readability and maintainability? Fundamental tradeoffs are not always obvious, and most popular approaches aren't always "the best".

Latest articles

17 Nov 2025

Deterministic Concurrent Testing Using Fray

Fray enables writing concurrent tests for the JVM, deterministically simulating various thread interleaving, and if needed, replaying runs that failed, using a standard Java debugger. Let's take a closer look at how Fray can be used and how it works.

concurrency
java
25 Sep 2025

Critique of JEP 505: Structured Concurrency (Fifth Preview)

With the just released Java 25, we have the opportunity to test the fifth preview of structured concurrency APIs. Turns out, creating such an API is not that easy a task!

java
jox
virtual threads
structured concurrency
17 Sep 2025

Local-Second, Event-Driven Webapps

Explore a 'local-second' approach to web apps that combine event-driven backends with limited offline support, ensuring graceful degradation when connectivity drops.

rust
react
local first
event sourcing
rdbms
architecture
All articles

Latest videos

13 Oct 2025

How Functional is Direct-Style?

scala
direct style
functional programming
28 Jul 2025

Type-safe vibe-coding a CRUD application

scala
virtual threads
vibe coding
ai
llm
bootzooka
direct style
18 Jun 2025

What is Functional Programming?

scala
java
rust
haskell
functional programming
All videos

Get in touch