Sr. Android Developer
- Designed App Architecture, select necessary tools, frameworks and patterns with Android JetPack Architectural components (LiveData, ViewModel, Room)
- Worked with Android Beacon Library API to request ranging update from one or more beacons at a frequency of approximately 1Hz.
- Exported data to CSV or PDF using Android PdfViewer and FastCRV external library.
- Saved and backup a GPS "mileage receipt" for each trip using FireBase Cloud Backend and Realtime database services.
- Upload paper receipts of meals, supplies, and other expenses with background threads using JobSchedulers and JobIntentServices to MongoDB backend.
- Consumed Milage API, Accounts details API using Retrofit, okhttp and RxJava(RxAndroid) networking libraries.
- Migrate and develop new products features using Kotlin programming language features and Android KTX.
- Upgraded payments systems within the app by incorporating Stripe SDK to accept and manage card payments.
- Collaborated with external clients to include Branch SDK for mobile conversion, retention, and engagement through deep linking and user routing.
- Use Mockito API for Capturing the arguments, wrapping java objects with spy and verify the calls on the mock objects.
- Refactored code base to implement dependency injection strategy using Dagger library.
- Created several components and factory interfaces to isolate app components into modular fashion.
- Implemented background services to keep track of BLE connectivity and resolve issues with Android Oreo background limitations.
- Coded schedulable jobs through WorkManager Api to have routines for backup information from Mileage Website entries.
- Contributed with proper documentation and KT documents to ease onboarding process for new developers.
- Defined migrations strategy with the implementation of Room database to remove previous SqliteOpen helper implementation.
Sr. Android Developer
- Coded in existing MVVM architecture using Data Binding Library to bind UI components in the layouts to data sources.
- Created Repository layer and abstracted monolithic ViewModel into view - case scenario.
- Performed Offline database synchronization with Realm Database to display the latest news from Mercedes-Benz, View manuals and how-to videos.
- Scheduled payments with Mercedes-Benz Financial Services using Confidential Pay API to request any credit or debit card stored in customer's Confidential Account.
- Posted and update account and contact information with Backend API using Retrofit Form-Encoding and perform secure network traffic transmission.
- Worked with Android NDK and use ReLinker library to load native libraries asynchronously.
- Upgraded Splunk MINT SDK to collect crash, performance and usage data for your app and send it to our Cloud servers.
- Worked alongside senior developer to use AltBeacon library to interact and get notifications when one or more beacons appear or disappear.
- Addressed many of the development and performance issues that plagued reflection-based solutions using Dagger2 injection library.
- Communicated with Amazon Web Services (AWS) for secure cloud services platform, database storage and content delivery.
- Organized business logic, workflows, processes, rules in Domain layer and communicated with data/ presentation layer in MVP architecture.
- Integrated OAuth2 authentication with Identity Server.
- Enhanced the module that communicates with the Java WebServices with Volley library.
- Collected customer data and send it to your tools for mobile analytics, marketing automation, and raw data access with SQL using Segment SDK.
- Replaced Samsung Pay with card.io library for credit card scanning and BrainTree SDK.
- Used Git flow for code integration, Jenkins for continuous integration and JIRA for bug tracking.
- Worked on Schedule Deliveries’ and Real Time tracking’ acceptance criteria’s in TDD manner.
- Wrote automated UI test cases using Espresso and functional integration testing using Robolectric API.
- Performed additional beta testing using Confidential Cloud testing mechanism.
- Encrypted card details in Android Keystore system to store cryptographic keys in a container to make it more difficult to extract from the device.