Mohsen Mirhoseini

Senior Android Developer

About Me

Sr. Android Software Engineer at Firework

Mohsen Mirhoseini

Senior Android Developer
I am a senior software engineer with a passion for Android development. I have worked as a software developer since 2006 and later focused extensively on mobile applications since 2012. I also had a chance to lead and train other developers along the way. I am a computer geek who cannot resist Mobile apps, IoT, Tech talks, and video gaming. Besides publishing articles on Medium, I am also a YouTuber and share my experiences developing Android apps on a YouTube channel called "Android Developer Tips" for the whole Android community.

Services

Things that I enjoy woking on.

Application Development

Team management

Knowledge Sharing

Open Source Contribution

Problem Solving

Public Speaking

Skills

Things that I'm good at.

Android
95%
Kotlin
90%
Java
90%
OOP/OOD
90%
Coroutines
85%
Reactive
80%
MVP/MVVM
90%
CleanArch
90%
SOLID
90%
CI/CD
80%
DI
95%
Test
85%
RESTfulAPI
90%
GraphQL
75%
Git/GitFlow
95%
IoT/BLE
80%

Twitter

Follow me on Twitter @mohsenoid

Blog

My thoughts.

How to make and use BOM (Bill of Materials) dependencies in Android projects

You’ve probably come across the BOM term if you’ve worked with big libraries like Jetpack Compose or Firebase. But what exactly is a BOM dependency? Why is it important? And how can we create our own BOM for our SDKs and their dependencies? Let’s find out. As an example, we can take a look into […]

Using the Gradle Version Catalog in Android projects

Using the Gradle Version Catalog in Android projects

The Gradle build system Version Catalog is a powerful tool that can help you manage dependencies and plugins in your Android projects. Instead of hard-coding dependency names and versions in individual build files and updating each entry whenever you need to upgrade a dependency, you can create a centralized version catalog of dependencies that various […]

Droidcon Berlin 2023

Droidcon Berlin 2023 — A recap in video format

Looking back at another successful year of Droidcon Berlin, the leading conference for Android development stirs a mix of emotions. The event, held in the vibrant city of Berlin, Germany, once again acted as a hub for sharing knowledge, networking, and innovation among Android enthusiasts from around the world. Based on the website, This year’s […]

Dependency Injection (DI) Principle in Android Applications

Dependency injection is a design pattern in which an object or function receives other objects or functions that it depends on. It aims to separate the concerns of constructing objects and using them, leading to loosely coupled programs.

How to set up Android Picture-in-picture mode? (a.k.a Floating window)

Starting in Android 8.0 (API level 26), Android allows activities to launch in picture-in-picture (PiP) mode. PiP is a special type of multi-window mode mostly used for video playback.

How to use Functional (SAM) interfaces in Kotlin to achieve clean code?

When defining interfaces with a single abstract method you can use a lambda expression to avoid introducing a new class or anonymous objects.