Profile Summary
Android development experience: 8 years with 6 apps on Play Store.
Experience building Android apps from scratch as well as revision, refactoring, and transitioning architecture (MVC, MVP, MVVM) and code base (Java to Kotlin and Android versions).
Android performance profiling, memory and power management and optimizations.
Native Android Development in Android Studio and Eclipse using Java and Kotlin.
Apply Java patterns Singleton, Facade, Factory, Builder, Adapter.
Implemented the user interface by using Custom Views, ListView, Relative Layout, Linear Layout and Table Layout.
Improved the layout rendering by saving and optimizing the view hierarchy in all the resources.
Leveraged 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.
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, Key Store.
Knowledgeable of the latest analytics tools for mobile applications such as Google Analytics, Localytics, Mixpanel, Answers, Flurry, Crashlytics, NewRelic, etc.
Experience in Git for code base and version control (GIT, GitHub, GitLab).
Experience working on Agile development teams using Scrum processes.
Used Android frameworks and APIs to efficiently load data and update databases: Loaders, AsyncTaskLoader and SyncAdapters.
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.
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, Google Wallet payments, Android Annotations.
Skilled in leadership and able to work well with all people, mentoring developers, working with project managers, stakeholders, and cross-functional team members.
Work Experience
Android Developer / Raley’s, West Sacramento, CA
Since April 2021 – Present
https://play.google.com/store/apps/details?id=com.raleys.app.android&hl=en_CA&gl=US
At Raley's, Bel Air, & Nob Hill, we want you to have an easy shopping experience. So, we've updated our app to make it even simpler to browse our fresh products, see our weekly ad promotions and create a list of products to order and pick-up at select locations.
Implemented Android Jetpack Room and LiveData components.
Participated in code review and reviewed code carefully before approving.
Used Atlassian as Continuous Integration system to track released versions with all of fixes detailed in a changelog and code backup.
Performed code migration from Java to Kotlin and implemented null safety checks, higher order functions, extension functions, coroutines support and KMM.
Began transitioning modules of the app from MVP architecture to MVVM, and applied SOLID principles throughout the Android mobile app.
Use Gitlab for version control system and integrate CI/CD pipelines.
Utilized Android SDK and supporting development devices.
Used Coroutines and Schedulers for long running and background tasks.
Integrated with Google Maps.
Encrypted and decrypted the shared preference data with the AndroidX Security Library.
Tested the app logic using JUnit to write unit tests, and tested the UI using automated testing with Espresso.
Used Dagger2 for dependency injection for object references.
Implemented push notifications using Firebase Cloud Messaging API to alert end-users when an inspection failed.
Used ADB commands to install, catch error logs, and screen shots from the android device. Attached logcats and Screen shots to bugs, using Android SDK and ADB commands.
Use ReactiveX for asynchronous programming.
Use RecyclerView, CardView and PulltoRefresh to improve performance and user experience.
Android App Developer / popcornflix, New York, NY
June 2020 – April 2021
https://play.google.com/store/apps/details?id=com.curiousbrain.popcornflix&hl=en_CA&gl=US
Download this free streaming app and instantly watch free feature-length movies and TV shows on your Android device.
Generated the app build on a MVVM architecture.
Perfromed programming on a Kotlin coebase.
Worked on an Agile dev team and completed technical work on an Android Studio IDE environment.
Used LiveData builder to combine Kotlin coroutines with LiveData Coroutines Asynchronous Flow to implement async sequence, or stream, of values in MVVM architecture.
Handled web services calls for information and content data retrieval with Retrofit.
Applied Android JetPack’s LiveData to simplify data updates across the lifecycle and configuration changes for the UI.
Fixed access to Bluetooth settings, network connectivity, Wi-Fi Multicast reception, and connect and disconnect from Wi-Fi.
Performed USB debugging and other adb commands
Utilized AVFoundation and AVKit to perform video streaming services.
Integrated multimedia material and live streaming video, decoding, and playback.
Used Leak Canary to manage, trace and fix memory leaks issue within the Android app.
Practiced pair programming as part of collaborative project development/delivery strategy.
Wrote test cases for presentation layer using Espresso (UI).
Used CharlesProxy API to determine if SSL Pinning was functioning correctly (as part of Secure Coding Practices) so that man in the middle attacks would not be possible).
Utilized Serializable and Parcelable to serialize models, Gson and Moshi libraries used to convert to and from JSON files
Android Application Developer / Auntie Anne’s Lancaster, PA
March 2019 – June 2020
https://play.google.com/store/apps/details?id=com.auntieannes.pretzelperks&hl=en_CA&gl=US
Get exclusive coupons and special rewards, earn points towards free pretzels, and place contactless mobile orders for delivery or pickup (curbside pickup where available). The Auntie Anne’s Pretzel Perks app lets you earn points toward free pretzels with every purchase – Oh how sweet (or salty) it is!
Refactored code base from MVP architecture to MVVM architecture.
Worked with programming team to begin migrating existing Java code to Kotlin language.
Worked with an Agile team and provided estimated effort and technical input to backlog management.
Used Jira for task tracking and effort.
UX/UI developed to turn requirements into working applications with desired UI.
Utilized 3rd-party libraries Google Maps, Retrofit, GSON, GeoJSON, Coroutines, and GitHub.
Worked on payment module to Create a Payment and Process the Order using OAuth2 tokens, the Client Metadata ID, and PayPal's API.
Created RecyclerViews and their respective adapters to display all list information per UI/UX design requirements.
Used Dependency Injection-Dagger, Reactive and functional programming (Rx, Coroutines, Flow etc.), Retrofit, and LiveData.
Practiced pair programming as part of collaborative project development/delivery strategy.
Used Leak Canary to manage, trace and fix memory leaks issue within the Android app.
Created and ran unit and integration tests with Espresso, Mockito, and Roboelectric.
Android Developer / OneMain Financial, Evansville, IN
June 2018 – March 2019
https://play.google.com/store/apps/details?id=com.springleaf.mobile&hl=en_CA&gl=US
OneMain Financial is a personal and auto loan provider. Get mobile access to your OneMain Financial account right at your fingertips. OneMain Financial customers can log in to get their loan account details.
Programmed cryptographic API interfaces to implement algorithms for encryption, decryption, or key agreement.
Carried out build work on a MVP architecture.
Added value encryption in SharedPreferences using AES 128 with the Secure-preferences Library.
Implemented Dagger to work with a Dependency Injection environment to help with the unit testing.
Migrated to Jetpack Compose by adding compose to an existing screen built using Android views and managed state in composable functions.
Used Android Device Monitor for monitoring CPU load, heap size, and memory usage.
Made use of JSON in RESTful services to extend the application response capabilities.
Implemented new features in Kotlin and converted some existing Java classes to Kotlin.
Resolved defects/bugs during QA testing, pre-production, production, and post-release patches.
Wrote unit tests using JUnit and Mockito and developed automated test using Jenkins.
Managed memory leaks in debug builds with LeakCanary.
Designed/developed app using both API/SDK and business embedded logic to achieve desired functionality.
Android App Developer / AmigoCloud, Inc., San Francisco, CA
August 2016 – June 2018
https://play.google.com/store/apps/details?id=com.amigocloud.amigomobile.inframarker&hl=en
InfraMarker is Next Generation Mobile GIS (Geographic Information System). Simple, Yet Advanced, Data Collection and Visualization. InfraMarker solves the problems of Mobile GIS, by providing large geospatial datasets on your mobile device and offline 3D visualization, querying and editing.
Customized List Views, Spinners, Adapters, Table Layouts, etc.
Designed screens using MVP pattern for the application with Android Studio IDE.
Followed Agile methodology with Test Driven Development for implementing the application.
Utilized RxJava and Retrofit to optimize multithreading capacity for exceptional performance.
Applied Leak Canary for memory leak detection/management.
Worked with Jenkins Continuous Integration server and used it to test on real devices.
Used reactive frameworks such as RxJava, RxBluetooth and RxCocoa.
Improved performance on back-end integration by transitioning to Retrofit working with RxJava and parsing JSON objects with GSON.
Usend ADB commands to install, catch error logs and screen shots from the android device. Attached logcats and Screen shots to bugs, using Androind SDK and ADB commands.
Used Unity 3D and ARCore to implement the Augmented Reality features.
Implemented the best practices for Android mobile development with their main components: Activities, Services, Content Providers and Broadcast Receivers.
Create Dagger custom scopes, components and subcomponents to inject the needed dependencies into different Android app fragments, presenters in MVP architecture.
Used Frame Layout method to show background images of the app.
Implemented local database using SQLite and also have good knowledge on code optimization.
Android Developer / Whataburger, San Antonino, TX
January 2015 – August 2016
https://play.google.com/store/apps/details?id=wb.mobile.cx.client.droid&gl=US
Founded in 1950 Whataburger is a burger restaurant chain with locations throughout the U.S. With this app you can check out the easiest, most rewarding way to get Whataburger just like you like it! You can order it online and customize your cravings and add-ons to perfect your order.
Assigned to an Agile dev team that practiced Scrums and Sprints.
Participated in the Agile grooming sessions, retrospectives, daily stand ups, etc.
Worked in Android Studio IDE for application development with Java and Kotlin coding, and added new features in Kotlin as well as transitioned Java arrays to Kotlin.
Followed MVVM and MVP architectures. Worked in a hybrid code-base with both Java and Kotlin coding while transitioning to Kotlin.
Applied design patters Observer, Singleton, Builder, Facade, Adapter, Repository, and Router.
Improved efficiency and readability of previously poorly-maintained code modules through code refactoring and optimization utilizing SOLID principles.
Debugged and fixed critical defects reported by customers and in-house testers.
Migrated REST calls from Robo spice library to Retrofit2 and Rx Java.
Consume, parse and create JSONs using GSON and Jackson libraries.
Create and develop unit testing, instrumentation testing and automation testing for each new feature implemented using Junit, Mockito, Robo electric, Power mock, Espresso, Calabash for Android.
Maintained high quality code using code coverage and code correctness tools like Jacoco, Lint and SonarQube.
Used Git with Github and Gitlab servers for source control.
Education
Not Mentioned
technical skills
Programming Languages: Kotlin, Java, C#, JavaScript
Databases: SQLite, MySQL, Oracle, SQL Server
Operating Systems: Windows, UNIX based systems
Software: Microsoft Office Suite
Misc Skills: Internet Programming, Computer Forensics, Database Design and Implementation, Website Design, Systems Analysis and Design, Data Mining, Database Security, ASP.NET, Advanced Database Design, Big Data, Project Management, Advanced Systems Analysis and Design
Web Services: RESTful APIs, REST, SOAP, JSON, GSON, XML, AJAX
Frameworks: Android SDK, Fabric, Three20, Sparrow, Java Development Kit (JDK), .NET,
Testing: TDD, Unit Testing (Junit), Automated Testing, JIRA, Jenkins, Written Test Cases, Android Testing (Robotium), Espresso, Robolectric, Mockito
Project Management : Agile/SCRUM, Sprints, Daily Scrums, Sprint Retrospective, Sprint Planning, Backlog, Kanban, JIRA, Redmine, Basecamp, Slack, Atlassian Stack, BitBucket, Git, GitHub, SVN, Tortoise
DeBugging/Issue Tracking: JIRA, DDMS tool, ADB, LeakCanary, Firebase Crash Reporting, Fabric Crashlytics
Libraries: Ksoap, Java Swing, NineOldAndroids, RxJava
Multimedia: Picasso, Glide, Fresco
Misc Tech: NFC (Near field communication) technology, GCM (Google Cloud Messaging, Retrofit, Volley, RxJava, Parse, Push Notifications, Remote URLs, Dagger, Urban AirShip, AsynTask, Recycler View, SongyCastle, Nougat, Dependency Injection
Architecture & Design Patterns: MVC, MVP, MVVM, Singleton, Dependency Injection, Builder, Factory, Façade, Proxy, Command, Observer
IDE: Android Studio, Eclipse, IntelliJ
Memory Management:ART, Dalvik, Memory Mapping, leak Canary, Bluetooth Low Energy