Join Us

Are you an android developer keen to take your mobile aps to the next level by designing more flexible decoupled architectures and by writing cleaner, reusable, maintainable, testable and decoupled code? Join this Android Architecture course and learn the principles that inform good architectural...

Would you love to take full advantage of Java without its verbosity? Wish there was a better way to avoid NullPointerExceptions? Want to be able to still rely on first-class tooling and industry support? If so, then this workshop will show that is now possible.

In this talk, Arnav will go through the journey of building a blogging app (Medium clone) using Kotlin, Nativescript and Flutter. He will discuss the differences in developer and user experience for the apps built using all these platforms.

You have almost 20 years of Scala experience and have experience with many other languages. Recently you have jumped onto Kotlin, because it looks very promising as Java competitor. Of course there is no one size fits all solution. Joost will show how the two languages compare and explain why and...

Your responsibility as developers is to ship high quality features in a timely manner. But there are many factors which can hinder development: from tightly coupled, untested codebases, to differences between team members in architecture visions and API knowledge, to time pressure. So, given all...

All Xavier's tests used to involve users named Alice and Bob. Aged 42. Working at FooBar Inc. The problem when using hardcoded values in your tests, means that you only test one single path of your code. Ever. During this talk, you will discover a fuzzy testing library to make your test use a...

One of Kotlin's powers is the ability to easily create Domain Specific Languages which can be used in your application. In this workshop you'll learn the basics of Kotlin functions and see how you can combine a series of features to create DSLs that can be used to represent a variety of...

The correct handling of timezones and locales is one of the most under-appreciated parts of software development. Commonly known as internationalisation (i18n), a lot of people underestimate the impact that getting it wrong can have for your users as well as your systems.

Time travel debugging is awesome! Remember that obscure bug that QA stumbled across but you could never reproduce? What if you could record and replay events in the app, to see step-by-step how the data changes and why certain actions are executed?

In this talk you will discover how we can use just Kotlin features to inject dependencies through our codebase. Using this novel approach you'll learn about the concept of Type Classes, a unit of abstraction and configuration used to architect apps and libraries.

Effective Java by Joshua Bloch profoundly influenced the design of Kotlin yet by exploring a selection of "items" from the book you will see how it is still just as relevant to Kotlin developers today when we aim to write Effective Kotlin code.

Code sharing options for mobile have existed for years, but most tend to be relatively obscure (Rubymotion), difficult to use (C++), or limited in scope or developer interest (J2objc). Kotlin Multiplatform will emerge as an option that allows significant sharing of logic and architecture, while...

NearbyPong is a game that Fernando Prieto and Ferran Ribell created at Karmarama several months ago. They wanted to develop a game that used the new Android Nearby API and Kotlin. In this game, you are basically able to connect with another user in the same area by using bluetooth and wifi to...

There are many options on Android for deferrable background work. During this workshop you will learn about WorkManager, a compatible, flexible and simple library for deferrable background work. WorkManager is currently in alpha - when stable, it will be the recommended task scheduler on Android....