Специалисты
Android - 5 лет
Java - 5 лет
MVP- 5 лет
MVI - 1 год
SQL - 5 лет
Android Dagger - 3 года
Kotlin - 4 года
Android SDK - 5 лет
MVVM - 3 года
VCS Git - 5 лет
Systrace - 1 год
Android Toothpick - 1 год
Technologies:
RxJava, Retrofit, Android Jetpack, Coroutines, Flows
Frameworks:
Android Framework
Version Control:
Git
Databases:
SQLite, ORMlite, Room, Realm
Patterns & Techniques:
MVP, MVVM, MVI, Clean Architecture
Operation systems:
Windows, Android OS
Education:
2019 - Kazan (Volga Region) Federal University, Kazan
Higher School of Information Technology and Information Systems, Software Engineering
Project optimization and refactoring
Role: Android developer Responsibilities: Was responsible for whole codebase of the project, so I am developing everything for every feature. Added new bash-script for optimizing CI build, added unit-testing to the build and sending apk to AppCenter mechanism. Was involved in process of refactoring legacy code in addition to feature development, like rewriting codebase on Kotlin, getting rid of memory leaks, optimizing network and other background work. Introduced and implementation of new architecture (MVVM based on Google Architecture Components instead of custom MVP implementation) and principles of Clean Architecture. Also moved all costly downloading operations from deprecated IntentService to WorkManager.
SQLite, standard Android database with custom wrapper, Java/Kotlin, RxJava, Retrofit, MVVM (with legacy MVP), Architecture Components, Firebase services, SAP Visual Enterprise, Android WorkManager
August 2021 – present месяцев
Multi-module project
Role: Android developer Responsibilities: Was working in large multi-module project (more than 50 android programmers total), using Scrum methodology. Engaged in creation of business logic based on clean architecture, custom views for server-driven UI, test coverage and was participating in a extensive process of code-review. Also added deep-link system for russian multi-bank money transfer system called "NSPK".
Kotlin, Dagger, RxJava, MVP, Architecture Components, Retrofit
September 2020 — August 2021 месяц
Corporate travel management system and bank projects
Role: Android developer Responsibilities: 1. Development of the Continent Express project, a business trip control application for corporate clients: Layout of all screens and elements. Creating custom views for future reuse, minimized code repetition in xml. I worked on the server module, made a system of mappers for a complex, duplicated server response structure, minimized the use of duplicate data in the application to increase the speed of work. I was engaged in localization of the application, translated lines for which no translation from the customer into English was provided. I also did the business logic of the screens, the display logic for most screens. 2. Development of an application for a local bank: Engaged in the creation of screens, business logic and a domain layer. Also code support and error correction. 3. Application development for a German bank: Engaged in the creation of screens, business logic and the domain layer, integration with the API. Created separate feature modules. Integrated the Leanplum SDK, adapted its functionality to display alerts embedded in the layout. Integrated Mnfst SDK for working with the camera and creating "creatives".
Room Database, Coroutines, Kotlin, MVVM, Retrofit, Cicerone
January 2019 — September 2020 месяцев
System for automating supervision in the financial market
Role: Java developer Responsibilities: Work on a project for the Bank of Russia "Unified dossier of a supervised organization" - a system for automating supervision of organizations participating in the financial market. Creation of new functionality, code support and error correction.
Spring, Hibernate, Java, PostgreSQL, Server-driven UI
March 2018 — December 2018 месяцев
Android platform for the bank
Role: Android developer Responsibilities: Creating an application on the Android platform to coordinate the work of the bank"s internal services, tracking employee movements along established routes, storing and managing customer information.
SQLite, Java, Kotlin, MVP
September 2017 — February 2018 месяцев
Learning system for the bank
Role: Java developer Responsibilities: Creation of a learning system based on natural language processing to help the bank"s call center operators. Development of a web chat application.
Java, Spring, LSA method
May 2017 — August 2017 месяцев