Post Job Free

Resume

Sign in

Senior Android Developer

Location:
Holly Springs, NC, 27540
Posted:
November 21, 2023

Contact this candidate

Resume:

Oleksii Butakov

Senior Android Application Develop er

ad1byv@r.postjobfree.com 734-***-****

Professional Summary

•~12 years in Android development.

•5 apps were published to the Google Play Store.

•Experience in the use of version-control tools such as Subversion SVN, GIT, GitHub, etc.

•Experience developing highly efficient Java code and view layouts and the ability to diagnose performance bottlenecks.

•Implemented the RESTful data consumption using Retrofit with an OkHttp client, GSON and Jackson converters, and a custom interceptor.

•Designed various applications using optimal architectural design patterns such as Model View Controller (MVC), Model View Presenter (MVP), and Model View View Model (MVVM).

•Worked in Kotlin and Java and translated from one to another.

•Excellent in modeling and translating business models and requirements to use cases and diagrams.

•Work with the latest Android technologies including but not limited to Coroutines, LiveData, ViewModel, Room Database, WorkManager, etc.

•Used Coroutines for efficient and optimized multithreading and asynchronous operations.

•Experience with embedded local storage solutions such as SQLite.

•Familiar with architecture patterns (MVC, MVP, MVVM) and design patterns (Singleton, Facade, Command, Builder, Integrator, Visitor, Proxy, etc.),

•Work with analytics tools for Android mobile applications such as Answers, Google Analytics, Localytics, Mixpanel, Flurry, and NewRelic.

•Efficiently consumed and managed RESTful web services with XML and JSON formats.

•Android performance profiling, memory management, power management, and optimization.

•Comfortable providing mentorship and training to junior developers.

•Knowledgeable of data models and data access and optimization.

•Experienced in gathering and documenting requirements.

•Integration of external APIs such as Facebook, Instagram, Twitter, LinkedIn, PayPal, Google Maps Google Charts, and YouTube.

•Design, develop, and document application and framework code in Java and Kotlin.

•Use of various frameworks and suites such as Rx, Firebase, and Android Jetpack.

•Develop certain basic UI using Jetpack Compose.

Technology Knowledge and Skillset

Design Patterns

MVC, MVP, MVVM, Singleton, Dependency Injection, View Holder, Builder, Adapter

Android Libraries, Frameworks, and APIs

Jersey Library, open-source libraries, Google Maps API, Volley, Junit, Google Places, Retrofit, RecyclerView Animator, Location Services, FloatingActionButton, Google Cloud Messaging, Schematic, REST, Bluetooth Low Energy, NineOldAndroids, JobScheduler, Push Notifications,

Web Services

JSON, REST, SOAP, XML, AJAX

Programming Languages

Java, Kotlin

Frameworks

Android Jetpack, Firebase, RxKotlin, RxJava

IDEs

Android Studio, Eclipse, Visual Studio

API

Facebook, Twitter, Google Maps, RESTful, Volley, Picasso, Glide, YouTube, Retrofit, ButterKnife

Front-End UI Development

Custom Android views classes and components, Android adapter views like ListView, RecyclerView, GridView and Gallery, Customized List views, Gallery widgets, Compose

Methods

Material Design, Agile/Scrum, Test Driven Development (TDD)

Data Related Tools

Firebase, SQLite, Room Database, SharedPreferences, EncryptedSharedPreferences

Issue Tracking

JIRA, Jenkins, Atlassian Suite

Testing

Espresso, Robolectric, Mokito, Junit, Selenium & Appium

Version Control

Git, SVN, GitHub, SourceTree, Tower, BitBucket

Native Java Frameworks

Java Swing, Ajax Swing, GWT

Change Management

Git/GitHub, SVN, Jenkins, Travis CI

Software

MS Office (Word, Excel, PowerPoint, Paint), Adobe Photoshop, Maven, Gradle

Operating Systems

Android, Unix/Linux, Mac OS, Windows

Professional Work Experience

Senior Android App Developer

Domino’s

Arbor, MI November 2021 – Current

https://play.google.com/store/apps/details?id=com.dominospizza HYPERLINK "https://play.google.com/store/apps/details?id=com.dominospizza&hl=en_US&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.dominospizza&hl=en_US&gl=US"hl=en_US HYPERLINK "https://play.google.com/store/apps/details?id=com.dominospizza&hl=en_US&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.dominospizza&hl=en_US&gl=US"gl=US

•Develop, maintain, and upgrade Domino's Android app using Android Studio as the primary integrated development environment (IDE)

•Configured and managed project builds using Gradle, ensuring efficient build processes and dependency management.

•Used LaunchDarkly for feature flag and toggle management, allowing for real-time feature updates and controlled feature rollouts.

•Write code in Java, Kotlin, JavaScript, and XML programming languages to implement new features, enhance existing functionalities, and improve user experiences.

•Used MVVM (Model-View-ViewModel) architecture to build a more scalable and testable app.

•Use Jetpack Compose for new UI classes and other Jetpack components in general.

•Used Kotlin Coroutines for multithreading background tasks.

•Implemented unit testing using the JUnit testing framework to ensure code quality and reliability

•Employed the Espresso testing framework for UI testing and automation to maintain app stability.

•Integrated Firebase services into the app for various functionalities, such as real-time database updates, cloud messaging, and analytics

•Utilized Git version control to manage source code, collaborate with team members, and maintain code repositories.

•Implemented Crashlytics as a tool for crash reporting and analysis. Monitor and analyze app crashes to identify and resolve issues promptly.

•Used Android Emulator for testing and debugging app functionalities on different virtual devices, ensuring compatibility across a range of Android versions and screen sizes.

•Staying up-to-date with emerging trends and technologies in Android development

•Implementing third-party libraries and APIs to enhance application functionality, including integration of payment gateways, location services, or social media platforms.

•Participating in code reviews with team members while maintaining code quality and consistency across the project.

•Continuously optimize Android applications to improve performance, user experience, and battery life

•Writing unit and integration tests to validate code functionality and maintain application stability

•Adopting test-driven development (TDD) principles to catch and address issues early in the development process.

•Maintaining comprehensive documentation for code, project architecture, and technical specifications

•Providing valuable input and ideas for product enhancements, based on your understanding of user needs and industry trends

Android Senior Mobile Engineer

PayPal

San Jose, CA March 2020 – November 2021

https://play.google.com/store/apps/details?id=com.paypal.android.p2pmobile HYPERLINK "https://play.google.com/store/apps/details?id=com.paypal.android.p2pmobile&hl=en_US&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.paypal.android.p2pmobile&hl=en_US&gl=US"hl=en_US HYPERLINK "https://play.google.com/store/apps/details?id=com.paypal.android.p2pmobile&hl=en_US&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.paypal.android.p2pmobile&hl=en_US&gl=US"gl=US

•Initially worked as a lone Android developer and started the base of this project by creating this first module and creating the main repository.

•Worked as part of a 6-member Android team applying an Agile project development methodology with two-week sprints.

•Appraising some newer members of our team about what was being worked on in the earliest stage of the project, which is a “way to pay” application. This app allows users to pay for items online with a bank account instead of a credit card and allows them to send and receive money to other users who have an account on PayPal as well.

•Focusing mainly on the front end and instrumentation stories, with a touch of the back end.

•Using Android Studio (working in Android 11) with Kotlin codebase following MVVM architecture.

•Creating three modules for this shopping hub application:

•Demo module - allows us to test each component separately.

•Shopping module - for creating the UI (layouts) for each component as well as the fragment classes associated with it, and its interaction with the view models of each component and view holders. Also has the instrumentation of each feature.

•Shopping-network module - for dealing with the back end (Graphql), composed of multiple Graphql files with different queries and current schema.

•Programmed Kotlin expressions and higher-order functions to reduce boilerplate code.

•Used MVVM (Model-View-ViewModel) architecture to build a more scalable and testable app.

•Developed new features in Kotlin to reduce codebase with data classes and extension functions.

•Using Jira to assign tasks and groom stories.

•Applying Cucumber, JUnit, Roboelectric, and Espresso for testing.

•Using Dagger 2 and Hilt for dependency injection.

•Ung Android Studio and XML Layouts to create the UI for the features of this application; mainly using Constraint and Linear Layouts for these features.

•Creating the UI for multiple components inside one whole fragment (shopping hub) mainly using CardViews and RecyclerViews for sections of the main page and other list pages.

•Using UI libraries specific to PayPal to provide components such as CardViews with specific attributes such as size, margins, elevation, padding, and fonts.

•Using an Image Loader specific to PayPal to help load URLs of images and logos from the back end.

•Using graph navigation to navigate through each fragment. Each deal or offer clicked leads to another page with more details about the respective deal or offer or leads to an in-app browser of the merchant of that deal/offer.

•Implementing pagination using the Paging 3 library for each of the list pages in the app.

•Using coroutines for managing background tasks.

•Using Lighthouse FPTI (PayPal library) to log analytics for instrumentation.

•Using Retrofit and GraphQL for API integration through which we follow certain schemas and queries to fetch data from the back end.

•Using GitHub for code organization, one main repository with multiples of forked repositories.

Android Senior Mobile App Developer

Boxed Wholesale Club

New York, NY April 2018 – March 2020

https://play.google.com/store/apps/details?id=com.boxed.prod HYPERLINK "https://play.google.com/store/apps/details?id=com.boxed.prod&hl=en_US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.boxed.prod&hl=en_US"hl=en_US

•Worked in a hybrid codebase with both Java and Kotlin coding while transitioning to Kotlin.

•Eliminated null point exceptions using Kotlin using Android Studio.

•Implemented Android Java coding using custom frameworks for both network and design themes.

•Refactored code to transition the existing MVP app architecture to MVVM architecture.

•Handled network data calls from JSON responses with Retrofit.

•Configured network and error code handling configurations using Monkey.

•Actively worked with the back-end team to improve the RESTful API to include new features for the Android app.

•Ensured that UI/UX teams followed Material Design best practices and guidelines.

•Implemented Material Design features of RecyclerView, ActionBar, and CardView for Android app user interface.

•Worked with asynchronous requests to the server with the Volley library.

•Used Fabric Crashlytics to track user behavior and get mobile analytics.

•Used Jenkins CI for continuous integration and testing.

•Led developers in code reviews and oversaw the development of unit tests and functional tests, using JUnit Mockito and Espresso.

•Used Retrofit and GSON to retrieve information from an internally programmed API in Android development.

•Firebase Cloud Messaging

•Created parser data for backend-controlled UI and implemented Glide library for image loading and caching.

•Utilized SQLite for data persistence and Shared Preferences for login info.

•Made asynchronous API requests using Retrofit and RxJava to accomplish consumption effectively.

Android App Developer

Humana, Inc.

Louisville, KY January 2016 – April 2018

https://play.google.com/store/apps/details?id=com.humana.myhumana

•Participated in the entire software development lifecycle from conception, through planning and to deployment to the Google Play store.

•Engaged in architecture, and design using tools for information architecture, and wireframing.

•Worked closely with UX designers to plan implementations that would deliver the best user experience.

•Effectively communicated how development efforts fit with requirements and reasons for development decisions.

•Effectively used Activities, Services, Broadcast Receivers, SQLite, and preferences Android components.

•Embedded local storage solutions such as SQLite.

•Employed unit-test code for robustness, including edge cases, and usability on the app project.

•Enhanced Android user experience with the implementation of a customized Tab Navigation.

•Enhanced the network module which communicated with the various back-end services.

•Enhanced the module that communicates with the Java Web Services with Retrofit.

•Enhanced the UI/UX with expertise in well-designed UX/UI by adding custom views and compound views. Also collaborated with designers on the Android look and feel.

•Enhanced the user experience by validating the network state before calling a web service.

•Ensure backward compatibility by using Android support libraries.

•Ensured effectiveness of SCRUM-related meetings (planning, retrospective) and discussions, assisted with project planning, and ensured deadlines were met.

•Ensured code was well-documented.

•Ensured display and on-screen rotation worked well on all devices and screens, ensuring integrity with the onSaveInstanceState and onRestoreInstanceState methods.

•Established communication with the back-end server to consume Restful API using core Android classes.

Android Mobile Application Developer

Ovia Pregnancy Tracker: Baby Due Date Countdown

Boston, MA April 2014 – December 2015

https://play.google.com/store/apps/details?id=com.ovuline.pregnancy&hl=en_US&gl=US

•Followed AGILE methodology with Test Driven Development for developing/implementing the application.

•Applied Android design patterns such as Façade, Decorator, Observer, and Singleton over an MVVM architectural pattern coding in Java.

•Worked on JUnit testing framework for testing network modules and APIs.

•Used Parcelable to serialize Java objects from Activity to Activity.

•Used RxJava to handle the communication to the web services.

•Used Retrofit and GSON alongside RxJava for easier consumption of web services.

•Contributed to project architecture and database structure while utilizing best practices in performance, stability, and scalability. and security

•Wrote algorithms to create a 'Due Date Calculator' and utilized NDK to call native C and C++ functions.

•Wrote multithread programs to download weekly pregnancy videos using DownloadManger API.

•Programmed highly efficient Java code and view layouts and the ability to diagnose performance bottlenecks.

•Used Git repositories to have the software in a version control environment.

•Reported the status of a work request run in a JobIntentService to the component that sent the request using LocalBroadcastManager.

•Worked closely with the back-end API team to fix the structure of old JSON messages and serialized JSON to the back-end server.

•Created paid version product flavor and built variants for paid customers to expose advanced features.

•Measured usage trends, uncovered issues, and analyzed behaviors using Crittercism.

•Utilized Facebook Stetho, CPU profilers, memory monitors, Services, and Android Profiler to identify issues and enhance the performance.

•Worked on Google In-app Billing and Amazon to provide checkout processing for in-app purchases to buy subscriptions.

•Incorporated Crashlytics to deliver real-time, detailed crash reports with TeamCity CI.

Android Developer

IfWe, Inc.

San Francisco, CA December 2011 – April 2014

https://play.google.com/store/apps/details?id=com.couchsurfing.mobile.android

•Worked as part of a small team and worked one-on-one with stakeholders.

•Collaborated in a Waterfall, rigid, linear progress through the product lifecycle.

•Worked to achieve the goals and vision articulated by product management stakeholders and the management chain.

•Adhered to established Agile development processes, procedures, and standards.

•Utilized the Android-Job utility library to run jobs delayed in the background by creating JobRequest with the corresponding builder class and scheduled requests with the JobManager.

•Worked on JSoup Java HTML Parser library to use DOM, CSS, and JQuery-like methods implemented the WHATWG HTML5 specification, and parsed HTML to the same DOM.

•Utilized advanced functions of the Java software development kit (SDK) to optimize the flexibility of apps for different mobile devices.

•Introduced Observable Custom Elements that took advantage of live data into the codebase.

•Worked in Pair Programming strategy to reduce the learning curve on the customs process and custom SDK.

•Worked on custom markers, updated Google Maps v2 to v3, and geo-location-based features to search for the nearest match.

•Improved the user experience, real-time app Analytics, and Conversion Funnels using Appsee SDK.

•Utilized Facebook Stetho, Charles Proxy API, Memory Profiler, HierarchyViewer, and Android Profiler to identify issues and enhance performance.

•Created module to code the user-story 'make a quick connection with ladies and guys nearby'.

Education

Bachelor of Science - Computer Science - San Francisco State University



Contact this candidate