home

Homepage of Jörn Dinkla

I have been working as a software developer, architect, and consultant for over 25 years. As a Lead Consultant at Thoughtworks, I help organizations build modern software products in an agile, secure, and reliable way.

I support teams methodically, technically, and personally—whether through coaching, architecture consulting, or hands-on pair programming.

I am a strong advocate of agile, TDD, CI/CD, DevOps practices, and Lean Thinking principles.

Portrait of Jörn Dinkla

Jörn Dinkla

Software Engineer, Architect, Consultant

Featured Posts

image
Java in the Technology Radar

Java in the Technology Radar (JavaSpektrum)

I’ve written a new article for JavaSpektrum: “Java im Technology Radar – Totgesagte leben länger”. The piece looks back at Java’s journey through the eyes of the Thoughtworks Technology Radar...

software-engineering en java article jvm architecture thoughtworks
image
Structured Concurrency in Java 24

Structured Concurrency in Java 24 (JavaSpektrum)

I’ve written an article for JavaSpektrum 2/2025 about Structured Concurrency in Java 24. The article covers JEP 499, Java’s fourth preview of Structured Concurrency, which aims to make concurrent programming...

software-engineering en java concurrency article jvm parallelism architecture
image
Coroutines in Kotlin at KKon 2021 Warmup

Coroutines in Kotlin at KKon 2021 Warmup

In my talk “Nebenläufigkeit mit Koroutinen strukturieren” at the KKon 2021 Warmup I explained how to structure and organize concurrent programs with coroutines in Kotlin.

software-engineering en kotlin parallelism concurrency talk slides
image
Refactoring with the Mikado Method

Refactoring with the Mikado Method

At a client of ThoughtWorks I gave a talk about refactoring in line with the book “Mikado Method”. The book describes a method to plan and perform non-trivial refactorings of...

software-engineering en tdd talk slides clean-code
image
Weniger warten, asynchron arbeiten

Coroutines in Kotlin and Go on heise Developer

In the article “Weniger warten, asynchron arbeiten” (less waiting, asychronous working) published by heise Developer I explain the theoretical background of coroutines and how to use them in Kotlin and...

software-engineering en article kotlin concurrency parallelism golang
image
Concurrency in Kotlin with coroutines

Concurrency in Kotlin with coroutines

Coroutines are a “new” way to handle concurrency on the JVM. I gave an introduction to coroutines in Kotlin at Thoughtworks. This is basically the translation of the german slides....

software-engineering en slides talk kotlin concurrency parallelism jvm
image
Unter der Haube - cuDNN schafft die Grundlage für Deep Learning mit GPUs

Machine learning library 'cuDNN' explained in iX Developer

It’s very difficult to implement algorithms optimally for GPUs. Therefore NVIDIA provides the library cuDNN for deep learning with neural networks. This article published in the german magazine iX Developer...

gpu-computing en article ai parallelism concurrency machine-learning data nvidia-cuda gpu-computing
image
Ambient Occlusion example

Ray tracing with Groovy and Java

While I was reading the excellent book by Kevin Suffern "Ray tracing from the ground up", I implemented a ray tracer in Java and wrote a DSL in Groovy, to...

software-engineering groovy java model-driven jvm graphics en

Groovy, EMF and UML2

I wrote the Groovy EMF builder and the Groovy UML2 builder. These tools use the builder concept of the programming language Groovy to ease the processing of Eclipse Modelling Framework...

software-engineering groovy eclipse model-driven en jvm java

Eclipse BugDays 2007

I participated at Eclipse BugDays in July, August, September, October, and November 2007 and helped debugging the Eclipse projects JDT, PDE/UI, and ECF.

software-engineering eclipse en jvm java