Senior Android Developer
Senior Android Developer Chevron Mobility
Location: San Ramon, CA October 2019 - Present
Play Store: https://play.google.com/store/apps/details?id=com.stuzo.chevron
+Work on application from scratch using JetPack components and Android KTX.
+Migrate code to Kotlin language with coroutines, sealed classes, null safety check on Techron Advantage Card feature to check balance and make payments.
+Include Pdfviewer SDK to view in-app receipts for Mobile Payments.
+Add ability to mock final classes/methods using Mockito 2.1.0. and strive for 85%unit test code coverage.
+Add WorkManager to project to periodically sync application data with a server and send logs, analytics to backend services.
+Pair programmed with dev-ops team to enhance deployment process for several environment using Bamboo and Jenkins.
+I was responsible for writing the technical API documentation.
+Implemented Data Classes, Sealed Classes, Singleton Objects.
+Enable modular app development and work on Chevron SDK with functional reactive programming using Map, Flattop, Zip, Concat operators.
+Implement LiveData to notify views of any database changes, manage activity and fragment lifecycles.
+Used Koin for Dependency Injection and Data Binding with Observable for easy binding integration with Koin for Dependency Injection.
+Pair-program to link PayPal account and Techron Advantage Card to user account using RxKotlin and Retrofit.
+Add a custom account to the user's device to authenticate back-end services using OAuth 2.0
+Independently work on the feature to sign up and create a user account for mobile payments.
+Improve location-based features including geocoding, geofencing for station locator feature, find a Chevron or Texaco station.
+Mentor juniors to explain code, pair program, explain approach to architecture and perform code reviews.
+Ensure that good standards and best practices are in place for all code released with code reviews.
+Analyze the requirements and develop strategies for the development of the Web and Android product.
Sr. Android Developer FOX News Network, LLC
Location: New York, NY February 2019 - October 2019
Play Store: https://play.google.com/store/apps/details?id=com.foxnews.android
+Introduced a free 10-minute preview of Fox News Channel & Fox Business Network channels in for a specific region using product flavours.
+Worked on ‘Live events and exclusive programming with streaming coverage’ domain and network module.
+Implemented several libraries for Kotlin effort, like RxKotlin, Kotlin-kapt and Android KTX.
+Replaced Google In-App purchases with Amazon In-App Purchasing API to offer digital content, subscriptions for Video on Demand and Live TV.
+Successfully refactor module created in MVC to MVVM design pattern using base data-binding library
+Included token-based authentication with Google in the existing login screen of the application
+Stabilized app by fixing memory leaks using LeakCanary, avoid ANR and Out of memory exceptions
+Modified the internal Realm database adding fields to store news information locally using data managers and content providers.
+Paired Program to implement 128-bit encryption to protect customer data in transit and on device using Java Cryptography Architecture and Android Crypto API.
+Improved background processing services using foreground services, JobSchedulers and FCM to selectively wake application up when network events occur.
+Refactored the clean cache mechanism to clear all user preferences and selections, visitor tokens, and all credentials when the user logs out.
+Explored and integrated the multi-window and drag-and-drop management feature for Android 7 preview “N”.
+Worked in Pair Programming from Driver and Navigator across several iterations in the project strategy to reduce the learning curve on the customs process and custom SDK.
+Enriched user identities, segment and activate audiences, measure and optimize campaigns across all connected devices by integrating Kochava sdk in the app module.
+Incorporated Exoplayer API UI module for displaying media and controlling playback with support for advanced HLS features.
MID LEVEL APP DEVELOPER NEXTDOOR.COM
Location: San Francisco, CA February 2018 - February 2019
Play Store: https://play.google.com/store/apps/details?id=com.nextdoor
+Wrote algorithms in MVP architecture for real-time updates, local data access for offline scenarios, and data synchronization with customizable conflict resolution when devices are back online.
+Independently worked on ‘Find local events like cookouts and community activities’ feature using Google Maps SDK, Places API and location services.
+Created custom and compound views for ‘Share neighborhood crime reports’ UI screen with material design principles.
+Liase with external client based in London to implement Krux Mobile Data Activation Platform to capture people data from all mobile platforms.
+Included Urban Airship sdk forIn-App Purchase and Subscriptions, configure push notifications to know about great deals and latest coupons.
+Tested and verified Audience Studio mobile app SDK implementation using Charles Proxy, MockServer API and Espresso.
+Wrote Network calls using Reactive Streams API to govern the exchange of stream data across an asynchronous boundary with transformation, splitting, merging.
+Performed Branch SDK integration for deep linking, user routing to increase mobile conversion, retention, and engagement.
+Made secure HTTP requests to GraphQL and REST endpoints to access, manipulate, and combine data from one or more data sources with Amazon DynamoDB.
+Customized the background Executor used to run Workers, and the WorkerFactory used to construct Workers for multithreading implementation.
+Included ImageViewTouch ImageView library, Jose Time library, Glide image loading and FaceBook Audience Network library to support multiple features.
+Managed user content securely in the cloud or on the device RSA and Java cryptography API.
+Implemented DIP using Dagger library by creating and managing the graph of decouple dependencies using custom scopes, custom components and modules.
+Implemented In-App update feature using Android Play Core library with immediate flow option which requires users to download and install an update before continuing the app.
NATIVE ANDROID DEVELOPER SONIC IND SERVICES LTD
Location: Oklahoma, OK January 2017 - February 2018
Play Store: https://play.google.com/store/apps/details?id=com.sonic.sonicdrivein
+Added maps-based data on Google Maps to find the closest SONIC Drive-In locations in user area and see their hours.
+Included Splunk MINT to collect crash, track all HTTP and HTTPS calls, monitor fail rate trends and send it to Cloud server.
+Coded network module using Volley library to mediate the stream of data between different API Components, supported request prioritization and multiple concurrent network connections.
+Used okhttp, Retrofit, Realm database library to implement on-device data store with built-in synchronization to backend data store feature.
+Worked with lead to integrate Kochava SDK for mobile install attribution and analytics for connected devices.
+Generated a custom behavior in multiple screens included in the CoordinatorLayout to hide the Toolbar and the Floating Action Button on the user scroll.
+Used Firebase Authentication for user logon and SQL Cipher to encrypt transactional areas.
+Used Paging library to load information on demand from data source.
+Created unit test cases and mock object to verify that the specified conditions are met and capture arguments of method calls using Mockito framework.
+Implemented authentication support with the remote server using a Bound Service and an authenticator component, oAuth library.
+Coded in Clean Code Architecture on domain and presentation layer in MVP and apply builder, factory, façade, design patterns to make code loosely coupled in layer communication (Dependency principle)
+Integrated PayPal SDK and card.io to view billing history and upcoming payment schedule in custom view.
+Included Google Guice dependency injection library for to inject presenters in views, make code easier to change, unit test and reuse in other contexts.
+Used Bolts framework to perform branching, parallelism, and complex error handling, without the spaghetti code of having many named callbacks.
MOBILE APP DEVELOPER GREEN DOT CORPORATION
Location: Pasadena, CA December 2016 - January 2017
Play Store: https://play.google.com/store/apps/details?id=com.gobank
+Communicated with GoBank backend API systems using RxJava 1.0, Retrofit to parse XML data and create a preferences UI for controlling network usage, and respond to connection changes.
+Integrated ThreadMetrix SDK for Strong Device Identification, Application Integrity Assurance, Jailbreak, Root Detection and Malware Detection.
+Added TrustKit as a dependency to the App and generated SSL pins for the App's server endpoints and choose a pinning policy.
+Utilized Facebook Stetho, CPU profilers, memory monitors, Services and Android Profiler to identify issues and enhance the performance.
+Included Google Calendar API to read calendar events, read contacts, add or modify calendar events and send email to clients.
+Included pdfviewer Android library for displaying PDF documents with animations, gestures and zoom effects for monthly statements documents.
+Implemented system tooling to send sticky broadcast, disable your screen lock, read sync settings, run at startup, prevent phone from sleeping, toggle sync on and off.
+Used tools to identify battery-draining culprits and used Android Debug Bridge shell commands to test several of the power management features.
+Configured ProGuard to remove APIs and resources with the right flags and improve app's memory consumption by removing any redundant, unnecessary, or bloated components.
+Created custom network interceptors for handling custom tokens on Custom Loyalty feature.
+Implemented a custom view to show a graphical representation of split between credit limit, usage and balance of a user.
+Included Android-Job utility library to run jobs delayed in the background by creating JobRequest with the corresponding builder class and schedule this request with JobManager.
ANDROID DEVELOPER TRIPIT INC.
Location: San Francisco, NC June 2015 - December 2016
Play Store: https://play.google.com/store/apps/details?id=com.tripit
+Inject View, Resource, System Service and other objects with RoboGuice dependency library.
+Created a custom component for ‘Monitor for flight refunds’ user story.
+Configured GCM backend, wrote services, broadcasted receivers and background threads to send real-time flight status alerts.
+Integrated Google Maps V2 sdk to include interactive airport and terminal maps.
+Included LRUCache implementation to maintain an in-memory LRU cache of the saved entries and maintain a Journal file for recording various operations that cache makes.
+Implemented several test cases with multiple libraries like jUnit, Mockito, Espresso, DaggerMock, and PowerMockito.
+Optimized loading of Views and Drawables for displaying animated GIFs on Android in WebViews.
+Upgraded Facebook and Twitter sdk for new features and connect to Travellers communities.
+Worked independently on integration of Loopj library for asynchronous HTTP requests, handling responses in anonymous call-backs.
+Paired program on integrating Apache James Mime4j MimeStreamParser, for e-mail message streams in plain rfc822 and MIME format.
+Integrated Facebook login feature, which increased app usage by ~20.
+Communicated with external clients to integrate AppLovin and AppsFlyer sdk to leverage creative and custom content that engages users and boosts downloads.
BACHELOR OF SCIENCE COMPUTER SCIENCE
BACHELOR OF SCIENCE BUSINESS ADMINISTRATION
OTHER PERSONAL PROJECTS
Dots and Boxes Basic AI Game – Java Application
+Imitated the famous on-line game “dots and boxes” using Java.
+Used Minimax rule set to implement a basic AI user can play against.
+Utilized Java’s own JSwing for UI development.
Fantasy Movie League picker - Python Script
+Python script that pulls data from a website, translates data into a readable excel file, and inputs information into another website.
+Showed ability to learn and implement new frameworks.
+Utilized BeautifulSoup library to extract information from website.
+Utilized RoboBrowser library to simulate login to fantasy movie league website and input data.