Lead Android Developer2017 - 2019Johnson & Johnson (via Toptal)
Technologies: Jira, Jenkins, Salesforce, EventBus, Model View Presenter (MVP), Model View Viewmodel (MVVM), Butterknife, Retrofit 2, Picasso, RxJava, Dagger 2, Kotlin, Java, Android
- Led the development of multiple HIPAA compliant health-related Android applications written in Java and Kotlin by teams of various sizes.
- Developed abstract and generic handling of use-cases whose structure, content, and UI elements are defined over the air.
- Integrated the Android application with a Salesforce back-end.
- Implemented architecture in Kotlin for out-of-the-box syncing down multiple Salesforce soups that had complex many-to-many relationships and dependencies by utilizing topological sort.
- Integrated ZXing barcode scanning library into existing Android projects developed in Kotlin.
- Maintained code quality and stability of the project throughout continuous CI/CD and peer review processes.
- Mentored and supported younger members of the team.
Lead Mobile Developer (Consultant)2017 - 2018Ingsoftware
Technologies: Jira, Kotlin, Android, Model View Viewmodel (MVVM), Realm, Alamofire, RxSwift, iOS, Swift
- Stabilized existing iOS fitness application that utilized BLE technology by refactoring and introducing various patterns and libraries.
- Implemented very complex multithreaded algorithms for communication with BLE devices while utilizing RxSwift that allowed the user to double the number of BLE devices used during a single session.
- Dramatically improved the speed of BLE communication by almost 300%.
- Stabilized BLE communication and increased success rates from 70% to nearly 100%.
- Implemented the ability to use an abstract, contract-based style of communication with BLE devices that made it easy to add or remove support for different brands of sensors.
- Developed a localized, on-device iOS server using Swifter that allows team members to easily mock API data and work in offline mode.
- Developed a PoC Android application in Kotlin for multithreaded BLE communication with devices.
- Led the development of an Android application and oversaw tasks and progress.
Lead Android Developer2015 - 2018Circle Medical (via Toptal)
Technologies: Stripe, Zoom, PubNub, SQLCipher, SQLite, Mockito, Espresso, JUnit, Swift, iOS, Butterknife, Picasso, Dagger 2, Retrofit 2, RxJava, Java, Android
- Developed an entire HIPAA compliant Android application in Java with continuous improvements of all individual components.
- Contributed to product development throughout regular meetings and analysis of features.
- Implemented insurance card scanner, video calls, real-time chat, payment processor, and PDF reader using various SDKs (Acuant, ZoomUS, PubNub, Stripe, and MuPDF).
- Established architecture and best practices for further development of the Android application.
- Set up automation test architecture and CI/CD, and developed thousands of tests.
- Maintained stability and supported both Android and iOS applications.
Android Team Lead (Consultant)2016 - 2017Infinite Leap
Technologies: Model View Presenter (MVP), Butterknife, Picasso, Retrofit, RxJava, Dagger 2, Java, Android
- Led the development of Android applications and organized day-to-day activities of team members and their tasks.
- Set up architecture for projects, tools, and organizational practices as well as enforced peer review within a team.
- Oversaw the quality of the code, stability of application, and progress of the team.
- Communicated requirements daily with the rest of the team.
CEO | Android Team Lead2014 - 2015Singularity Software
Technologies: Amazon Web Services (AWS), AWS, Parse, Fabric, Travis CI, Picasso, RxJava, Butterknife, Retrofit, PhoneGap, Java, Android
- Founded and managed a development outsourcing agency with 13 employees.
- Led a team of Android engineers that developed 15 applications in Java and PhoneGap.
- Developed in a Java enterprise-level Android application, for the oil industry that generates its UI and use-cases based on custom instructions from a REST API.
- Refactored, improved, and stabilized My Diet Coach by introducing material design, MVP architectural patterns, repository patterns, unit tests, and new features that allowed for the successful scale of its user base to more than 10 million users.
- Enforced usage of various open source libraries, CI/CD services, automation tests, and APIs that improved overall quality of projects.
- Created tools and libraries for faster development, such as an image resizer for Android's drawables.
- Utilized sensors on Android, such as NFC and Bluetooth.
Android Developer2014 - 2014Scopic Software
Technologies: C++, PhoneGap, Java, Android
- Worked on half a dozen Android applications in Java and PhoneGap, relying heavily on communication with Google's and REST APIs.
- Implemented an image analysis algorithm in Java that determines the user's heart rate based on a recording of a fingertip.
- Enforced usage of best practices, such as MVC architectural pattern, Retrofit, Picasso, GreenDao, Espresso, and other open-source libraries.
- Designed and developed a set of internal Android libraries and code generators.
- Created various reusable custom UI controls for the Android system.
Software Developer Engineer in Testing2013 - 2014Microsoft
Technologies: C++, C#
- Designed and developed the main, fully automated, generic, distributed test system in C#, executing millions of tests daily.
- Integrated all existing test tools for PDF to DOC conversion into the main distributed test system, allowing developers to use it freely.
- Improved existing test tools by adding parallel execution of tests that increased efficiency by an order of magnitude.
- Created an automated test tool in C# for measuring the performance of PDF rendering engines.
- Created an automated test tool in C# that measured the accuracy of vector image reconstruction after PDF to DOC conversion.
- Defined and implemented automated test tools for full control of tested software and test scenario executions for it.
Android and Web Developer2011 - 2013Freelance
- Implemented various beginner-level Android applications in Java.
- Implemented various websites, pages, and systems in different technologies.
- Integrated various third-party APIs (Twitter, Google+, Facebook, Google Maps, PayPal) as well as OAuth authorization whenever possible.