Git Flow – everything that you need to know for your everyday work

Working with Git is one of the most important things that you could learn as a software developer. There are many different strategies for how we can work with Git and branches. I will focus here on the most popular approach for mobile projects – Git Flow. You will...

All you need for Dependency Injection is Kotlin

You may wonder what is the best Dependency Injection library for your Android project. Dagger, Hilt, Koin, or Kodein? I can’t answer that. You should choose what fits your project, experience, and expectation. But what if I would tell you that you don’t need any library? You have everything...

How to inject the coroutines Dispatchers into your testable code

Best practices for coroutines say that you should always inject the coroutines Dispatchers. It will allow you to control your Dispatchers during your tests. You can read more on the official Android Guidelines. https://developer.android.com/kotlin/coroutines/coroutines-best-practices#inject-dispatchers I will show you my approach to this problem, and how I solve it. There...

Introducing async work in a product company

Recently I’ve reviewed the Gitlab article about the async culture of work and I believe that this is a very long, but good guide on how to deal with it. I can only say that everyone should read it to understand what is async work. https://about.gitlab.com/company/culture/all-remote/asynchronous/ What is your...

Baby steps when joining the legacy project

This post was created thanks to an inspiring discussion under the Tweet below. I encourage you to read the whole. ​​0. Talk with the team, work on collective ownership of the platform. #overcommunication! 1. Start building the platform backlog 2. Identify what blocks you from being confident in changing...

Why Flutter is not your choice for building the best app in the world?

In this post, I will share with you my humble opinion about using Flutter in large, scalable and maintainable projects. There is a lot of articles that are hyping Flutter. Unfortunately, there is not many articles about the possible problems that you can have. Here you can find few...

Five questions for the technical interview. Not only for Android Developers!

As a developer, I had many opportunities to take part in a lot of technical interviews, sitting on both sides of the table. I was the interviewee and interviewer. I’ve been interviewing candidates for companies where I work and helped other companies as part of consulting services. So now...

So, you think that know how to use Snackbar and FAB? You know nothing!

Maybe you got used to using Snackbar on views with List and Floating Action Button. You wrapped everything with CooridnatorLayout and watched shiny animation where FAB was moved up when Snackbar was shown. This looked good, and you were happy. But not anymore! Some time ago Google changed how...

Testing tools for Kotlin. Quick recap in 2020.

We can group testing tools into 3 main categories Frameworks Mocks Assertions 1) Frameworks JUnit4 Just good enough to work, without any cool features. Still default in the Android project because the next version (JUnit5) needs Java8, which still isn’t default for Android, because of compile time. JUnit5 This...