Senior 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, Model View Viewmodel (MVVM), Observer PatternSenior Android Developer
2020 - 2021Payworks- 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 h 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 APIsAndroid Developer
2018 - 2020Toptal Client- 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, also delivering optimistic UI updates and UI updates across the app from the single source of truth.
- Contributed to establishing the best unit, integration, and instrumented testing practices for the team, which helped us ensure the quality of the features and analytics implemented.
Technologies: Android, Java, Kotlin, Apollo, Observer Pattern, REST APIsAndroid 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 APIsAndroid 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, JavaMobile 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