Mobile Native Developer (Android, iOS)
2013 - PRESENTSelf-employed- Created a number of Android and iOS applications for various clients.
- Helped clients to create and polish specifications for their projects.
- Created automated Unit and E2E tests and deployed mobile apps for testing.
- Published mobile apps for clients in Google Play and App Store.
Technologies: Objective-C, Swift, C++, C, Java, Kotlin, Interface Builder, iOS, Xcode, UIKit, Figma, REST APIs, Databases, Software Architecture, Geolocation, Embedded C++, Embedded C, Low-level Programming, Image Manipulation, Grand Central Dispatch, ASCII, MVC Design, Native Mobile Apps, Android Development, Information Technology, REST, Cryptography, Refactoring, Networking, Core Data, Mobile App Development, Mobile UI, Android Architecture, Mobile Development, Android API, Android SDK, Android Studio, App UX, User Interface (UI), App UI, Mobile App UI, GitFlow, Algorithms, SQL, SQLite, Google Maps API, Swift 4, Human Interface Design, UI Design, User Experience (UX), UX Design, Sockets, Real-time Communication (RTC)iOS Developer with Objective-C and Swift
2021 - 2022Toptal Client- Attended online team standups for scrum sprints planning, grooming, and retrospective.
- Discussed the best ways of task delivery with other team members.
- Fixed bugs for an iOS app reported by the QA team, enhanced the app with new features, submitted code changes for review and QA testing.
- Participated in code review for pull requests created by other developers.
- Attended online discussion of iOS app features with other not IT staff from the client company.
Technologies: iOS, Swift, Objective-C, Jenkins, User Interface (UI), Human Interface Design, UI Design, User Experience (UX), UX DesignSwift iOS Developer
2020 - 2021Toptal Clients- Created a base iOS application architecture and integrated third-party frameworks providing key app functionality.
- Implemented the application UI and features as per design and Jira tasks. Submitted implemented features in TestFlight builds to the QA.
- Fixed and resolved bugs and issues reported by QA that were discovered during the development process.
- Attended daily team meetings and discussed details and possible approaches of implementation for application features together with other team members.
Technologies: Swift, Xcode, CocoaPods, RxSwift, RealmSwift, Scrum, TestFlight, VIPER Architecture, Mobile Architecture, REST APIs, UIKit, AVFoundation, SDWebImage, JSON, Jira, Interface Builder, iOS, Figma, Databases, Software Architecture, Security, Grand Central Dispatch, Swift 5, ASCII, Native Mobile Apps, Information Technology, REST, Realm, Refactoring, Networking, Mobile App Development, Mobile UI, Mobile Development, App UX, User Interface (UI), App UI, Mobile App UI, GitFlow, Human Interface Design, UI Design, User Experience (UX), UX DesignSwift iOS Developer
2020 - 2020Freelance Work- Migrated an iOS application architecture to Viper in order to enable easy enhancement of the app's features.
- Implemented new and improved existing features in accordance with UI/UX design.
- Fixed crashes, UI/UX bugs, and issues found during app testing.
- Implemented new elements of the UI using the SwiftUI framework.
Technologies: Figma, Xcode, CocoaPods, Carthage, SDWebImage, Alamofire, Combine, RxSwift, UIKit, SwiftUI, Swift, Interface Builder, iOS, REST APIs, Databases, Software Architecture, Image Manipulation, Grand Central Dispatch, MVC Design, Native Mobile Apps, Information Technology, REST, Refactoring, Networking, Mobile App Development, Mobile UI, Mobile Development, App UX, User Interface (UI), App UI, Mobile App UI, GitFlow, Algorithms, Human Interface Design, UI Design, User Experience (UX), UX DesignSwift Mobile Developer
2019 - 2020Engagement via Toptal- Created an iOS project baed on VIPER architecture pattern.
- Implemented a key features of iOS app based on the same Android application.
- Integrated Firebase Auth, Storage and Firestore using CocoaPods framework.
- Integrated some helpful libraries using CocoaPods.
- Integrated SDWebImage library to load image files from Firebase Storage.
Technologies: Firebase, CocoaPods, Swift, Interface Builder, iOS, Xcode, UIKit, REST APIs, Databases, Software Architecture, Geolocation, Image Manipulation, Grand Central Dispatch, Swift 5, Native Mobile Apps, Information Technology, REST, Refactoring, Networking, Mobile App Development, Mobile UI, Mobile Development, App UX, User Interface (UI), App UI, Mobile App UI, GitFlow, Human Interface Design, UI Design, User Experience (UX), UX DesignAndroid Developer
2019 - 2019NDA (via Toptal)- Enhanced an Android app with new features.
- Migrated the project to MVVM architecture pattern.
- Created Unit Tests for the project.
- Applied an updated UI design.
Technologies: Retrofit 2, Dagger 2, Unit Testing, Model View Viewmodel (MVVM), Kotlin, Android, REST APIs, Databases, Software Architecture, Native Mobile Apps, Android Development, Information Technology, REST, Refactoring, Networking, Mobile App Development, Mobile UI, Android Architecture, Mobile Development, Android API, Android SDK, Android Studio, App UX, User Interface (UI), App UI, Mobile App UI, GitFlow, Human Interface Design, UI Design, User Experience (UX), UX DesignMobile Developer
2018 - 2019NDA- Created an Android version of the app from scratch based on the MVP architecture pattern.
- Deployed content data files on Firebase Cloud Storage.
- Created a custom logic to check for data content updates availability and to download and to cache the content files from Firebase Cloud Storage.
- Created Unit tests and Espresso UI tests.
- Conducted migration of an iOS app with static content files to a model of data files dynamically downloaded and cached from Firebase Cloud Storage.
- Conducted migration of the iOS app to MVP architecture pattern.
- Set up push notifications for both Android and iOS apps.
Technologies: Push Notifications, Espresso, Unit, Firebase, Swift, Java, iOS, Android, Xcode, UIKit, REST APIs, Databases, Software Architecture, Grand Central Dispatch, Native Mobile Apps, Android Development, Information Technology, REST, Cryptography, Refactoring, Networking, Mobile App Development, Mobile UI, Mobile Development, Android API, Android SDK, App UX, User Interface (UI), App UI, Mobile App UI, GitFlow, Human Interface Design, UI Design, User Experience (UX), UX DesignAndroid Developer
2018 - 2019NDA- Implemented MVP architecture pattern for the project.
- Implemented UI layouts, icons, and drawables in accordance with UI design.
- Implemented requests to a REST API.
- Created a local SQLite scheme DB to cache all the data from REST API.
- Implemented a custom app screens navigation tree logic with programmatic transitions to a target screen within the tree.
Technologies: Retrofit 2, RxJava 2, Unit Testing, Java, Android, CI/CD Pipelines, REST APIs, Databases, Software Architecture, TCP/IP, Native Mobile Apps, Android Development, Information Technology, REST, Protobuf, Refactoring, Networking, Mobile App Development, Mobile UI, Android Architecture, Mobile Development, Android API, Android SDK, Android Studio, App UX, User Interface (UI), App UI, Mobile App UI, GitFlow, Algorithms, Human Interface Design, Material Design, MUI (Material UI), UI Design, User Experience (UX), UX DesignMobile Developer
2017 - 2018NDA- Created both iOS and Android tween native applications having the same purposes.
- Deployed a content files on Firebase Cloud Storage.
- Implemented a parsing of MS Excel spreadsheet file to be displayed for the user.
Technologies: Microsoft Excel, Firebase, Kotlin, Java, iOS, Android, Interface Builder, Swift, Objective-C, Xcode, UIKit, REST APIs, Software Architecture, Geolocation, TCP/IP, Native Mobile Apps, Android Development, Information Technology, REST, Refactoring, Networking, Mobile App Development, Mobile UI, Mobile Development, App UX, User Interface (UI), App UI, Mobile App UI, GitFlow, Human Interface Design, UI Design, User Experience (UX), UX DesignAndroid Developer
2015 - 2018NDA- Refactored a legacy codebase in accordance with the latest Android development best practices.
- Refactored an SQLite DB in order to keep all the cached data more consistent.
- Implemented a custom digital rights management module.
- Integrated Facebook SDK and Twitter SDK.
- Conducted a migration of the app to MVP architecture pattern.
- Created Unit tests and automatic e2e tests using Espresso framework.
Technologies: Retrofit 2, Unit Testing, Java, Android NDK, REST APIs, Software Architecture, Security, Geolocation, Connectivity, WiFi, Stripe, Native Mobile Apps, Android Development, Information Technology, REST, Cryptography, Refactoring, Networking, Mobile App Development, Mobile UI, Android Architecture, Mobile Development, Android API, Android Studio, App UX, User Interface (UI), App UI, Mobile App UI, GitFlow, Algorithms, SQLite, Human Interface Design, UI Design, User Experience (UX), UX DesignMobile Native Developer (Android)
2011 - 2016Self-employed- Created a number of Android applications for various clients.
- Helped clients to create and to polish specifications for their projects.
- Created an automated Unit and e2e tests.
- Deployed the mobile apps for testing.
- Published the mobile apps for clients in Google Play.
Technologies: C++, C, Java, REST APIs, Software Architecture, Geolocation, Image Manipulation, ASCII, Native Mobile Apps, Android Development, Information Technology, REST, Refactoring, Networking, Mobile App Development, Mobile UI, Mobile Development, Android SDK, Android Studio, App UX, User Interface (UI), App UI, Mobile App UI, GitFlow, SQL, Human Interface Design, UI Design, User Experience (UX), UX DesignAndroid Developer
2014 - 2014NDA- Integrated libraries provided by a client to fetch data from custom hardware and to control the custom hardware.
- Implemented a software module to enable app instances running on a number of Android devices within the same WLAN to discover, identify and to communicate with each other over a TCP connection.
- Completely developed the Android app from scratch to production.
- Implemented audio/video streaming from the microphone and camera of a device to another device running the same app.
Technologies: Java, Android, REST APIs, Software Architecture, Bluetooth, Image Manipulation, ASCII, Native Mobile Apps, Android Development, Information Technology, REST, Refactoring, Mobile App Development, Mobile UI, Android Architecture, Mobile Development, Android API, Android SDK, Android Studio, App UX, User Interface (UI), App UI, Mobile App UI, GitFlow, Algorithms, SQLite, Human Interface Design, UI Design, User Experience (UX), UX DesignLead Software Development Engineer in Area of Industrial Automation
2009 - 2011OZNA Engineering Ltd., Ufa city, Russian Federation- Created and launched a software module for industry automatization.
Technologies: Databases, Software Architecture, User Experience (UX), ASCII, Modbus Protocol, TCP/IP, Information Technology, Human Interface Design, UI DesignSoftware Development Engineer
2007 - 2009SIB bank, Ufa City, Russian Federation- Automated bank operations in the area of credit loans.
- Developed, deployed, and maintained an application software to automate bank loans processing for individuals.
- Created, deployed, and maintained an application software for mortgage loans.
- Built, deployed, and maintained an application software to process monthly payments from the state pension fund to accounts of retired individuals.
- Created, deployed, and maintained an application software to collect loans history of entities and to create an entity credit history report on demand.
Technologies: Visual FoxPro, Databases, Software Architecture, User Experience (UX), ASCII, Information Technology, Human Interface Design, UI DesignSoftware Development Engineer in Area of Embedded Devices
2004 - 2007"Diner" JSC, Ufa City, Russian Federation- Created embedded software for a number of oil-industry devices.
- Collaborated with the electrical circuitry design process as an MCU expert.
- Created and implemented a migration plan to one of the latest ARM MCU families.
Technologies: Embedded Software, MCU, Assembler, C++, C, Embedded C++, Embedded C, Low-level Programming, ASCII, ARM Embedded, AVR (8-bit MCU), STM32, Modbus Protocol, Information Technology, Refactoring