Kt. Academy Logo
WorkshopsBooksArticles

Nicola Corti

Nicola Corti is a Google Developer Expert for Kotlin. He has been working with the language since before version 1.0 and he is the maintainer of several open-source libraries and tools.

He's currently working as Android Infrastructure Engineer at Spotify in Stockholm, Sweden.

Furthermore, he is an active member of the developer community. His involvement goes from speaking at international conferences about Mobile development to leading communities across Europe (GDG Pisa, KUG Hamburg, GDG Sthlm Android).

In his free time, he also loves baking, photography, and running.

Reviewed articles

Sealed classes and interfaces in Kotlin

What are sealed classes and interfaces in Kotlin and how do we use them.

Effective Kotlin Item 2: Eliminate critical sections

Learn why do we need to synchronize access to mutable state, and how to secure it.

Objects in Kotlin

What is object expression, object declaration and companion objects, and how we use them.

The beauty of Kotlin type system

How type system makes Kotlin so flexible, safe, and intuitive.

Nullability in Kotlin

How Kotlin null-safety works, and how can we deal with nullable values.

Basic values in Kotlin

Learn about the basic Kotlin values, types and operations.

Enum classes in Kotlin

What are enum classes in Kotlin and how do we use them.

Operator overloading in Kotlin

How are operators defined for types in Kotlin, and how can we define our own operators.

The power of Kotlin for-loop

Learn about the amazing capabilities of Kotlin for-loop.

Your first program in Kotlin

How to write your first program, how can we use it in real-life projects, and how to explore what Kotlin is compiled to.

Functions in Kotlin

Learn about what functions can offer us in Kotlin.

Marcin Moskała
Marcin Moskała

Generics in Kotlin

The essence of how generics work in Kotlin.

Marcin Moskała
Marcin Moskała

SharedFlow and StateFlow

Known as a replacement for Subject, LiveData, and many more. SharedFlow and StateFlow are powerful coroutines classes, every Kotlin developer should know.

Testing Kotlin Coroutines

How we test Kotlin Coroutines, including common Android and backend cases.

Marcin Moskała
Marcin Moskała

Constructing a coroutine scope

How we generally define coroutine scope on Android and on the backend.

Marcin Moskała
Marcin Moskała

Effective Kotlin Item 56: Consider using groupingBy instead of groupBy

What Grouping is, and how groupingBy instead of groupBy can be a performance optimization.

Marcin Moskała
Marcin Moskała

Effective Kotlin Item 55: Consider associating elements to a map

How associateBy is useful to improve the performance of finding elements.

Coroutines under the hood

A deep dive into how suspension and continuations work under the hood.

What is CoroutineContext and how does it work?

A deep explanation of the coroutine context - the powerful data holder for coroutines.

Why using Kotlin Coroutines?

The explanation of why coroutines stand out and offer us what hasn't been offered by other technologies.

How does suspension work in Kotlin coroutines?

A deep explanation of how suspension works in Kotlin Coroutines.

Effective Kotlin Item 32: Consider factory functions instead of secondary constructors

What factory functions are and why they are so important patterns for object creation.

Kotlin Coroutines dispatchers

Where we should use each dispatcher from the Kotlin Coroutines library.