Post Job Free

Resume

Sign in

Senior Android Developer

Location:
Rochester, NY
Posted:
October 19, 2022

Contact this candidate

Resume:

Ryan Gray

Ryan Gray - Senior Android Developer

Rochester, NY 14610

adrm2q@r.postjobfree.com

+1-585-***-****

• 6+ years’ Android Mobile App Development experience. • 5 Android Mobile Apps published to Google Play Store. • Skilled coder in Java and Kotlin. • Android development experience using MVP and MVVM architecture patterns. • Skilled in the use of design patterns such as Singleton, Observer, Reactor, Scheduler, Block Chain, Mediator. • Use of JetPack libraries, including Room, VIewModels, LIveData, and Download Manager. • Demonstrated skill programming in Kotlin and Java and migrating Java code into Kotlin. • Experienced with RXKotlin, RXJava, RxAndroid, and RxBluetooth frameworks. • Experience with Android performance tuning and crash reporting applications. • Experience developing production code in a business environment and configuring CI/CD Pipeline. • Hands on with architectures MVVM, MVP, Clean Code, and MVI. • Knowledge or experience of payment gateways/systems. • Front-end development implementing the latest Material Design guidelines, animations and UXoptimization, Fragments, Layouts, Animations, Compound Views, Custom Views, ListView and RecyclerView. • Experience developing Android apps for multimedia display with extensive user interfacedevelopment. • Create responsive UI for various screen resolutions. • Back-end development experience using Retrofit and RxJava and OkHTTP to consume RESTful Web Services. • Experience consuming web services and HTTP REST interaction with JSON and XML. • Perform testing procedures with tools such as Mockito, Espresso, Robolectric, Mockk, Robotium, etc. • Hands-on with version control tools such as GitHub, SVN, and more. • Performed numerous code reviews and code refactorings using GIT and the tools provided byAndroid Studio. • Experience in planning, designing, developing and implementing successful large-scale mobileprojects from client requirements to completion. • Implemented Dependency Injection frameworks to optimize the unit testing and mocking processes(Dagger, Butter Knife, RoboGuice).

Willing to relocate: Anywhere

Work Experience

Senior Android Application Software DeveloperWegmans - Rochester, NY

June 2021 to Present

https://play.google.com/store/apps/details?id=com.wegmans.wegmansapp&hl=en_CA&gl=USMake grocery shopping easier with the Wegmans app! We offer delivery, curbside pickup and in-storeshopping for all the ways you shop. Build your shopping list, easily find items by aisle in your local store,browse hundreds of delicious recipes, and get personal recommendations for meals and products basedon what you purchase most. Plus, save on items across the store with your Shoppers Club digital coupons!· Programmed in Java and Kotlin.· Generated build in Android Studio IDE with Android SDK.· Used combination architecture of MVP and MVVM which worked well for the modularAndroid code base.· Performed data binding with Kotlin.· Performed network API calls and responses using Retrofit with Coroutines to support threading.· Refactored code from Java to Kotlin allowed for eliminating null point exception and improved efficiencyby converting Java arrays using Kotlin.· Implemented JetPack LiveData to display most current data locally available and to simplify datamanagement during lifecycle changes.· Implemented two-way data binding to communicate user input to ViewModels which updated localizeddatabases.· Integrated third-party SDK for payment authentication.· Used Charles proxy to trace/debug network calls.· Handled service call errors and improved connection with back-end.· Wrote Unit test cases using JUnit· Performed bug fixes to improve Android app general performance.· Created and ran unit and integration tests with Espresso, Mockito, andRobo electric.· Built the application to support multiple screen sizes over various Android devices through qualifiersand fragments.· Configured private GitHub as a code repository for the Android development team.· Configured the continuous integration process with a Jenkins instance hosted on a private server.· Connected the app to Twitter, Instagram, and Facebook, by integrating theirSDKs.

Android Application Software DeveloperAvis Car Rental - Parsippany, NJ

March 2020 to June 2021

https://play.google.com/store/apps/details?id=com.avis.androidapp&hl=enNeed to rent a car on the go? The Avis Car Rental app has you covered. Exclusive to the Avis app, AvisPreferred members gain access to all features as well as exchanging or upgrading your car upon arrivingat the rental location, quickly returning your car, locking and unlocking your car and more real-timerental features. Find your nearest Avis Car Rental locations, hours of operation, addresses and phonenumbers at any time.· Developed the Android app in Java using Android Studio.· Built app on MVVM architectural base.

· Applied design patterns Singleton, Façade, and Abstract Factory.· Utilized JetPack Slices and Fragments in UI elements and composition.· Programmed features using Kotlin language using multiplatform feature, sealed classes, extensionfunctions and coroutines.· Integrated Leanplum SDK for push notifications, send customized messages, track events and in-appA/B testing.· Added JetPack ViewModel - to manage UI related data in a lifecycle conscious way.· Managed Android background jobs using JetPack WorkManager.· Followed Agile Scrum process with daily Scrum, Sprint meetings and I helped assign tasks and followedup on backlog and issue tasks to make sure they were completed.· Managed consumption of RESTful Web Services with Retrofit and RxJava, managing back-end threadingand also parsing of JSON objects with Moshi.· Worked in a Test-Driven Development environment using GitHub repository for version control andBitrise.io for continuous integration.· Oversaw Android app testing and replaced older testing framework with Espresso automated testing.· Implemented improvements in performance and maintainability through AndroidJetPack components.· Added JetPack Room over SQLite for a more robust database with data persistence.

Android Application DeveloperCitizen’s Bank - Providence, RI

November 2018 to March 2020

https://play.google.com/store/apps/details?id=com.citizensbank.androidapp&hl=en_CA&gl=USGet ready to manage your money – anytime, anywhere – from the convenience of your mobile device.Manage Accounts, See up-to-date balances and account activity.Freeze and unfreeze debit cards.· Followed the Test-Driven Development (TDD) approach while developing the app.· Worked with product and user experience teams to support multiple screen resolutions on multipleAndroid devices.· Used SharedPreferences to store user preferences.· Designed the URIs needed to access and modify the exported Content Provider data.· Handled code sessions and inactivity management through internal timers and automatic logout.· Added security by encrypting static and dynamic keys and sensitive application data with white-boxcryptography using Arxan Key and Data Protection SDK.· Implemented Open Bank API to send payments from bank account, access user’s list of accounts andinstant refunds.· Refactored code to transition the existing MVP app architecture to MVVM architecture.· Applied design patterns Singleton, Proxy, Observer, and Façade.· Used WebView to render some HTML and JavaScript content.· Created Material Design layouts with different animations optimized for the ultimate User Experience.· Implemented the cipher method for the storage of sensitive data such as passwords within the Androidapplication.· Used AsyncTasks hosted in Fragments to handle the network information lookup.· Implemented multithreading communication using the built-in Android frameworks like AsyncTasks andHandlers.· Applied solid relational DBMS skills using MySQL, PostgreSQL and other DBMS products.· Added Broadcast Receiver logic to listen for events that can trigger a local database update.· Consumed REST API to display user history on the user interface.

· Developed test cases using JUnit and tested UI using Espresso.· Implemented dependency injection natively in Java for object references.· Implemented push notifications to alert users to save by creating notifications natively with notificationbuilder.

Android App DeveloperKohl’s - Menomonee Falls, WI

November 2017 to November 2018

https://play.google.com/store/apps/details?id=com.kohls.mcommerce.opal&hl=en_CA&gl=USGet online shopping deals, discounts and rewards with the Kohl’s app! From fashion to beauty, homefurniture, clothing, shoes, electronics and more, you can access amazing shopping deals and manageyour Kohl’s account on the go. Discounts, coupons and rewards make the Kohl’s app your go-to onlineshopping tool. It’s packed with features to help you find the best deals, manage payments easily, andbrowse online and in store.· Provided architectural inputs, daily updates, sorting open issues that involve issues related to design,development and implementation.· Consumed REST services, retrieved JSON responses and parsed them to get required information.· Implemented AsyncTask for background operations.· Implemented an array of backlogged UI elements.· Designed screens related to Categories and Detail description for Tablet for both 7 inch and 10-inchdevices by customizing views as per mockup.· Created Master-Detail Interface for tablet implementation.· Designed screens related to Front Page and Categories.· Involved in checking the network status before making any network call.· Implemented material design features such as Recycler Views and Card Views· Developed Custom Views, Compound Views, and various layouts to construct the complex but user-friendly user interface· Utilized SQLite database to store data with ORMLite for data model mapping· Documented in Javadoc and Confluence and used Atlassian stack for project including JIRA for trackinguser stories and issues.· Included dependency injection with Dagger 2.· Utilized navigation drawer to provide quick and easy access to the menu items.· Utilized Google maps to provide directions to stores.

Android Mobile App DeveloperSoutheastern Pennsylvania Transportation Authority - Philadelphia, PA

February 2016 to November 2017

https://play.google.com/store/apps/details?id=org.septa.android.app&hl=en&gl=USThe official SEPTA app brings our entire transit network directly to you with convenient access to scheduleinformation, real-time updates, trip planning, fare options, social media connections, and CustomerService. This new app is perfect for customers on the go with your best SEPTA travel options right atyour fingertips.· Worked with Android Device Monitor for monitoring CPU load, heap size, and memory usage.· Produced testing suites using Espresso and Mockito.· Used Volley to consume RESTful web services.· Utilized Services for background work in the Android app.· Made extensive use of Fragments to enhance user interface (UI/UX) experience.· Applied object-oriented (OO) design coding practices.

· Worked with efficient and clean code integration and backup using Jenkins andGIT.· Collaborated with the product team to identify, prioritize, and document detailed Android mobile productrequirements.· Implemented EventBus to facilitate the communication between Android app processes.· Used Android Annotations for dependency injection.· Used APIs from different API levels to support backward compatibility.· Used Google Maps API to display routes and far until reaching stop.· Built new features to enhance the UX for consumers.

Education

Bachelor of Arts in Mathematics Computer Science

Suny Purchase

Skills

MVVM

MVP

MVC

REST

Singleton. Builder

Observer

Façade

Decorator Programming Languages: Kotlin

Java

C# Tools: Android SDK

Android Studio

Eclipse IDE

Gradle

MySQL Workbench

NDK Testing/Debugging Tools: Leak Canary

Espresso

Robotium

Mockito

Logcat

UIAutomator

Monkeyrunner Traceview

Hierarchy Viewer

DDMS

TestFlight

HockeyApp

Crashlytics

Fabric

Calabash

Cucumber

SonarQube

Klint

TestCloud Dependency Injection: Butterknife

Dagger2

Android Annotations

RoboGuice

Hilt

Koin Google API: Google Maps

Google Places API

Google Play services

Google Invites/Pay

Play services

Firebase Databases: MySQL

SQLite

Realm

ORMLite

Room Continuous Integration: Circle CI

Travis CI

Jenkins Methodologies: Agile

Scrum

XP

Waterfall

TDD

Kanban Cloud Messaging: Firebase

UrbanAirship

Pushwosh

MixPanel

GCM Android and Third-Party: JetPack

Certificate Pinning

RxJava

RxKotlin

Espresso

Fresco

Moshi

MonkeyRunner

Bluetooth Low Energy

ExoPlayer

SyncAdapters

Volley

IcePick

Circle-CI

Samsung SDK

Glide

VidEffects

JUnit

Ion

GSON

ORMLite

Push Notifications

Kickflip

SpongyCastle

Parse

Flurry

Twitter

FloatingActionButton

UIautomator

Parceler

Dependency Injection

EventBus

Dagger

Crashlytics

MixPanel

Material Dialogs

RxCache

Retrofit

Loaders

Jitpack

JobScheduler

ParallaxPager

XmlPullParser

Google Cloud Messaging

LeakCanary Architectures and Design Patterns: MVVM

MVP

MVC

REST

Singleton. Builder

Observer



Contact this candidate