Post Job Free

Resume

Sign in

Sr. Android Developer

Location:
Sunnyvale, CA, 94086
Posted:
September 05, 2023

Contact this candidate

Resume:

Contact

Minh Khanh Pham

Phone: 408-***-****

Email: adxy13@r.postjobfree.com

Experience

9+ yrs. Android Development

Education

Bachelor of Game Design & CS

Rensselaer Polytechnic Institute

Troy, NY

Summary

•Skilled in both Java and Kotlin in building Android mobile apps using Android Studio.

•Skilled in the use of MVC, MVP and MVVM as an architectural base.

•Has Expertise on ViewModel, LiveData, Kotlin Coroutines and Scope functions.

•Experience with various SDKs such as Firebase, ExoPlayer and Reactive-X libraries like RxJava and RxAndroid.

•Skilled in reviewing, refactoring, and debugging code to improve apps with help of Android Studio tools like Android Debugger, Android Profiler, Lint and so on.

•Able to create robust quality unit testing using automated testing with Robolectric and continuous integration(using Jenkins).

•Writes high quality unit tests using jUnit, Mockito, Expresso for local unit tests and end-to-end unit tests/UI tests.

•Experience with embedded local storage solutions such as SqLite, Room, SharedPreferences and DataStore

•Experience with RESTful web service libraries like Retrofit, Okhttp3 and GSON.

•Familiar with authentic login integration through various popular SDKs (Facebook, Twitter, Google).

•Experienced in the full software developed lifecycle (SDLC) including planning, development, testing and deployment.

•Implementation of Android mobile apps using design patterns such as Builder, Façade, Proxy, Abstract Factory, Observer, Singleton, Adapter, Composite, Bridge, etc. depending on use case.

•Participated in all stages of software development including defining product vision, gathering requirements, prototyping, software system design, coding, testing, release, and support.

•Hands on experience with Kotlin higher order functions, inline functions, extensions functions and suspend functions.

•Experience in working with Media files, Static content, and advertising with AdMob integration.

•Experience working on-site and off-site teams and management.

•Has better understanding about OOP (Object Oriented Programming) principles, software development frameworks and design patterns like Singleton, Factory and Builder.

•Good Exposure in working with Foreground and Bound Services, WorkManager and AlarmManager APIs.

•Experience with localizing the application to support multiple languages using different folder structures with language codes.

•Good Knowledge in version control systems like SVN and GIT as well as project management using proper git branching mechanisms.

•Implemented Several Android Applications using Google Maps API, Geocoder API and FindMyLocation APIs.

•Expertise with HTTP CRUD methods using retrofit and parsing several types of responses using GSON.

•Solid Understanding in Core Java concepts like Collections, Multi-Threading, Socket-Programming and Exception handling.

•In-depth Knowledge on Android core components i.e., Activity, Service, Broadcast Receiver and Content Provider.

Technical Skills

Programming Languages

Java, Kotlin, Groovy, XML

Key Frameworks & Utilities

MVVM

MVP

Reactive (RxJava, RxAndroid)

Firebase

Jetpack Components (ViewModel, LiveData, WorkManager)

Material Design

Jetpack Compose

Networking & Threading

Retrofit I Volley I

Loopers I Kotlin Coroutines I OkHttp3 I Jetpack components

Web Services

RESTful I JSON I XML

Methodologies

Agile I Scrum I Test-Driven Development

Version Control Software

SVN I Git I Bitbucket I Visual Source Safe

Data Persistence & Storage

SQLite I Room

Continuous Integration Tools

Jenkins I CircleCI I Travis

Image Handling

Picasso I Glide I Universal Image Loader

IDEs

Eclipse I Android Studio

Incident Report Tracking

Jira

Testing Frameworks

Espresso I Mockito I jUnit I Robolectric I MockK

Multimedia

Media Player I ExoPlayer

Profiling & Debugging

Android Profiler I Crashlytics I Localytics I Crittercism/Apteligent

Dependency Injection

Dagger II I IHilt

Professional Experience

Sr. Android Developer April 2022 - Present

Walmart, Sunnyvale, CA

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

Project Summary: This project is for the membership module of the app Walmart Glass. Works include creating new API calls and UI for new features, making minor adjustments to the app, fixing existing bugs occasionally.

•Using MVVM architecture to make the app scalable and testable.

•Creating unit and UI tests for various features using Junit, Expresso, Mockito and Robolectric and improving code coverage by adding more test cases and edge cases.

•Using ViewModel to share data between fragments and to make unit testing easier.

•Using Observable and LiveData to facilitate state transitioning for the UI and receiving API response

•Using Kotlin Coroutine for multithreading and being on specific scope where required and WorkManager for completing background tasks.

•Getting detailed report of the crash issues from the firebase Crashlytics.

•Using Android Navigation Component to make graphs for fragments and to make transaction easy.

•Adding code commenting with proper guidance as per our documentation process.

•Working with the back-end and iOS teams to understand to keep alignment throughout the whole project development.

•Explain to the project owner what needs to be done on Membership and what limitations the Transmit Android SDK (Software Development Kit) has.

•Using Hilt as the dependency injection library to use required objects where I need to.

•Using Git for version control and followed git branching to avoid conflicts as much as possible.

•Using RecyclerView to display items dynamically and efficiently.

•Used Jetpack Compose, ConstraintLayout and custom layouts to support multiple screen sizes.

•Using Retrofit, OKHTTP and GSON to make API calls and parse responses.

•Working with the team using Agile methodology

Senior Android Developer October 2019 – Mar 2022

Charles Schwab, Lonetree, CO

https://play.google.com/store/apps/details?id=com.schwab.mobile HYPERLINK "https://play.google.com/store/apps/details?id=com.schwab.mobile&hl=en&gl=US&pli=1"& HYPERLINK "https://play.google.com/store/apps/details?id=com.schwab.mobile&hl=en&gl=US&pli=1"hl=en HYPERLINK "https://play.google.com/store/apps/details?id=com.schwab.mobile&hl=en&gl=US&pli=1"& HYPERLINK "https://play.google.com/store/apps/details?id=com.schwab.mobile&hl=en&gl=US&pli=1"gl=US HYPERLINK "https://play.google.com/store/apps/details?id=com.schwab.mobile&hl=en&gl=US&pli=1"& HYPERLINK "https://play.google.com/store/apps/details?id=com.schwab.mobile&hl=en&gl=US&pli=1"pli=1

•Used MVVM architecture and Kotlin flows to make API calls and the model part

•Used MpAndroidChart for drawing the graph of personal value.

•Used constraint layout for making dynamic UIs and to support multiple devices available in market.

•Used proGuard for avoiding apk reverse engineering.

•Used lazy loading mechanism for loading images using the Glide library.

•Converted Java code to Kotlin by using the android studio and manually when needed.

•Used Android Navigation Component to build a path to each Activity and Fragment.

•Worked with SSL Pinning to secure application and API calling process.

•Reading documentations about the Transmit Android SDK and understand how it works.

•Worked with the back-end team to understand what work needs to be done on both sides for a new feature.

•Explained to the project owner on what needs to be done on the Shared Login Library and what limitations the Transmit Android SDK have.

•Used Dagger for dependency injection.

•Integrated Unit testing using jUnit, Mockito and Expresso to provide 80% code coverage.

•Integrated Firebase SDK for analysing the crash data, and to track user interaction based on screens.

•Followed the material design guidelines to implement the complex UIs.

Senior Android Developer. August 2018 – September 2019

ADP, Roseland, NJ

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

•Added several animations and transitions with off-the-box features and third-party libraries.

•Improved the search navigation Activity to find out station names.

•Transitioned some modules and code from Java to Kotlin to eliminate null point exceptions.

•Integrated Java Guava Libraries for string processing, concurrency libraries, I/O functions.

•Development of quality code using cutting-edge techniques, tools, and utilities.

•Improved the layout rendering by saving and optimizing the view hierarchy in all the resources.

•Was the owner of the central Git repository for our team.

•Managed code review sessions to always have high quality (reusable, simple, documented) code.

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

•Created the database using SQLite local file and a Firebase implementation.

•Used native and third-party technologies to optimize the app functionality including Java, Parse, Volley, SQLite, Fragments, Picasso, Android Studio, JSON, SQLCipher, Spongy Castle, Git, Jenkins.

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

•Working with Retrofit for asynchronous communication and used RxJava to manage background threading and data filtering.

•Use of Implicit and Explicit Intents.

•Created custom views to present data as it was needed.

•Use of Shared preferences.

•Created small testing instances with Android Wear and Android Auto.

•Have a portfolio of shipped production level apps used by many users.

•Generated the application with a Model View Presenter architectural design pattern to help with the modularity and maintainability.

•Successfully executed test cases and fixed bugs, profiling the app with LeakCanary

•Worked in small and large agile teams to design, prototype, and build our product offering and tools.

•Used the Parcelable interface to serialize the objects.

•Performed automated testing by using Espresso, and managed Unit Tests in JUnit and Mockito.

•Implemented List View using the viewHolder pattern to improve the performance.

Sr. Android Developer August 2017 – July 2018

Groupon, Inc., Chicago, IL

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

•Collaborated and assisted in various aspects of Android development.

•Implemented the Android app using MVP architectural pattern; setting up all the interfaces and the decoupling of the classes.

•Implemented a Dependency Injection pattern using Dagger 2 for decoupling.

•Worked with team and task workflow based on Agile Scrum approach.

•Added support for backward compatibility through Android Marshmallow permission system.

•Closely worked with the UI/UX front-end team on implementing their designs accurately.

•Consumed custom REST API’s working with the backend team.

•Integrated asynchronous calls Worked with RxJava, replacing inefficient AsyncTasks and IntentService calls.

•Used Jira software for information management, user stories and epics, tracking issues and assigning tasks.

•Pulled down task assignments and unassigned backlog task to work from JIRA.

•Incorporated custom views and compound views per design specs provided by design team.

•Worked with designers and developers to verify the UI/UX screens.

•Developed custom drawer and tabs to consolidate Android app UI/UX navigation.

•Created Material Design ready code-base and put views into design support library: Floating Action Buttons, CardViews, Snackbars, Text Input Layout, RecyclerViews,, Custom toolbars.

•Retrofit external networking library for consumption of RESTful web services.

•Android app used Glide library for image handling.

•Memory leaks detected using LeakCanary library.

•API calls enhanced with Realm database for caching and storing data.

Android Engineer August 2016 – July 2017

Allstate Insurance Co., Northfield Township, IL

https://play.google.com/store/apps/details?id=com.allstate.view

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

•Led a team of four developers and one graphic designer.

•Conducted frequent code review activities with the members of the development team to reduce bugs and ensure clean coding approaches.

•Facilitated requirement gathering sessions and wrote the high-level and detail design for the Android application.

•Managed the authorization with the backend services using certificate pinning/SSL pinning.

•Configured Git repositories and followed proper branching methods to work with whole team together.

•Created a successful proof of concept (POC) with a secure SSL layer to authenticate users and refresh login tokens.

•Configured the continuous integration process with a Jenkins instance hosted on a private server.

•Constructed prototypes of the User Interface integrating the latest Material Design guidelines.

•Contributed to full software development lifecycle (SDLC) from product definition through design, development, test, release, and maintenance.

•Documented the Android project details, functionality and quality testing.

•Coordinated with the testing team during the testing phase to resolve issues of Android app performance and user experience (UX).

•Created small testing suites with JUnit and the Android Studio IDE capabilities.

•Developed the app natively in Android Studio.

•Documented the progress of the daily stand-ups with the Atlassian stack (JIRA, Confluence, HipChat).

•Enhanced the UI/UX with well-designed UI/UX and custom views and compound views.

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

•Implemented the use of handlers and threads on several tasks which improved the application performance.

Android Developer June 2015 – July 2016

University of Arizona, Tucson, AZ

https://play.google.com/store/apps/details?id=com.blackboard.android.central.arizona

•Used MVP (Model View Presenter) design pattern to allow a presentation layer which is separate from the logic, so that everything about how the interface works is separated from the on-screen representation.

•Work on real time support and improving application performance.

•Followed AGILE methodology with Test Driven Development for implementing the Application

•Documented the requirements and thereby analyzed and involved in design, code.

•Worked with the Android SDK and implemented Android Bluetooth API and Location Connectivity services like LocationManager.

•Used SQLite to save user details, their plans, and eligible devices for upgrade.

•Used Android content providers for implementing features like sending E-mails, SMS, etc. from the app and designed GUIs for these applications following Material Design guidelines.

•Analysis of mobile application code for re-engineering.

•Responsible for design of user interface using various custom layouts, buttons, dialog boxes, alert boxes, and different form of widgets.

•Used Fragments, ListViews, and RecyclerViews to display the lists from database using simple adapters.

•Used Services, AsyncTask and Notification API to implement event reminder feature into the mobile app.

•Debugging and Root cause analysis of production issues

•Fixed bugs reported by service providers and testing team.

•Tested the app on various virtual devices and real devices.

•Used log cat, DDMS (Dali Debug Monitor Server) and trace view for debugging and detecting memory leaks.

Jr. Android Developer April 2014 – May 2015

Papa Johns International Inc., Louisville, KY

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

•Used Jenkins and Git for continuous integration environment.

•Implemented MVP architecture for the project.

•Participated in the full software development life cycle (SDLC) with the Android mobile app development and external teams by requirement gathering, working with the Product Manager, and assisting with planning as well as ensuring guidelines were followed for easy app approval.

•Performed peer code reviews to ensure consistent standards.

•Used SharedPreferences to retain user preferences as key-value pairs.

•Mentored a team of four Android developers, 2 back-end/web developers, and UI/UX designer.

•Added services and RxJava to download PDF files without freezing the Android UI.

•Wrote Junit tests and coordinated with testing team to run functional tests using jUnit and mockito.

•Used Firebase to find issues, get stats and improve performance.

•Improved the HTTP calls by migrating the request from AsyncTasks to Retrofit.

•Participated in the data modeling upgrade on the device side and the server side.

•Added Retrofit to consume RESTful web services and GSON to parse JSON response data.

•Developed multiple modules ready to be released with Android 7.0 features (multi-window and enhanced notifications).

•Consumed web services to display user history on the user interface.

•Interfaced with the Product team and Marketing team for the development team.

Education- Bachelor of Game Design & CS Rensselaer Polytechnic Institute Troy NY



Contact this candidate