Speaker

Sinan Kozak

Sinan Kozak

Android Staff Engineer - Delivery Hero

Berlin, Germany

Sinan is an Android GDE and he works as Staff Engineer at Delivery Hero, food delivery company. He has been working with Android since 2011 and has 11 years of professional experience with software development. He is passionate about Kotlin and loves to contribute open-source.

Awards

  • Most Active Speaker 2022

Area of Expertise

  • Information & Communications Technology

Topics

  • Kotlin
  • Android
  • Android Unit Testing
  • Java
  • Android Architecture
  • Jetpack Compose

Clean Code Base: Harnessing the Power of Android Lint and Custom Rules

As Android developers, we all know the importance of writing clean and maintainable code. However, as our codebase grows, it becomes increasingly difficult to ensure that all developers are following the same coding standards. That's where Android Lint comes in.

Android Lint is a powerful tool that can help us catch a wide range of potential issues in our codebase. Lint can save us hours of debugging time by identifying issues early on. But did you know that you can also create your own custom Lint rules?

In this talk, we'll dive deep into the world of Android Lint and explore how to create custom rules that fit our specific needs. We'll cover the basics of how Lint works, the different types of rules that we can create, and some practical examples of how to use Lint to improve code quality at scale.

By the end of this talk, you'll have a solid understanding of how to use Android Lint to improve code quality and productivity on your projects. You'll be equipped with the knowledge to create your own custom rules and ensure that your codebase is clean and maintainable at all times.

Cache once and use everywhere

We, developers, write lots of code and compile a lot. We get others' contributions and compile them as well. Most of our time is wasted while staring at compile output without any productive outcome.

Do you ever feel that you compile the same thing over and over? Do you hate Gradle without knowing why? You are right, most of the compilations are unnecessary. And the majority of the problems are simple ones.

By fixing simple build configurations we can utilize local and remote Gradle cache and enjoy incremental builds with less time and focus on developing more.

A Complete Journey of Android Modularisation

Modularisation is a demanding topic. With modularisation, you can have extraordinary achievements or spectacular failures. We split 250k lines of monolith app modules into 150+ modules with 20+ developers. Now we can contribute faster, test features in isolation and use foundation modules for best practices.

With an increasing number of features and code, we needed a scalable codebase. During the process, we find out practical patterns, and we had lots of pitfalls. In the end, improved build speed, uncoupled features, strong foundation for best practices come with modularisation. Separated responsibility layers help team members contribute and contain changes in smaller efforts.

Correct modularisation is the foundation of having scalable codebases. From navigation to reusing views and resources, your mental model needs to change. In this talk, you will learn compelling problems you can encounter and how to overcome issues proficiently.

Rock-Solid UI and Instrumentation Testing

We Android developers use the "flakiness" word more than the "stability" word while talking about Espresso and Instrumentation tests. We cannot truly trust flaky tests. Instrumentation testing will continue to be part of our lives even with Jetpack Compose therefore, we need stability.

Running all UI tests before merging any code is possible, and it saves us a lot with 1000+ user interaction tests. Unfortunately, stability is not something that comes out of the box. A certain level of architecture, proper thread usage, and test setup with helper rules are required. There is an uncountable number of things that affect UI tests.

Good thing, there are explanations and solutions for most of the flakiness. In this talk, you will learn more about best practices to increase test stability, how to utilise Test-Driven Development with UI testing, and how this will help you find bugs earlier.

droidcon Italy 2022 Sessionize Event

October 2022 Turin, Italy

droidcon Berlin 2022 Sessionize Event

July 2022 Berlin, Germany

droidcon San Francisco 2022 Sessionize Event

June 2022 San Francisco, California, United States

droidcon Lisbon 2022 Sessionize Event

April 2022 Lisbon, Portugal

droidcon Berlin 2021 Sessionize Event

October 2021 Berlin, Germany

Sinan Kozak

Android Staff Engineer - Delivery Hero

Berlin, Germany

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top