Senior Android Developer
2022 - PRESENTIndustry leader in waste management services- Introduced new features and improved a slow and unreliable app.
- Led the complete refactoring to the modern Android stack: declarative Jetpack Compose framework, Dagger/Hilt, MVVM, Kotlin Coroutines, and Delegates that allowed optimizing the UI and resources for real-time geolocation-based algorithms.
- Implemented automation algorithms using real-time geolocation and spatial trigonometry, processing 1000s of parcels and trucks multiple times per second.
- Established the whole CI process in the company: Git repository, CircleCI with a local and remote build cache, uploading builds to a private FTP server;
- Split the monolith codebase into multiple Gradle modules, helping developers separate the responsibilities;
- Introduced extensive ViewModel tests to the codebase;
Technologies: Android, Kotlin, Full-stack Development, Model View Viewmodel (MVVM), Test-driven Development (TDD), Room, Geofencing, Location Services and Maps, Performance, WorkManager API, REST APIs, Minimum Viable Product (MVP), Coroutines, Jetpack Compose, Hilt, Camera APISenior Android Developer
2022 - PRESENTCodecontrol Client- Worked on a new version of one of India's oldest and most popular cryptocurrency exchange apps from scratch using declarative UI (Jetpack Compose) and Kotlin Multiplatform for both mobile platforms.
- Participated in key decisions about architecture that would make the app scalable, testable, and stable between the mobile platforms.
- Maintained and updated the old legacy version of the app while adding new features and ensuring the stability of the old ones.
- Gained experience working with the modern UI frameworks (Jetpack Compose) and multiplatform ViewModels shared between iOS and Android.
Technologies: Android Jetpack, iOS, Kotlin Multiplatform, Coroutines, Ktor, Kotlin, KOIN, Compose.io, Model View Viewmodel (MVVM), Observer Pattern, Mobile Development, Mobile App Development, Cross-platform, Mobile Apps, Android Studio, Android SDKJava Android Developer for Creating Foreground Service
2023 - 2023RAF Technology- Created a Foreground Service wrapping native C++ code provided by client into an external api that could be used by multiple partner applications.
- Connected a custom barcode scanner/imager of Zebra TC57 and similar devices to the Foreground Service.
- Made a Test App to help the client to demonstrate the abilities of their native C++ Image Recognition solution to their customers and expand their presence in the mobile space.
Technologies: Android Foreground Services, Android, Java, Kotlin, IPC, AIDL, Android NDK, NDK, Java Native Interface (JNI), Image Recognition, Camera APISenior Android Developer
2020 - 2021Visa- Assisted in stabilizing and scaling the existing codebase of a security-sensitive financial B2B library as a part of the mobile reliability team.
- Implemented emulated payment terminals with Kotlin Multiplatform and coroutines and emulated back-end that reduced total test execution time from around one hour to just a few minutes on all the platforms, including iOS, Android, and JVM.
- Achieved exceptional experience working across platforms using iOS, Android, JVM, and the full-stack environment.
- Featured Toggle, which allowed to dynamically control certain library features from the server, providing a safety mechanism for all the new features. Developed a microservice from scratch, along with the client versions for all the platforms.
- Introduced a breakpoints feature into the test code, allowing the concurrent legacy codebase to test faster and more reliably.
- Promoted an event-based multiplatform architecture as part of the team to at least two other teams, together with the best practices.
Technologies: Kotlin, Coroutines, Behavior-driven Development (BDD), Test-driven Development (TDD), Android, Kotlin Multiplatform, Jenkins, Full-stack, iOS, Java, Observer Pattern, REST APIs, CI/CD Pipelines, Mobile Development, Mobile App Development, Cross-platform, Full-stack Development, Mobile Apps, Android Studio, Android SDKAndroid Developer
2018 - 2020Dubsmash (via Toptal)- Engaged to work on a popular video app with hundreds of thousands of DAUs and was accountable for everything, including building features, analytics, testing, publishing, keeping the app up-to-date, and improving the underlying infrastructure.
- Helped to establish the best dependency injection practices, decomposition patterns, multi-module projects, and Kotlin delegation, which made the codebase scalable, flexible, and testable.
- Initiated and moved the caching infrastructure towards the Apollo GraphQL cache, which made the codebase scalable, delivering optimistic UI updates across the app from a single source of truth.
- Contributed to establishing the best unit, integration, and instrumented testing practices for the team, which helped ensure the feature quality and analytics implemented.
Technologies: Android, Java, Kotlin, Apollo, Observer Pattern, REST APIs, Mobile Development, Mobile App Development, Mobile Apps, Android Studio, Android SDK, RxJava 2Android Developer
2017 - 2018Hubspot- Worked on a mobile version of HubSpot (inbound marketing and sales software), building features that compliment the desktop experience and bringing use cases that are most valuable for users on the go.
- Worked mostly on core and infrastructure for both Android and iOS apps.
- Improved the data layer, data retrieving, and caching of the proprietary solutions and Room persistance library.
- Improved performance and reliability, reported errors and metrics, and analyzed and created an automatic alert system.
- Improved testability and scalability, integrating the best dependency injection practices into the codebase (Android).
- Encouraged independence of different mobile teams, splitting the existing codebase into different modules and repositories.
Technologies: React Native, RxJava, Dagger 2, Swift, Kotlin, Observer Pattern, Room, REST APIs, Mobile Development, JavaScript, Mobile App Development, Mobile Apps, Android Studio, Android SDKAndroid Developer
2011 - 2015Softeq Development- Developed an iBeacon-enabled mobile app that notifies the user about currently available deals based on their location.
- Worked on a world-famous game conference app for fetching up-to-the-minute updates and activities planning.
- Modified Android standard apps to provide an auto-setup feature for a railway operator to its company-wide adopted tablets.
- Developed a video-processing app for a sports brand, cutting slow-motion video and overlaying a precise timestamp on each frame.
- Developed a secured money-management app.
- Worked on several Cocos2d-x games.
Technologies: iBeacon, Cocos2d-x, REST, C++, C, Java, Mobile Development, Mobile App Development, Mobile Apps, Android Studio, Android SDKMobile and Web Developer
2009 - 2011Freelance- Developed several J2ME games.
- Worked on several CMSs written in PHP.
- Developed a Twitter client for Android 1.6.
- Developed a ringtone-creator for Android that cut audio files of several formats frame-by-frame.
- Developed several card games for Android 1.6.
- Developed a tiny CAD app for Windows Mobile 6.1.
Technologies: Android, HTML, PHP, Windows Mobile, .NET Compact, C#, J2ME, Mobile Development, Mobile App Development, Mobile Apps, Android Studio, Android SDK