Lead Android Developer
2017 - 2019Johnson & Johnson (via Toptal)- 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.
Technologies: Jira, Jenkins, Salesforce, EventBus, Model View Presenter (MVP), Model View Viewmodel (MVVM), Butterknife, Retrofit 2, Picasso, RxJava, Dagger 2, Kotlin, Java, AndroidLead Mobile Developer (Consultant)
2017 - 2018Ingsoftware- 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.
Technologies: Jira, Kotlin, Android, Model View Viewmodel (MVVM), Realm, Alamofire, RxSwift, iOS, SwiftLead Android Developer
2015 - 2018Circle Medical (via Toptal)- 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.
Technologies: Stripe, Zoom, PubNub, SQL, SQLite, Mockito, Espresso, JUnit, Swift, iOS, Butterknife, Picasso, Dagger 2, Retrofit 2, RxJava, Java, AndroidAndroid Team Lead (Consultant)
2016 - 2017Infinite Leap- 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.
Technologies: Model View Presenter (MVP), Butterknife, Picasso, Retrofit, RxJava, Dagger 2, Java, AndroidCEO | Android Team Lead
2014 - 2015Singularity Software- 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.
Technologies: Amazon Web Services (AWS), Parse, Fabric, Travis CI, Picasso, RxJava, Butterknife, Retrofit, PhoneGap, Java, AndroidAndroid Developer
2014 - 2014Scopic Software- 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.
Technologies: C++, PhoneGap, Java, AndroidSoftware Developer Engineer in Testing
2013 - 2014Microsoft- 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.
Technologies: C++, C#Android and Web Developer
2011 - 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.
Technologies: jQuery, JavaScript, JSON, CSS, HTML, PHP, Java, Android