I am Talha Hasan Zia, an Android Developer.
I have developed and published over 10+ apps with 10,000+ downloads in total.
I have worked on apps with MVVM, MVI, MVP and VIPER architectures using Java and Kotlin with Dagger2, Hilt and Koin for dependency injection that drives a testable coding approach. I have also run a few experiments with RIBs. I am a keen supporter of clean architecture. I have a good understanding of Rx patterns and Coroutines for asynchronous operations. I have written comprehensive tests using JUnit4 and Mockito.
Most recently, my work includes working extensively with Jetpack compose and Android library module based feature development. I also got a chance to work on writing APIs using Spring Boot and some frontend work using Reactjs. I am involved in process and automation, and working with CI CD tools like Bitrise, Github Actions and Fastlane. I recently automated the build distribution process to QA with PR merge, so when the PR is merged, builds are created and distributed to QAs on Firebase automatically. The PRs have also checks for project compilation, SonarQube health, Unit Tests, Lint, and UI tests integrated with Firebase Test Lab. I also worked on automating git tags, which creates a release with apk on Github.. I have also created code file templates to integrate with IntelliJ based Android Studio, where we can create files in a package with all of its layers boiler plate code. (Fragment, Viewmodel, UseCase, Service, Repo, API and test classes) in just a single click.
I have good knowledge in design patterns and structuring application's architecture for scalable and maintainable codebase. I work in developing separate reusable modules and serves them as SDK which saves us time in writing the same solution again. I love to solve problems on paper using these principles before diving into the code. I have used Figma, XD and Invision to translate design into near-pixel perfect UI on Android.
I have developed SDKs using entirely Kotlin stack (Moshi, Koin, Coroutines) and so far I am really satisfied with code reliability and testability to deliver bug free software SDKs using Kotlin. I have also worked with Android Architecture Components using MVVM, Hilt, LiveData and Flow APIs, since I believe new tools that Google is bringing to android is a great move towards standardized Android Apps development which should be happening years ago. In terms of process automation, I have been working with CI CD and code analysis tools like GitHub actions, Bitrise , Sonarqube etc.