Most Active Speaker

Maia Grotepass

Maia Grotepass

Staff Engineer: Android principal at Luno

Stellenbosch, South Africa

Mobile dev since Cupcake. Android GDE. Kotlin enthusiast. Dogs make me happy.


Area of Expertise

  • Information & Communications Technology


  • Android Development
  • Android
  • Android software Development

Imperative to functional and back again in Kotlin

In some situation imperative coding style is better suited to the problem and in others a functional approach might feel more apt. In Kotlin the same idea can be expressed in either. If there is a mix however, how do we convert from one to the other? This talk will take a smallish problem and present an imperative solution. We will then look at the steps we can take to convert it to a functional solution and explore Kotlin support for functional programming along the way. We will look at some common patterns we see in imperative code and what the functional equivalent would be. Lastly we will briefly compare the two approaches.

Take aways:

* Demonstration of conversion from imperative to functional
* An overview of Kotlin support for functional programming paradigm
* Some common code patterns and their imperative and functional equivalents

duration: 40 min
target audience: Beginner to intermediate Kotlin enthusiasts
This talk has not been presented at any events yet.

Android Hotspot hunting - making process and code better and Android engineers happier

Working in a team of Android engineers on a shared long lived codebase has its challenges. This talk presents a collection of practical tools for both process and code. We will look at ways to determine process or code hotspots as well as ways to tackle these problems. This talk is based on practical experience in a team of 20 Android engineers with a shared code base that was started in 2014.

We will answer these questions and more:
* Where are the codebase hotspots?
* Where are the development process hotspots?
* What tools are available?
* How to tell if the codebase is in a good state?
* What techniques did my team use?

This talk will give a collection of tools, approaches and practical feedback from a working team.

duration: 40 min
audience: Anybody working in an Android team that wants to make it better for everyone
This talk has not been presented at any events yet.

Doodle sketching in Compose mobile and desktop

Do you remember the freedom of doodling without knowing what the outcome would be? What if this were possible in a coding framework such as Compose? This talk explores experimenting with still visuals and animations using Jetpack compose for Android and Desktop.

We will look at:

- How the animation loop works
- Basic drawing features available in Jetpack
- Compose and differences between mobile and desktop
- Useful add on libraries for creative coding with Jetpack Compose
- Some inspirations to kickstart our doodles
- Live code demo

duration: 40 min
target audience: Beginner to intermediate Compose and creative coding enthusiasts
This talk has not been presented at any events yet.

90s Website … in 2023 on mobile in Compose … for science

Why would anyone build something with a 90s website aesthetic - in Compose? Nostalgia? For one the 90s website aesthetic made heavy use of animations and visual effects. So emulating this style will take any animation framework through its paces. This talk will take some of the most iconic 90s website elements and demonstrate how to reproduce them to build a retro mobile experience using Jetpack Compose.

I can’t promise the end result will have a good user experience but I can promise a good look at the animation system in Compose and a collection of cheesy code snippets.

duration: 40 min
target audience: Beginner to intermediate Compose enthusiasts
This talk has not been presented at any events yet.

Imperative, declarative, object oriented, functional: four of a Kotlin kind

Humans have small working memory but good pattern matching skills. The problems we want to solve are large and complex. How can the approach we take make it easier to deal with complexity, especially if the approach is supported by the language we choose.

This talk is a comparative view of four interrelated programming paradigms: imperative, declarative, object oriented and functional - from a Kotlin perspective.

This talk will cover in depth details of the language features that are especially suitable for each of the paradigms. It will highlight how each language feature helps to deal with complexity.

This talk may also contains:
* brief definitions
* snippets of software history

A simplified version of this talk was presented at the I code Java conference in person in South Africa. It is suitable for intermediate Kotlin audiences.

She started talking about DI and you wont believe what happened next - 7 tips for better tech talks

A click bait title won't keep your audience awake. In this talk I look at my experiences as technical speaker and extract the most important tips and strategies to keep an audience engaged no matter how boring the topic.

20 min This presentation is suitable for all levels. This talk was chosen as the keynote for DevFest South Africa 2022

DevFest South Africa 2022 (Cape Town)

November 2022 Cape Town, South Africa

droidcon Berlin 2022

July 2022 Berlin, Germany

droidcon San Francisco 2022

June 2022 San Francisco, California, United States

DevConf 2022

April 2022

GDG DevFest UK & Ireland

January 2022 London, United Kingdom

droidcon EMEA 2020

October 2020 Nusa Dua, Indonesia

DevFest South Africa 2019

November 2019 Cape Town, South Africa

Kotlin Everywhere South Africa 2019

September 2019 Johannesburg, South Africa

Maia Grotepass

Staff Engineer: Android principal at Luno

Stellenbosch, South Africa