Post Job Free
Sign in

Sr Android Engineer

Location:
Charlotte, NC
Posted:
November 03, 2022

Contact this candidate

Resume:

Donte Rogers

Senior Android Developer

Phone: 980-***-****

Email: **************@*****.***

Summary

8+ years of experience in Android Mobile App Development.

* ********* **** ** *** Google Play Store.

Experience working on Agile development teams using Scrum processes.

Experience building Android apps from scratch as well as revision, refactoring and transitioning architecture (VIPER, MVP, MVVM) and code base Java to Kotlin and Android versions.

Apply Java patterns Singleton, Facade, Factory, Builder, Adapter, Proxy.

Solid understanding of Android app development lifecycle, including Google Play and Amazon App Store compliance policies and submissions requirements.

Experience in Git for code base and version control (GIT, GitHub, GitLab, Bitbucket).

Use Android frameworks and APIs to efficiently load data and update databases: Loaders, AsyncTaskLoader and WorkManager.

Well versed in Android third-party libraries such as Volley, Retrofit, Picasso, YouTube, Location API, Maps View, Google View, Google Maps, PayPal, Stripe, Android pay, QR Droid, Butterknife, Dagger, Google Wallet payments, Android Annotations.

Skilled in consumption of RESTful web services (REST, HTTP-based, XML, SOAP, JSON, etc.) and use of Retrofit, Volley, AsyncTask Android back-end communications.

Practical implementation of Android Life Cycle, Fragments, Intents, and threads on Android; binding services, implicit and explicit Intents, background processes, sync adapters, activity, activities for Result, WebView, ImageView, TextView, RecyclerView, ListView, and Object-Oriented design and programming.

Hands-on implementing user interfaces by using Custom Views, ListView, Relative Layout, Linear Layout and Constraint Layout.

Implement the User Interface with a TabLayout and a ViewPager using multiple Fragments.

Leverage beautiful cleaner interface, plus design changes using Android material designs tools like CardView, Toolbar, RecyclerView, animations properties and support libraries for this Android mobile app.

Improveperformance and UX of several modules of the local Content management system.

Technical Skills

Development Methodologies: Agile, Scrum, Pair Programming, Code Review, TDD.

Development Environments/Frameworks:Android Studio, Eclipse,Robotium test framework, Roboelectric test framework, Jenkins, JUnit unit testing, okHTTP.

Architecture and Design Patterns:MVVM (Model, View, ViewModel), MVP (Model View Presenter), REST, Singleton.

Multi-Media: ExoPlayer,VideoView.

Programming Languages:Kotlin, Java.

Databases: NoSQL, Realtime database.

Backend Integration: APIs, RESTful Web Services, JSON, GSON.

Issue Tracking: Jira.

Version Control:Git, GitHub, GitLab.

Continuous Integration Platforms:Circle-CI.

External Third-Party Libraires, Frameworks, and APIs: JetPack, Dagger2, RxJava, Coroutines.

Android Software Development Tools and Libraries:SDK, Hugo, Otto, Sketch design, Airship push notifications, LeakCanary memory leak detection, Doze Mode, EventBus, Caligraphy, Firebase Crashlytics crash reporter, Native Development Kit (NDK), Extensions, BrainTree, IntentService, Data Class, Parcelor, WildFly, Push, Mockito, Mixpanel business analytics, Loaders, RESTful Web Services, Builder, Job Scheduler, Room, AES/Cipher, Volley, Factory, Material Dialogs, MPAndroidChart, Bluetooth Low Energy (BLE), Notifications, Chromecast, Services, Dexter, Push Notifications, Espresso, AndroidAnnotation, Android P, Messaging, Adapter, Handlers, Dependency Injection.

Experience

04/2022 – Present

Senior Android App Developer

Ally Banking &, Charlotte, NC

https://play.google.com/store/apps/details?id=com.ally.MobileBanking

Project Synopsis: To be a relentless ally for your financial well-being, a leader in digital financial services and overall “Do right by our customers”. Manage a queue/list of sprint tickets, assist Android mobile team with sprint tickets, fix bugs, resolve QA testing defects/bugs, and ultimately learn newest features in Android and implement these new skills in the project where developers see any areas of improvement needed to be

made or can be suggested.

Created UI foundation for a new native workflow in Android Studio

Collaborated with Android team lead to create ticket branch

Used Gitlab to create merge request for sprint ticket resolution

Resolved QA sprint defects using Jira, Android Studio, Gitlab, and Bitbucket in unison

Used Zoom meetings for daily standup, collaborate for sprint tickets and any blockers

Used Outlook and Zoom to schedule meetings and collaborate with developers

Created backend functionality for UI in Android Studio

Used Slack to tackle backend structure design with other developers

Created custom View class in Android Studio to be reusable to all developers

Used Junit to verify/validate unit test backend functionality

Used Junit to assert expected and actual API calls equal

Used MockK to mock injected resources and stub functionality

Cache data for faster page loading, response retrieval after successful retrieval

Merged bugfix branch codebase with develop branch codebase

Used Invision to see the mock up designs for app screens

Used Miradore MDM to automatically deploy certificates to managed device

Utilized Vysor to access files and mirror test device on laptop

Used Confluence to document issue progress, update helpful knowledge articles, leave tips for future developers

Utilized Sourcetree to manage remote Gitlab repo(s) with a GUI

Used the following:

oAndroid File Transfer to transfer files from MacBook Pro to Pixel 4

oSlack huddles for quicker conversation in Slack

oServiceNow to create incidents to assign to IT departments

oMicrosoft Teams for further collaboration with external teams

oBitbucket to provide testable app build(s) for QA

oPostman to verify API call responses

1/2020 – 03/2022

Senior Android App Developer

TUBI–San Francisco, CA

https://play.google.com/store/apps/details?id=com.tubitv&hl=en_CA&gl=US

Watch thousands of hit movies and TV series for free. Tubi is 100% legal unlimited streaming, with no credit cards and no subscription required. Choose what you want to watch, when you want to watch it, with fewer ads than regular TV. Tubi is the largest free streaming service featuring award-winning movies and TV series.

Worked closely with front end product managers, delivery managers, solutions architects, and other front end and back-end software developers.

Applied a MVVM architecture for the application for effective modularity and module decoupling.

Worked in Android Studio and programmed in Kotlin.

Migrated from RxJava multithreading to Coroutines and Kotlin flow.

Transitioned back-end communications from OKHttp to Retrofit with Kotlin Coroutines lightweight threading.

Collaborated with Material Design UI/UX implementations with CardViews, RecyclerView and TabLayout navigation.

Applied WebRTC/Pexip for real-time video communication over the internet.

Used LiveData builder to combine Kotlin coroutines with LiveData Coroutines Asynchronous Flow to implement async sequence, or stream, of values in MVVM architecture.

Debugged and fixed access to Bluetooth settings, network connectivity, Wi-Fi Multicast reception, and connect and disconnect from Wi-F.

Integrated multimedia material and live streaming video, decoding, and playback

Handled web services calls for information and content data retrieval with Retrofit.

Added a user configuration setting to persist and switch the network usage.

Improved the bit rate over network changes with the Connectivity Manager.

Worked on unit tests extensively following TDD best practices, using Junit, Mockito and Espresso for UI testing in the development process.

Used GitHub private repositories with standard workflows for version control.

Worked with Jenkins CI server for continuous integration and followed Test-Driven Development (TDD) methods.

Implemented Firebase for a real-time database, and Firebase Push Notifications.

Used Android JetPack’sLiveData to simplify data updates across the lifecycle and configuration changes for the UI.

02/2018 – 12/2019

Senior Android Mobile App Developer

Six Flags - Grand Prairie, TX

https://play.google.com/store/apps/details?id=com.sixflags.android&hl=en_CA&gl=US

The official Six Flags app allows you to make the most of your next visit to any of the Six Flags parks in North America. Whether you’re visiting us for the day, or planning for season-long thrills, we have something for everyone!

Attended Daily standup status meetings, managed and estimated stories, and kept Jira/Pivotal tracker updated.

Participated in bi-weekly retrospective meetings with the mobile team to discuss issues and brainstorm remedies.

Helped architect and implement mobile app food ordering system and adding it to the existing Six Flags Android application to be able to order food to any restaurant location in the parks.

Updated the design of the application to modern material design standards and architecture to help integrate the new food ordering feature.

Improved app’s stability, UI responsiveness, and overall performance by switching from old code handling logic in fragments into a MVVM architecture.

Converted old Java code into Kotlin for easier handling with new concurrency Coroutine frameworks.

Wrote all new code in Kotlin and make use of coroutines to easily run concurrent workloads to keep the UI responsive and code readable.

Wrote Kotlin extensions for commonly used code to reuse it and avoid repeating it everywhere it’s needed, including loading images into ImageViews, requesting permissions, write/read from shared preferences, among others.

Switched from Google Maps to Mapbox for a better user experience.

Implemented Amazon Cognito technologies to create Six Flags account to keep track of user data such as their passes and purchase history.

Implemented new designs using InVision prototype to obtain the assets and optimized them for Android.

Provided feedback about the design process for all screens for food ordering and ways to reduce number of taps needed.

Improved the UI/UX for the Six Flags memberships and season dining passes,enabling the user to better apply the discounts they have.

Used Crashlytics to identify problematic parts of the application and fix common crashes.

Migrated project to AndroidX to use the newest JetPack libraries.

Updated from old Apache Http call handling to Retrofit + Kotlin coroutines.

Migrated database from DBFlow to Room.

Modified the existing android fragment views to accommodate for notch phones and use as much space as possible.

Used databinding to reduce code in fragments and LiveData to handle lifecycle data to only update the UI when it’s available.

Upgraded Analytics SDK from Google Analytics with Tag manager to Firebase analytics.

Implemented push notifications features with Firebase’s Cloud Messaging Service.

01/2016 – 02/2018

Android App Developer

Marriott International – Dallas, TX

https://play.google.com/store/apps/details?id=com.marriott.mrt&hl=en_US

The Marriott Bonvoy App makes good travel easy, with features that let you unlock your stay at more than 7,000 hotels worldwide. Wherever you go, the app is with you, giving you easy access to everything you need for your trip.

Worked in a highly collaborative, cross-functional, and Agile environment.

Helped dev project team with story elaboration, estimation, analysis, design, programming, unit/integration testing and code debugging leveraging the Scrum framework and XP practices.

Worked with backend team to collaborate about server problems and how to fix them.

Handled proper implementation of MVVM architecture design pattern in the application using Google Architectural components.

Programmed code in Java and Kotlin.

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

Refactored the code from using AsyncTask to using RxJava for more robust error handling on asynchronous operations.

Handled fragment retention to ensure data integrity on screen rotations.

Implemented lightweight image processing by using Picasso.

Utilized layout qualifiers to allow for multiple screen resolution support.

Implemented unit testing using Mockito and JUnit.

Analyzed and troubleshooted the application using tools like the Android Profiler, DDMS, debugger, and logging.

Used Dagger2 for dependency injection.

Parsed JSON results from web resources into POJOs using third-party libraries like GSON.

Implemented a background service for updating locally stored JSONs.

Utilized Retrofit to make a parent callback interface to automatically handle the error function, caching and pagination to API.

Introduced type-safety for accessing views and made the codebase shorter, easier to read and maintain, by refactoring the code to utilize databinding.

08/2014 – 12/2015

Android Mobile App Developer

Owens Corning – Toledo, OH

https://play.google.com/store/apps/details?id=com.owenscorning.roofingguide

Improve your curb appeal and protect your home. It takes more than just shingles to protect your home. The Total Protection Roofing System™ is made up of all the essential Owens Corning™ Roofing components and layers that are designed to work together to maximize your roof’s performance and durability. Step through this interactive guide to see the different layers necessary to protect your home from the top down. Working together to help protect and enhance your home.

Worked as part of Agile Scrum team and filled various Scrum roles throughout project development cycle.

Attended daily Scrum meetings to track app development progress.

Contributed to bi-weekly Sprints.

Built app in Eclipse IDE environment.

Utilized MVP in the Android app to design the app structure.

Wrote, clean, concise, and maintainable code using Android libraries and core Java.

Used support libraries to ensure backward compatibility with older android versions.

Supported multiple screen resolutions to provide proper resizing across multiple devices.

Added the Parcelable interface for marshalling and unmarshalling setter and getter classes.

Implemented Crashlytics to bug and app crashes reporting.

Designed and developed functionality between user’s interaction and delegated it back to server using RESTful web services and JSON parsing.

Worked on the use of Paypal, Stripe and Google Android Pay.

Configured a JIRA instance to handle mass ticketing and bug tracking.

Used fragments and tabs to improve the navigation user experience.

Parsed JSON files, objects, and arrays using a third-party converter included in the Retrofit documentation.

Helped IT with backups and installation of software updates.

Used SVN as central repository for version control.

Included support for animating rotation, translation, alpha, and scaling using NineOldAndroids.

Implemented MixPanel for push notifications.

03/2013 – 08/2014

AndroidDeveloper

Ingo –Alpharetta, GA

https://play.google.com/store/apps/details?id=com.chexar.ingo.android&hl=en_CA&gl=US

With the Ingo® Money App, cash paychecks, business checks, personal checks—almost any type of check—anytime, anywhere. Get your money in minutes in your bank, prepaid card and PayPal accounts. Choose to pay credit card bills, buy an Amazon.com Gift Card* or split a check and fund multiple accounts.

Assigned to a dev team that practiced Agile/Iterative development processes (XP, SCRUM, etc.).

Coordinated with international and offshore development teams.

Gathered requirements and wrote design specifications as blueprints for hands-on technical development work.

Worked on Commons IO library to implement components to monitor file system events, input/output streams, and writer/reader implementations, and other IO functionality.

Included NineOldAndroids library to include support for animating rotation, translation, alpha, and scale on platforms prior to Honeycomb.

Refined Google Cloud Messaging (GCM) service to send data from servers to applications.

Fixed issues with device cameras.

Incorporated StickyListHeaders library to integrate section headers in ListView.

Worked on Applause SDK to optimize build distribution.

Implemented Paging indicator widgets compatible with the ViewPager from the Android Support Library and ActionBarSherlock.

Worked with LRU Cache for images to increase the performance of ListView scrolling.

Education

Bachelor of Science - Computer Science

The University of Texas at San Antonio



Contact this candidate