Kotlin Coroutines is a foundational feature in Kotlin language that enables easy-to-write/easy-to-read asynchronous programming and more. For those of you who are familiar with other asynchronous programming abstractions like callbacks, futures/promises, and async/await, we’ll give an overview of what are the similarities and differences, and highlight the key features of Kotlin’s design.