Post Job Free

Resume

Sign in

Senior Android Developer

Location:
San Francisco, CA, 94103
Posted:
September 06, 2023

Contact this candidate

Resume:

Chimezie Orji-Unegbu

Senior Android Developer

Contact: 415-***-****

Email: adzh3i@r.postjobfree.com

PROFILE:

•Android development experience: 12+ years with 7 apps on Play Store.

•Passionate, enthusiastic, and strong communicator

•Experience building Android apps from scratch as well as revision, refactoring, and transitioning architecture (MVC, MVP, MVVM) and codebase (Java to Kotlin and Android versions).

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

•Experience working on Agile development teams using Scrum processes.

•Has expertise in Kotlin, Android, Java, Rxjava, Dagger, Retrofit, Agile, Jira

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

•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 team communications.

•Hands-on 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.

•Skilled in using design tools like CardView, Toolbar, RecyclerView, animations properties, and support libraries for this Android mobile app.

•Experience with Android’s Animation Framework and Material design components.

•Improved the performance and UX of several modules of the local Content management system.

•Work with Shared Preferences, Cipher, Certificate Pinning, TrustManager, Bouncy Castle, Spongy Castle, SQLCipher, KeyChain, and Key Store.

•Knowledgeable of the latest analytics tools for mobile applications such as Google Analytics, Localytics, Mixpanel, Answers, Flurry, Firebase Crashlytics, NewRelic, etc.

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

•Used Android frameworks and APIs to efficiently load data and update databases: Loaders, AsyncTaskLoader, and SyncAdapters.

•Skilled in leadership and able to work well with all people, mentoring developers, working with project managers, stakeholders, and cross-functional team members.

•Offshore/Remote team collaboration and management experience

•Exposure to continuous integration and continuous delivery practices, especially in an environment of weekly (or even more frequent) releases to production

TECHNICAL SKILLS

•Languages: Java, Kotlin, XML, Groovy, C++, HTML, CSS, JavaScript

•Databases: Room, MySQL, SQLite, Firebase Realtime Database

•IDE: Eclipse, Android Studio, IntelliJ

•Multimedia: Glide, Picasso, ExoPlayer, MediaPlayer

•Debugging: Leak Canary, Profiler

•Development: TDD, BDD, Kanban, JIRA, Continuous Integration, Git, GitHub

•Project Methodologies: Agile, Scrum, Waterfall

•Android Dev: Espresso, Moshi, Retrofit, Junit, Glide, RxJava, GSON, MVVM, MVC, MVP, Room, Dagger2, Jenkins, Android Profiler, Coroutines, ConstraintLayouts, Jetpack Components, ViewModel, LiveData, Data Binding, View Binding, RecyclerView, Services, Google Maps API, Mockito, Jetpack Compose

PROFESSIONAL EXPERIENCE:

Fanatics Bet, San Francisco, CA

Senior Android Developer

August 2022 – Present

App: Bet Fanatics – Yet to be launched

Summary: Bet Fanatics is primarily a betting app where users create an account and have a wallet where funds are withdrawn to place bets and deposit earnings alike.

It is a WIP app being built from scratch and the expected launch date is March 2023. The live data is being housed and provided by Amelco based in the UK through an API. I designed several screens using jetpack compose, migrated several parts of the architecture from the traditional MVVM layers to Kotlin Multi-Platform (KMP), and hooked data from mock to network live data to mention a few

App Description: The app is written in 100% Kotlin using Kotlin Multi-Platform (KMP) implementation which was challenging to me in the beginning being my first exposure to such technology. Having paid the desired attention and understood the benefits in terms of its compatibility with both Android and IOS, it has become a go-to technology for me. It is a multi-module app, and all screens are in jetpack composition.

•Worked with an Agile/Scrum team to deliver high-quality solutions that conformed to client specifications.

•Programmed in Kotlin as the main code language for the Android application.

•Implemented newer features in Kotlin and migrated some existing Java code to Kotlin.

•Implemented Android Support Libraries for backward compatibility.

•Enabled notifications with Google Cloud Messaging.

•Participate in daily stand-ups and sprint meetings.

•Maintained Android app quality in development through a continuous integration process using GitLab.

•Designed several screens in jetpack composition. Jetpack components including navigation

•Applied Android JetPack components such as Room, WorkManager, ViewModel, and LiveData.

•Utilized two-way data binding to communicate between ViewModel and XML files.

•Performed unit and system tests with JUnit, Mockito, and Espresso.

•Utilized Cucumber for BDD (Behaviour Driven Development).

•Applied Dagger 2 for dependency injection.

•Configured Git server as the software version control tool.

•Implemented Picture-in-Picture (PiP) functionality.

•Coded Bluetooth BLE services to scan devices and communicate attributes between them using the RxAndroidBLE library.

•Used JIRA for tracking stories and the story progression through the Development, QA (Quality Assurance), and Acceptance Testing.

•Pair programmed to complete user stories like track subscriptions, and spending analytics and connect all bank, and credit card accounts using checkout SDK, Emma RESTful API, and NDK.

•Used custom views to easily re-use UI components built to UI/UX design specifications.

•Applied Dagger 2 as the library for dependency injection for readability and clean code.

•Created API layer connections for several endpoints.

•Refactored API layers to KMP connections

•Addressed several bugs as they arose and were assigned to me.

•Used Retrofit, Coroutines, and data binding in MVVM clean-code architecture.

•Collaborated with the web application development team to ensure proper integration between the Android mobile application and the web application.

•Mentored junior Android developers. Took on additional tasks when my bandwidth permitted.

•Was always a slack away for peer programming to assist any member in need.

•Introduced the implementation of a responsive dimension where the dimension is proportionate to screen size and not static.

Lowes, Atlanta, GA

Senior Android Developer

January 2022 – August 2022

App: Internal app not published on Play Store. The app is used internally by associates who manage and track customers' online orders.

•Worked with a team that followed an Agile/Scrum project delivery methodology with daily stand-ups using tools such as Jira to assist in the development process.

•Applied build work to an MVVM clean code architectural pattern and programmed in a pure Kotlin codebase for the project.

•Applied technical work on functions and features of an app that works with online orders received via Zebra hand-held devices. Each order is claimed by an associate, staged subject to availability, batched if orders are more than one, packaged if required, placed in a locker if qualifies or in store if otherwise, categorized as pickup or delivery as per customer’s requirement, and flagged Ready for Customer when it is available for pickup.

•Included a time counter to inform associates of the time remaining for an order to be picked up and when the same order was overdue.

•Implemented feature flags like locker recommendations and substitutions to enable some store functionalities to work on the test app.

•Implemented several analytics features to enable management to track module usage as requested.

•Assisted colleagues with their tickets as the need arose.

•Implemented analytics using the Firebase analytics framework to track user behavior in the app.

•Used Firebase App Distribution for getting applications to testers and teams.

•Use Jira to manage the project backlog and task assignment and tracking.

•Worked with testers and helped write Functional, Unit, and Instrument tests using Mockito and Espresso.

•Increased the unit test coverage for all the modules

•Applied Jacoco tool to ensure complete code coverage review.

•Resolved some production issues related to print label function issues and the app crashing when clicking on a few open orders.

•Interacted with the Jetpack library.

•Used Hilt for dependency Injection.

Abbott Technologies, Atlanta, GA

Senior Android Application Developer

May 2021 – January 2022

Keto app: In production; not yet released to Play Store.

Keto app is a mobile application used to measure and monitor the ketosis level in the blood of individuals. The physical device, a sensor that collects blood samples, is paired with the mobile device, via Bluetooth, where the keto app is installed. The app interprets the blood sample through some mathematical algorithm produces the result in an MP chat and is displayed on the mobile device screen.

•Built app using Kotlin programming language, MVVM architecture, and the latest UI technology – Jetpack Compose.

•Implemented a nine-page onboarding screen using Jetpack Compose.

•Created a new Keto app repository from the company's parent proprietary repository.

•Implemented MP chart framework used to display the ketosis graph.

•Worked on an Agile dev team and served as a key member responsible for planning, direction, and development.

•Refactored dependency injection from Dagger to Hilt dagger to conform with Kotlin best practices.

•Refactored some of the code from LiveData to Flows, Stateflow, etc. as applicable.

•Implemented the UI test framework using Mockito.

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

•Used Jira to manage the project backlog and task assignment and tracking.

•Used Bitbucket to manage Git repositories and versioning control.

•Applied Jetpack libraries.

Humana Pharmacy, Louisville, KY

Senior Android Developer

November 2020 – May 2021

https://play.google.com/store/apps/details?id=com.humana.pharmacy HYPERLINK "https://play.google.com/store/apps/details?id=com.humana.pharmacy&hl=en_CA&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.humana.pharmacy&hl=en_CA&gl=US"hl=en_CA HYPERLINK "https://play.google.com/store/apps/details?id=com.humana.pharmacy&hl=en_CA&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.humana.pharmacy&hl=en_CA&gl=US"gl=US

(Rating: 4.6, Installs: 100000+)

Humana Pharmacy is a medication management app where registered members can manage their prescriptions using the app to place orders and review order status, order refills, track shipments, and transfer prescriptions from an existing pharmacy to Humana, among other functions. A dedicated Account Dashboard allows users to manage their credit cards for effective payment, alter delivery information, etc.

I worked on a 15-member team (3 in Android, 3 in iOS, 3 in Web, 3 in Testing, 1 Scrum Master, 1 Material Design Master, 1 Story Grooming Head) Agile/Scrum team. Highlights of my work on the project include:

•Producing the latest build versions for production and publishing to the Google Play Store.

•Collaborating with the chief architect in designing the data transfer flow from the server to the UI and vice versa.

•Programming/configuring optional biometric login in addition to the regular username and password style.

•Documenting challenges and observations for every user story assigned to me, and then producing demos of every story I completed and presenting the demos to the scrum master and the material design manager for amendments before final presentation to the wider group.

•Debugging issues as they arose from the QA team, resolving the problems, and upon approval creating the build for publishing.

•Refactoring several Kotlin codes written in classic Java style to much simpler Lambda expressions thus generating lighter APK.

•Introducing Kotlin extension functions to efficiently re-use existing codes thereby reducing code duplication to its bare minimum.

•Preparing loading views and service down screens as data is not persistent like in Live Data Technology.

•Collaborating with the chief architect, test teams offshore, and my team members in Android to accomplish assigned tasks.

•Applied SOAP web services, NDK, and microservices to create a full E2E feature.

•Designing my UI with constraint layout and conformation with the theme of the app.

•Recommending that pre-effective members be dedicated to a screen, and then designing the screen.

•Recommending that alarm reminders be implemented with prescriptions so that users are automatically notified, and then designing and implementing the recommended function.

•Recommending that full-screen confirmation activity screens be replaced with pop-up dialogs for memory efficiency.

•Applying my hands-on technical work to the technologies Kotlin, Async Callback, JUnit, Mockito, MVC Architecture, and Glide.

NBC News, Seattle, WA

Senior Android Developer

June 2019 – November 2020

https://play.google.com/store/apps/details?id=com.zumobi.msnbc

(Rating: 4.2, Installs: 5000000+)

Using the NBC News app gives you breaking news, the latest headlines, and live 24-hour news when you need it. Get in-depth coverage of US news and world news with exclusive reporting, analysis, and perspectives from award-winning journalists. Watch live videos and livestream events in politics, national news, and international news. Enjoy your favorite NBC News and MSNBC programs all in one place.

•Refactored views to utilize constraint layout to make the UI more responsive to different screen sizes and resolutions.

•Converted the data model, API communication service layer, and view UI layer to Kotlin programming language and JetPack library.

•Implemented data classes to replace Java Pojo classes.

•Used the Data Binding Library to support two-way data binding to receive data changes to a property and listen to user updates to that property at the same time.

•Created custom and compound views and replaced Relative Layouts with Constraint Layouts to follow Material Design to show Breaking News and live video alert data returned after parsing.

•Worked with external clients to incorporate FreeWheel SDK and Nielsen proprietary measurement SDK for monetization features. Also imported the assets correctly through Invisio and Zeppelin web platforms.

•Debugged and fixed access to Bluetooth settings, network connectivity, Wi-Fi Multicast reception, and connected and disconnected from Wi-Fi.

•Improved live video playback performance and fixed some display issues with the widget within the application.

•Pair-programmed to use Urban Airship SDK to incorporate messaging and content delivery tools, including Push Notifications, Rich Media Messaging, In-App Purchases, and Subscriptions.

•Streamed favorite NBC News and MSNBC shows using ExoPlayer MediaPlayer API for adaptive playback, media composition, and caching.

•Coded using ReactiveX programming to compose asynchronous and event-based programs, avoided intricate stateful programs, using clean input/output functions over observable streams.

•Wrote test cases using JUnit /Mockito testing frameworks for the model and ViewModel layer

•Collaborated in refactoring architecture from MVP to MVVM.

•Implemented LiveData lifecycle observable to communication layer between View and ViewModel.

New York Life Insurance Company, New York City, NY

Senior Android Developer

May 2017 – June 2019

https://play.google.com/store/apps/details?id=com.newyorklife.kaltura.mobile.kmsapplication HYPERLINK "https://play.google.com/store/apps/details?id=com.newyorklife.kaltura.mobile.kmsapplication&hl=en_IN&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.newyorklife.kaltura.mobile.kmsapplication&hl=en_IN&gl=US"hl=en_IN HYPERLINK "https://play.google.com/store/apps/details?id=com.newyorklife.kaltura.mobile.kmsapplication&hl=en_IN&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.newyorklife.kaltura.mobile.kmsapplication&hl=en_IN&gl=US"gl=US

NYL View is the NYL enterprise standard for streaming recorded / live videos and managing the video library. This app also supports peer-to-peer learning by enabling videos and feedback sharing.

•Leveraged ReactiveX libraries like RxJava and RxAndroid to implement reactive programming, employing a variety of operators to transform, combine, manipulate, and manage sequences of items emitted by Observables, all while meticulously managing execution with Schedulers

•Initiated a significant architectural shift from the traditional MVC (Model-View-Controller) pattern to the modern and lifecycle-aware Architecture Components, which include LiveData, ViewModel, and Room, enhancing the app's robustness and scalability

•Crafted a user-centric widget on the home screen, live streaming of videos elevating the app's usability

•Engineered Video Upload Services within the app, enabling functionalities such as video retrieval, periodic updates, and user activity detection, enhancing the app's geo-aware capabilities

•Maintained a hybrid codebase, judiciously combining Java-based legacy code with KTX Android Plugin for seamless integration of new features, ensuring backward compatibility

•Successfully configured Google Cloud Messaging to facilitate the delivery of push notifications, particularly live severe weather alerts with storm and rain updates, ensuring users stay informed in real time about new videos

•Deployed Dagger Dependency Injection library to optimize code stability and foster seamless interaction between legacy code and new layers, ensuring a cohesive and reliable application

•Pioneered the development of custom and compound views to present high-quality data in a graphically intuitive manner, enhancing data visualization

•Implemented runtime permission management to securely access user location data, enabling the delivery of personalized local video streaming information, alerts, and updates

•Independently handled the parsing of XML data returned by various APIs, ensuring accurate data processing and presentation

•Consistently delivered creative solutions to address synchronization issues, asynchronous API challenges, and the enhancement of offline features, fostering continuous improvement in the app's functionality and user experience

•Created unit test classes and instrumented test classes to enforce code coverage of 85% in the code.

FEDEX SAMEDAY, Memphis, TN

Lead Android Developer

August 2016 – May 2017

https://play.google.com/store/apps/details?id=com.fedex.ida.android HYPERLINK "https://play.google.com/store/apps/details?id=com.fedex.ida.android&hl=en_CA&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.fedex.ida.android&hl=en_CA&gl=US"hl=en_CA HYPERLINK "https://play.google.com/store/apps/details?id=com.fedex.ida.android&hl=en_CA&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.fedex.ida.android&hl=en_CA&gl=US"gl=US

(Rating: 4.7, Installs: 5000000+)

FedEx SameDay® City app enables users to track the status of local packages and manage notifications, all on a mobile device.

•Implemented Google Maps API for package tracking.

•Consumed proprietary Web Service to retrieve delivery vehicle coordinates for real-time display on user devices.

•Integrated location-based services using Google Maps, Google Places, and Google Directions APIs to display the locations of the drivers.

•Took part in the full Software Development Lifecycle of multiple applications from concept to production

•Offered several design elements that added value to the application and increased the UX

•Interacted closely with both the Product and the Design teams.

•Interacted with RESTful API and data formats (JSON).

•Implemented the Firebase Push Notification service to provide users with up-to-date information.

•Used Glide to manage the image library with more efficient image overhead.

•Tested and recommended third-party frameworks to implement app functionality.

•Involved in test planning and test design for the application after each sprint.

•Involved in testing and testing design for the application after each sprint.

•Layout of user interface maintained efficiently through Fragments.

•Led Android development, maintained builds, and private repository using Git.

•Lead requirements definition, design, and reviews.

•Worked with the Android SDK and implemented Android Bluetooth and Location Connectivity components.

•Led the Android development team in daily scrums, documented tasks, and facilitated bi-weekly sprint meetings in an Agile environment.

•Leveraged beautiful, clean interface using Android material design tools like CardView, Toolbar, RecyclerView, animations properties, and support libraries for this Android mobile app.

•Managed the build creation with a Jenkins instance hosted on a private server.

•Managed the JIRA backlog and assisted with debugging and profiling Android applications.

•Managed teamwork and ensured superior performance by knowing when to let the team work through a problem and when to help them.

CouchSurfing Inc., San Francisco, CA

Android Specialist

June 2015 – August 2016

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

(Rating: 2.1, Installs: 5000000+)

Over 14 million travel enthusiasts use Couchsurfing in more than 230,000 cities around the world. Users use the app to browse the millions of local hosts offering a place to stay in thousands of cities around the globe.

•We divided the application into at least three different layers and took most of the logic out of the activities so that we could test it without using instrumentation tests in MVP architecture.

•Provided migration from RxJava1.0 to RxJava 2.0 using Flowable, Disposable, Schedulers, Bi-functions, operators, and other functions.

•Configured MixPanel with Firebase API to send push notifications, record events, and store user profiles.

•Used Retrofit2, Okhttp library to refine service layer and display local hosts offering a place to stay and fun events data in material designed RecyclerView.

•Independently worked and optimized on the feature `Easily create and manage a Couchsurfing profile.

•Incorporated PhotoView and image processing libraries to perform zooming, multi-touch, double-tap, and update UI based on the current zoom/scroll position.

•Performed instrumentation/UI testing, simulated any kind of user interaction, and asserted what happens after user interaction.

•Improved Payment module to allow consumers to pay via credit card, and debit using Stripe and Braintree SDK.

•Pair programmed to implement 128-bit encryption to protect customer data in transit and on devices using Java Cryptography Architecture and Android Crypto API.

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

Tapatalk Inc., Santa Monica, CA

Android Developer

November 2013 – June 2015

https://play.google.com/store/apps/details?id=com.quoord.tapatalkpro.activity

(Rating: 3.8, Installs: 10000000+)

Tapatalk is the mobile home to over 200,000 online forums worldwide. On Tapatalk, users interact with like-minded individuals to develop meaningful conversations on topics of shared interest to them.

•Refactored legacy codebase architected to the project using MVP and widely applied code reusability using custom layouts, util functions, and dependency injection libraries like Dagger2.

•Improved network communications on mobile platforms making synchronous and asynchronous web service calls to parse images using Picasso, Volley, multithreading mechanism, IntentService, RxJava, and AsyncTask.

•Created multiple cache services to make the app available in offline mode implementing GreenDAO databases with Content Providers.

•Used Protocol Buffers for serializing structured data.

•Built several Custom Binding Adapters to manage different attributes of custom binding logic.

•Refactored old designs with coordinator layout, toolbar, recycler view, and material design principles.

•Configured Samsung In-App purchasing to buy VIP status that will allow you to view Tapatalk ad-free.

•Make code testable, and modular and compose the dependency graph at runtime using Dagger and Butterknife injection libraries.

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

•Used ORMLite for persisting Java objects to SQL databases for offline mode features.

Gluten Free Classes LLC., Downers Grove, IL

Android Developer

October 2010 – November 2013

https://play.google.com/store/apps/details?id=com.fmgf.free

(Rating: 4.6, Installs: 500000+)

Find Me Gluten Free helps you easily eat gluten-free. Easily find dedicated gluten-free places with one tap. Search for your current location or a specific address. View menus, call, or get directions for each business. View others' ratings and reviews and submit your own.

•Implemented Location APIs to track and display users' location.

•Worked with Nine Old Androids library to include animation rotations, translations, alpha variations, and scaling.

•Used the Dalvik Debug Monitor Server (DDMS) for debugging and testing.

•Used fragment capabilities to handle multiport views and different screen size devices.

•Used services, broadcast receivers, and Event bus to implement publisher/subscriber pattern.

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

•Integrated Robotium for Behavior-Driven Development Testing.

•Solely optimized the feature ‘Search current location or a specific address.

•Worked with external API developers to parse ‘View others’ ratings API' and 'reviews API' using AsyncTask and display in customized ListView.

EDUCATION

Bachelor of Engineering in Electrical and Electronics Engineering



Contact this candidate