Post Job Free
Sign in

Senior Android Developer

Location:
Summersville, WV, 26651
Posted:
May 13, 2024

Contact this candidate

Resume:

Jarrett Adkins

Phone: 304-***-****; Email: ad5n48@r.postjobfree.com

SR. ANDROID MOBILE DEVELOPER

PROFILE SUMMARY

•With over 12 years of hands-on experience, I've been instrumental in the successful implementation and delivery of software applications using Java and Kotlin, leveraging the Android SDK. I have 15+ years of experience in IT. My proficiency extends to iOS and Android app development lifecycles, having launched production-grade applications on both platforms. Successfully published 9 android apps on the google play store.

•Driven by self-motivation and a collaborative spirit, I bring reliability, responsibility, and a positive demeanor to every project, complemented by strong communication skills. My expertise encompasses RESTful APIs for seamless backend integration and a deep understanding of UI design principles and patterns.

•I excel in modern build strategies, embracing continuous integration, unit testing, test-driven development, static analysis, and automated integration tests. Familiarity with cloud message APIs like Firebase, Azure, and AWS enhances my capability to deliver robust, scalable solutions while prioritizing security best practices.

•My skill set extends to on-device management of USB/NFC/Bluetooth/WiFi and cross-platform environments, ensuring seamless functionality across Windows, iOS, and Android. Proficient in code profiling, diagnostics, troubleshooting, and performance optimization, I stay ahead with knowledge of Chromecast, video codecs, and related technologies.

•Utilizing Git/Gitflow, I collaborate effectively and bring expertise in Android design patterns (MVP, MVVM, IoC) and mobile design best practices. My grasp of OOP principles, software development frameworks, and architecture enhances my ability to design scalable solutions.

•I've demonstrated proficiency in Agile methodology for enterprise-level web applications and leverage various front-end development technologies such as XML, CSS, HTML, and JavaScript. My experience with n-tier architecture systems includes Java, JDBC, Servlets, JSP, Spring, Hibernate, and more, ensuring robust and scalable application development.

•Furthermore, I have expertise in mobile network client development using HTTP protocol, REST APIs, and Google Cloud Messaging, as well as software debugging techniques. I stay abreast of the latest analytics tools like Google Analytics, Localytics, Mixpanel, and Firebase Crashlytics, ensuring data-driven decisions and continuous improvement.

TECHNICAL SKILLS

Android Technologies: Jetpack compose, Jetpack components, KMM, KMP, Lottie, Corotuines, Flow API, Bitrise, Gitlab, Flutter, Swagger, Android SDK, Glassfish, Volley, Picasso, YouTube, Espresso, Robolectric, AsyncTask, IntentService, Handler, Handler Threads, Loopers, Loaders, Retrolambda, JetPack, Firebase, RxJava, Bluetooth Low Energy, RxAndroid, Dalvik, ARC, Memory Mapping, Mockito, Retrofit, Recycler Views, Navigation Drawer, Floating Action Button, and other UI implementations, Reactive, Firebase, UrbanAirship, Animator, Support Libraries, Multi-Window, Cordova, Material Dialogs, Maven, MVP, Volley, Parse, Moshi, GPS, Robotium, Google Analytics, Realm, RxJava, EventBus, Loaders, Samsung SDK, Android Studio, JUnit, RoboGuice, Firebase, OkHTTP, Timber, Notifications, SyncAdapters, ProgressBar, Glide, Git, Mockito, GSON, Dagger, Subversion, Espresso, Kickflip, FloatingActionButton, Jenkins, REST, RecyclerView Nougat, LeakCanary, JIRA, Google Cloud Messaging, ExoPlayer, MVVM, Bluetooth Low Energy, Material Design, Google Places

Programming: Java, Kotlin, C/C++, C#, SQL, JavaScript, Linux Shell Scripting, HTML/CSS, Software Analysis and Documentation, System Design/Build

Architecture/ Design Patterns: MVC, MVP, MVVM, Observer, Abstract Factory, Builder, Decorator, Façade, Reactive, Modular, Proxy, etc.

API: Facebook, Twitter, Google Maps, YouTube, Git API

Source Control: Git, GitHub, SVN, SourceTree, Tower

IDE: Android Studio, Eclipse, Visual Studio

Database Technologies: SQL, MySQL. PostgreSQL, MongoDB, Firebase, RxJava, SQLite

Project Methodologies: Agile/ Scrum, Continuous Integration, Test Driven Development, Automated Testing, Unit Testing

Project Tools: Jenkins, Hudson, Travis CI, JIRA, DDMS tool, ADB, LeakCanary, Firebase Crashlytics, Fabric Crashlytics, JUnit, Prototyping, Android NDK

Web Technologies: HTML5/CSS, JavaScript, XML, jQuery, SOAP, JSON, REST

WORK EXPERIENCE

Sr. Android App Developer Walmart, Summersville, WV April 2021 – May 2024

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

The Walmart app is the shopping app for everything on the list, including fresh groceries, household essentials, the latest tech, and a lot more. It offers convenient pickup, delivery, and shipping options making it a breeze to get your order exactly when you want it, whether you're shopping online, in-store, or on the go.

•Maximized code reuse and adapted the app for use in Canada and modified elements such as pricing, language preferences, and address entry interfaces.

•Contributed as a team member which entailed exposing the legacy code externally and integrating it into our section of the codebase, enabling us to seamlessly incorporate the specific customizations required for our version of the app.

•Worked on MVVM with clean architecture using Hilt Library, Coroutines Flows API, NavGraph, Conditional Navigations, Firebase push notifications, Paging, and building Compose code

•Resolved defects/bugs/crashes, debug memory problems, integration issues during QA testing and after the product release

•Protected stored cardholder data using symmetric cryptography (AES) and biometric security (face & fingerprint ID)

•Restructured classes into interfaces for inheritance, injection, and customization by other models, while providing default implementations within the base package.

•Employed contemporary UI components like constraint layout to enhance user interfaces.

•Programmed in Kotlin in Feature-module, App-module and Core-module of the app

•Utilized remote building technologies such as Looper to efficiently share and deliver new feature builds to the QA team.

•Implemented TalkBack and text-to-speech accessibility API features like Select to Speak, Magnification gestures and test them using Accessibility Test Framework

•Updated shared documentation on Confluence to document changes in in-app functionality, including newly introduced remote configuration flags and market-specific deep links.

•Enhanced networking service classes on the client side to handle market-specific data from the backend and transform it into a format compatible with the legacy app.

•Quickly addressed and resolved issues by implementing hotfixes for new releases upon the discovery of new crashes.

•Collaborated with cross-functional teams to rectify bugs identified by QA, such as unresponsive service calls or outdated UI components.

•Dynamically adjusted code to enable feature toggles based on data received from the remote server.

•Assisted the team lead in merging the latest changes for upcoming releases.

•Frequently selected to conduct demonstrations of new app features to company executives.

•Adapted and updated strings to accommodate market-specific requirements, enhancing the reusability of legacy UIs.

•Enhanced deep link classes to recognize new and unique domains, enabling users to access market-specific pages within the app.

•Collaborated with the translation team to integrate French language strings into the app.

•Organized strings into multiple packages, reflecting each supported language, for efficient localization.

•Implemented responsive UI elements on the checkout page, dynamically parsing intent passed via JSON from the server to allow users to switch between pickup and delivery options seamlessly.

•Thoroughly developed unit tests to cover all scenarios introduced by new functionality in the app using Mockito and Mockk

•Updated existing unit tests to accommodate changes in legacy functionality in Junit framework

•Submitted comprehensive pull requests (PRs) on GitHub, complete with attached documentation, screenshots, and videos when necessary, to facilitate testing and ensure timely code approval

Sr. Android Developer CVS, Woonsocket RI May 2020 – Apr 2021

https://play.google.com/store/apps/details?id=com.cvs.launchers.cvs

My main responsibility was to maintain the Extra Care module of the CVS app; specifically, the section reached by tapping the “Deals and Rewards” button on the Main screen.

•Joined Agile team that implements changes to the app, as well as fixes errors discovered by QA. I was given technical specifications about the new features, and then integrate new features within the existing app structure. Similarly, I often implement new UI components to coincide with the new features.

•Feature development based on MVVM architecture.

•Apply modern UI component Constraint Layout.

•Implement Instant Search using Kotlin Flow operators, sealed classes, data classes, higher-order functions and data using Flow Builder and Kotlin coroutines.

•Maintain a code base of both Java and Kotlin.

•Migrate old Java classes into Kotlin.

•Create Confluence pages for technical groomings. Pages contain high-level explanations of features to be developed.

•Use remote building technologies such as Jenkins to share and deliver builds of new features to the QA team.

•Participate in daily stand-ups as part of Agile/Scrum.

•Monitor Crashlytics to stay on top of any crashes introduced in recent releases.

•Use Google GSON to parse through JSON files.

•Use Atlassian as a Continuous Integration system to track released versions with all of the fixes detailed in a changelog and code backup.

•Design and develop a library for networking solutions using Retrofit and OkHttp.

•Apply Volley for consuming RESTful web services.

•Use ReactiveX for asynchronous programming.

•Use RecyclerView, CardView, and PulltoRefresh to improve performance and user experience.

•Use Gitlab for the version control system and integrate CI/CD pipelines.

•Document what features in the sprint are going into the new release, collate them into an Excel spreadsheet, and share them over Microsoft Teams. Also, explain them to management during weekly release request meetings.

•Write UI for newly introduced coupon types in the app’s Extracare module (e,g., “2% extra bucks” and “beauty club rewards”).

•Integrate new coupon types into the existing code base to reuse as much existing code as possible.

•Update the service calls of the search option to receive and parse data from new additional services.

•Update the general look and feel of the app by introducing section headers to the master coupon list.

•Implement new result types on the barcode scanner.

•Write “hot” fixes for new releases when it was revealed that new crashes had been introduced.

•Update custom views already existing in the app to have new functionality so that they may be used in a greater number of circumstances.

•Write analytics code using Adobe to track user interactions in the app.

•Implement Picasso for downloading the image and showing it in UI.

•Implement switches to turn newer functionality on and off based on service response from the Adobe dashboard

•Work with teams responsible for other components of the app to implement cross-module functionality such as showing beauty club rewards in coupon searches, or having the option to go to the shop module with a specific item query when clicking "shop now" on a coupon.

•Rally project management tool was applied to track each phase of the development.

•Assisted Team Lead in merging newer changes for the upcoming release.

Sr. Android Developer Rainbow and Classic, Washington Post, Washington DC Jan 2018 – May 2020

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

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

My main responsibility was to update the Washington Post Android Mobile Apps, primarily Classic and Rainbow mobile apps.

•Updates encompassed both new features implementation and issue resolution. Worked with quality testers to ensure any issues were found and resolved before Play Store or user involvement.

•This Android project used Android Studio, Git, Jira, and Invision.

•The Android team used Jira and spreadsheets for tracking and project management.

•Worked with a team of 5 developers working autonomously and with teams such as on code reviews, code merges, and knowledge transfer.

•Worked extensively on back-end integrations, logic, and performance. I also did some work on UI/UX. Some of the user-facing features I worked on included the content recirculation module, the GDPR screen, the classic onboarding screen, and the GUI for the podcast player.

•The Android development team uses Agile Scrum and follows two-week sprints with code review, merging, and testing.

•Developed new features and resolved issues using Android Studio.

•Collaborated with cross-functional teams.

•Participated in daily check-ins to report progress and fill in for Scrum Master as needed.

•Worked in Android Studio in Java and XML, and increasingly incorporated Kotlin into the code base.

•Organized the code into submodules to easily add to and subtract from the Android app.

•Wrote new features in such a way that they could be added to a submodule to be used by multiple apps.

•Participated in weekly Android app testing to ensure the quality of new additions.

•Integrated 3rd party libraries, like Firebase.

•Use Crashlytics to track errors and tracked crashes in Fabric for Android.

•Added tracking libraries like AppsFlyer, to track events in the app, such as purchases and uninstalls.

•Parsed JSON objects from the back-end into respective views to build articles.

•Demonstrated new features to stakeholders at the end of each sprint.

•Used WebEx for presentation to remote stakeholders.

•Configured Android emulator through Android Studio for device testing on specific Android OS versions.

•Worked with Android app architecture to add new features visible to the user, like the recirculation carousel.

•Used animations to give the user additional feedback during interactions.

•Worked in a team of 6 Android developers maintaining multiple Android apps, adding new features, resolving issues, and improving user experience (UX).

•Used ratings and reviews on the app store to diagnose and prioritize bugs in the apps.

•Stayed up to date on the latest versions of the Android OS making sure to implement any necessary changes on the Android app required by new Android OS versions.

Sr. Android Specialist Investigation Doscovery, Silver Spring, MD May 2016 – Jan 2018

Discovery App: https://play.google.com/store/apps/details?id=com.discovery.idsgo

•Worked on the app from scratch implementing 3-Tier architecture, created use cases and independent modules on DIP/OCP/SIP/OOP principles

•Replaced Flurry lib with Google Firebase for analytics, push notifications

•Developed a business layer to enable the genre search feature.

•Developed a favorites function within the app using Room.

•Wrote unit test cases on the business layer module using Mockito.

•Involved in writing UI testing using espresso on the presentation layer for Save episodes to your watchlist use case of the app

•Incorporated Fabric Digits library for users to create an account or sign in to the app using their phone number

•Worked on another beta version of the client app to incorporate Adobe PrimeTime player for real-time media streaming

•Abstracted away low-level threading, synchronization, and concurrency issues using Observables and Schedulers in ReactiveX for API parsing

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

•Efficiently used Activity, Intents, Fragments, Services, Broadcast Receivers, notifications, Content Providers, Media Players for building the app.

•Embedded local storage solutions such as SQLite and shared preferences.

•Implemented Firebase Crashlytics to monitor crashes and exceptions and user app analytics data.

•Implemented Custom Controls with the ExoPlayer library.

•Replaced old library code with new install attribution Kochava SDK to measure, and track mobile user acquisition campaigns, other attribution analytics

•Improved the look and feel of the app by introducing new material design support libraries with a coordinator layout, collapsible toolbar, recycler view, and animations

•Managed 4 other Android developers and paired with new starters to review code

Mid Level Android Developer XOOM, Palo Alto, CA Oct 2015 – May 2016

Xoom Money Transfer: https://play.google.com/store/apps/details?id=com.xoom.android.app

•Coded cryptographic API interfaces to implement algorithms for encryption, decryption, or key agreement.

•Researched ThreatMetrix SDK for context-based security, Jailbreak Detection, and Location-Based Authentication

•Included card.io library for fast, easy credit card scanning

•Refined Airship library code for Push Notifications, Rich Media Messaging, In-App Purchase, and Subscriptions.

•Developed a library that abstracts the core business rules and defines the business objects to provide the interface for GUI. This layer implements core banking RESTful services, Handlers/Executors/Threads for multithreading.

•Resolved all the dependencies using Dagger2, without affecting the other modules

•Removed a legacy database code and replaced it with Realm DB and rewrote the entire logic from scratch

•Utilized various payment APIs like PayPal for payment processing

•Fully wrote unit tests using JUnit, and Mockito and developed automated tests using Jenkins

•Designed custom, compound views, and custom animation effects to fit in app-UI requirements

•Worked on the Android Wear Beta app for a month to implement wear notifications

Native Android Developer Uber Technologies, Inc., San Francisco, CA Sep 2015 – Oct 2015

UberEATS: https://play.google.com/store/apps/details?id=com.ubercab.eats

•Incorporated payment modes using Stripe, PayPal, and card.io library to pay for a meal and securely store credit card information to pay for future orders.

•Refactor the project using MVP and widely applied code reusability using dependency injection libraries (Dagger2, Butterknife)

•Adhere to Material Design Structure and Principles.

•Used Rx-java, applied multithreaded programming, asynchronous programming, and design patterns.

•Managed refactoring to fix bugs, apply clean code architecture, added features and functionalities, and improved User interface without affecting business requirements

•Worked independently on Track your delivery, use cases

•Added environment configuration with sessions and user login using SharedPreferences.

•Added Flurry for user behavior tracking and quality control over crashes.

•Integrated Facebook –Twitter API for incorporating log-in and sharing features

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

•Included GPS features, by implementing the Google Maps, and Google Places APIs.

•Implemented LocationManager (GPS) to find where the user is to customize the Android UX experience

•Used FusedLocation API, geo-location-based features, and Google Maps for the nearest restaurants.

•Display restaurant photos using Picasso libs for memory-efficient image and disk caching.

Android Engineer Home Depot, Atlanta, GA Jun 2014 – Sep 2015

Home Depot App: https://play.google.com/store/apps/details?id=com.thehomedepot

•Coordinated with Sr. Developer on Apache Commons Codec software for implementations of common encoders and decoders such as Base64, Hex, Phonetic, and URLs

•Incorporate the StickyListHeaders library to integrate section headers in RecyclerView.

•Worked on Apache HttpMime API module to support MIME multipart encoded entities.

•Contributed value to a cross-functional engineering team (back-end development, front-end development, UI/UX designers, QA, Product Management, etc.).

•Devised creative, technical solutions to functional problems.

•Diagnosed and resolved mobile networking performance issues.

•Managed competing priorities in a complex environment and maintained high productivity.

•Integrated web applications, and web services to the Android app to add functionality and enhance performance.

•Accessed web content using implicit and explicit intents.

•Achieved a great level of decoupling by implementing Dependency Injection with Dagger 2.

•Coded to implement the Observer pattern, the Iterator pattern, and functional programming

•Used Git for source management

•Used OkHttp for exchanging data & media through HTTP protocol.

•Worked with the EventBus library to simplify communication between Activities, Fragments, Threads, Services, etc.

•Refined sticky broadcast, changed system display settings, disabled screen lock, changed audio settings, recorded audio, controlled vibration hardware controls

Jr. Android Develoer Transunion, Chicago, IL June 2012 – May 2014

Transunion Mobile: https://play.google.com/store/apps/details?id=com.transunion.TransUnion

•Ported existing iOS Application to native Android application.

•Synchronized the backend database with the local SQLite data.

•Refine, troubleshoot, bug fix the existing application to a new user-friendly optimized app.

•Build a flexible app with backward compatibility across all devices and versions of Android.

•Refactored Google In-app Billing with the latest version to sell digital products, including one-time products and recurring subscriptions.

•Implemented list views to display users

•Integrated Google Maps API for geo-location-based updates, routing, customized map markers, and advanced location-based services.

•Worked on Google Maps Lib to display the Store Locator option

•Implemented fragments for displaying different points of data

•Used Google GSON to parse through JSON files

•Attended weekly meetings to track progress with other teams

•Implemented AsyncTasks when dealing with HTTP calls

•Used SVN for source control

Java Developer Medical Matters, Beaver, WV Jun 2009 – Jun 2012

•Responsible for the design and development of desktop applications in Java using Visual Studio IDE.

•SQL database development and administration.

•Used Struts1.3 framework and various in-house custom tag libraries for the presentation layer.

•Integrated the application with Spring Framework for implementing Dependency Injection and provided abstraction between the presentation layer and the persistence layer.

•Developed Graphical User Interfaces using UI frameworks Angular JS and web pages using HTML and JSPs for user interaction.

•Wrote prepared statements and called Stored Procedures using callable statements in MySQL.

•Worked on NoSQL databases like Mongo DB for storing security-related information.

•Used Data Access Object (DAO) pattern to introduce an abstraction layer between the business logic tier and the persistent storage tier.

•Used Hibernate for Database Persistence to perform actions like insert, update, and retrieve.

•Used Core Spring for dependency injections.

•Used JavaScript for client-side validations.

•Developed the business logic using EJB 3.0.

•Used Message Driven Bean (MDB) for supporting user subscriptions and notification features.

•Consumed a Web service for exchange rate calculation.

•Deployed applications on the WebSphere application server.

•Used Web services for transmission of large blocks of XML data over HTTP.

•Used Collections extensively to store, retrieve, and manipulate objects in the business logic layer.

•Developed J2EE components on Eclipse IDE.

•Developed and debugged servlets and EJB with WebLogic application server and developed EJB components to implement business logic using session and message bean.

•Created use cases, class diagrams, activity diagrams, and collaboration diagrams.

•Created Dynamic Web Pages using JSP, CSS, and JQuery. Developing a dynamic menu using XSLT which will run on XMLS to transform to the required form.

•Involved in unit testing using JUnit, system testing, and creation of various test scripts.

•Involved in Test Driven Development(TDD) pattern using JUnit.

•Built scripts using ANT that compile the code, pre-compile the JSPs, built an EAR file, and deployed the application on the application server.

•Worked on the project development to complete testing and send it to the production environment.

•Provided on-call support during the pre-production testing and the project release.

EDUCATION

Bachelor of Science: Computer Science

West Virginia University Institute of Technology, Montgomery, WV



Contact this candidate