With @preussler.berlin 👍 at #dcbln25 Thank you @droidcon.bsky.social for inviting me another time to this event!
@marcinmoskala.bsky.social
To optimise, you must measure. To choose the right approach for performance measurement, you must answer the most important question: What do you want to measure?
Which one really scales better for high-concurrency workloads? 🤔 Are there reliable benchmarks comparing coroutine performance with Loom’s virtual threads?
Boost your Kotlin performance with Project Loom's virtual threads! Say goodbye to `Dispatchers.IO` and run blocking code like it's non-blocking. Faster, simpler, smarter. ⚡ 🔗 Dive in now: kt.academy/article/disp...
Curious about Rich Errors in Kotlin? Here is the first KEEP document, explaining their motivation and implementation: github.com/Kotlin/KEEP/...
KEEP/proposals/KEEP-0441-rich-errors-motivation.md at main · Kotlin/KEEP
Kotlin Evolution and Enhancement Process. Contribute to Kotlin/KEEP development by creating an account on GitHub.
github.com
Updates to MutableStateFlow should be made using the update function; otherwise, conflicts might cause some updates to be lost.
I will be speaking at #JDDKrakow on October 21-22, 2025! Let's meet in Krakow, Poland - join the conference at: jdd.org.pl #JavaDevelopment #JavaConference #SoftwareEngineering #TechConference #Krakow
A lightweight wrappers over arrays, providing efficient collection processing functions, immutability, equality, and proper type hierarchy. Those are arrays done well, I love it! github.com/daniel-rusu/... #Kotlin #ImmutableCollections #FunctionalProgramming #SoftwareEngineering #DeveloperTips
Ready and excited for today's sessions! Can't wait to share this content with you all. See you all very soon! webinar.kt.academy/why-you-shou... #Kotlin #KotlinCoroutines #Concurrency #AsyncProgramming #DeveloperCommunity
Still debating whether you should introduce coroutines—or where to even begin? Skip the internal tug-of-war and bring your toughest questions to my live Q&A TOMORROW! I’ll be dedicating extra time to answer everything you throw. Last chance to sign up: webinar.kt.academy/why-you-shou...
Coroutines power-user? Grab my brand-new Flow Cheat-Sheet—operators, builders, the whole buffet. 👇 cheat-sheet.kt.academy/flow
FLOW IN KOTLIN COROUTINES
Need a no-fluff guide to Kotlin Flow? Sign up and grab the Flow in Kotlin Coroutines Cheat Sheet—a concise, high-impact PDF that turns complex async concepts into copy-paste-ready code examples.
cheat-sheet.kt.academy
Many ask me how to stay in touch with what's happening in Kotlin. My answer is simple: Kotlin Weekly! kotlinweekly.net
In 3 days, we go live! ⏳ Seats are filling up! 👉 webinar.kt.academy/why-you-shou... #KotlinCoroutines #StructuredConcurrency #ReactiveProgramming #SoftwareEngineering #KtAcademy
Most people do not even think about cancellation, but it is extremely important, and both Android and backend developers benefit from Kotlin Coroutines cancellation mechanisms. Let me give you some examples.
Coroutines are incredibly powerful, but their hidden complexities can trip up even experienced developers. While this topic is not new, my recent webinar on "Mistakes You Make Using Kotlin Coroutines" was packed — and for good reason!
Teaching Flow for years has taught me one thing: developers, including myself, love quick references. So here’s mine—totally free. Join the list, grab the PDF, and tell me what you think! 👉 cheat-sheet.kt.academy/flow
Who should join my free webinar, “Why You Should Use Kotlin Coroutines”? Anyone who wants to START USING COROUTINES CORRECTLY in real projects. 👨💻 Developers 🧑💼 Team Leads & Tech Managers 📊 Project Managers (with a technical background) Reserve your spot: webinar.kt.academy/why-you-shou...
What are the advantages of Kotlin over Java TODAY? Since Kotlin gained popularity, Java has started dynamically introducing features inspired by Kotlin. But what does Kotlin still have up its sleeve, and is it reachable for Java? Here is the list of the most important advantages:
Where should I keep me state in Compose? In component, view model, data layer or outside? This question can be reformulated as: How long do you want it to exist?
Kotlin Coroutines provide special support to interoperate with Java, Swift and JavaScript. Thanks to that, calling suspending functions is a breeze.
Many devs start using technology without understanding it first. That is fine, but some technologies give fake confidence, and devs misuse it without even realizing it. Let me use Kotlin Coroutines as a case study. Thread 👇🧵
Testability is one of the most important advantages of Kotlin Coroutines. It supports operating in virtual time, which lets us write precise, fast, and deterministic tests for cases that are hard to test with other libraries. You can easily check any scenario and assert how much time it would take.
Are you also annoyed by the fact that capitalize was deprecated and the replacement is crazy long? I am, but why did it actually happen?
VOTING 👇 What’s the #1 reason developers avoid or struggle with Kotlin Coroutines? 1️⃣ Seems too complex 2️⃣ Legacy code (RxJava) 3️⃣ Unclear best practices 4️⃣ Don’t know where to start Vote and share your experience in the comments, I’m really curious to hear your stories!
Dispatchers.Default and Dispatchers. IO share the same pool of threads, but each has its own independent limit. The pool is unlimited, and threads are created as needed.
Never make blocking operations on suspending functions without appropriate dispatcher! Most coroutines run on a small pool of threads (Main in Android, Default on backend), and blocking can easily cause thread starvation. The simplest way to fix that is using IO dispatcher, there are better options:
To turn a function into a flow that emits its result, you can just use flow builder with emit. Many projects define a function for that. You can also turn a lambda function using asFlow.
There is amazing interoperability between Kotlin Coroutines and RxJava/Reactor❗