Senior Android Engineer
12+ years of experience in Android development.
* **** ********* ** **** Store.
Effective working on Android development teams applying Agile/Scrum methodologies.
Experienced working on Agile teams and applying Agile project methodologies with Daily Scrums, Sprints, Sprint Planning, Sprint grooming, Sprint Retrospective, and Sprint Backlog.
Hands on with MVP, MVVM, and MVC architectures.
Program in Kotlin and Java, with experience converting Java programs to Kotlin.
Experience with frameworks RxJava, RxKotlin, RXBluetooth, and RxAndroid.
Stay up to date on the ever-changing mobile and Android technology landscape.
Knowledge and demonstrated skill applying Activities, Fragments, Custom Views, Services, Volley, Support library, and 3rd- party libraries.
Fully conversant with OOP principles, software development frameworks, and design patterns.
Strong knowledge in Android multithreading frameworks: AsyncTaks, IntentServices, Handlers, Threads, Runnables, Loopers.
Implement asynchronous services to update local storage and notify updates in the UI (Content Providers, Services, SyncAdapters, Loaders).
Implement the RESTful data consumption using Retrofit with an OkHttp client, GSON and Jackson converters and a custom interceptor.
Experienced using the main ViewGroups provided by the Android SDK: FrameLayout, LinearLayout, RelativeLayout, CoordinatorLayout.
Knowledge/experience applying dependency injection (DI) framework for Kotlin development.
Dependency Injection with Dagger 1, Dagger 2.
Utilized Google Material Design for the user interface (UI)/user experience (UX) re-design of the apps look, feel, and functionality.
Configured Charles Proxy for web debugging.
Applied various project management tools such as Rally to track each phase of the development iterations and releases and map defects with the user stories.
Set up the development process for real-time data exchanges by deploying a Firebase platform.
Hands-0n with various JetPack components to make development and maintenance more efficient.
Applied Android Studio as the primary IDE to develop, test and deploy Android applications.
Used Bitbucket to manage Git repositories and versioning control.
Optimized Android applications by implementing designs in high-performance frameworks and libraries.
Improved application performance using Activities, Activities for Result and RecyclerViews.
Adept with Android performance tuning and crash reporting applications as well as use of Leak Canary, Firebase Crash Reporting, Crashlytics and various profiling tools.
Implemented the Android application in MVP architectural pattern.
Used design patterns: MVP, Factory, Singleton, and Decorator.
Implemented automated testing with Espresso and Mockito.
Experience with various APIs including Facebook, Twitter and YouTube
Experience uploading apps on the Google Play Store.
Hands-on experience with the following technologies:
Databases: Room, MySQL, SQLite, Firebase DB
IDE: Eclipse, Android Studio, IntelliJ
Multimedia: Glide, Picasso, ExoPlayer, Videoplayer
Development: JIRA, Continuous Integration, Git, GitHub, TDD, BDD, Kanban
Project Methodologies: Agile, Scrum, Waterfall
Android Dev: Espresso, Mockito, Moshi, Retrofit, JUnit, Glide, Loopers, Loaders, AsyncTask, RxJava, RxKotlin, RxBluetooth, RxAndroid, GSON, LiveData, MVVM, MVC, MVP, Room, Dagger 2, Jenkins, Android Profiler, Coroutines, Layouts, Google Architectural Components, EventBus, RecyclerView, Services, LiveData, Google Maps API, Mockito, Mitek, MiSnap SDK
Senior Android Developer
Dearborn, MI from Oct 2021 to Present
Focus your time and energy on what matters most with an app that revitalizes your ownership experience. Connect & Control: When equipped with Lincoln Connect™ modem, lock/unlock, stop/start, create scheduled-starts and more from virtually anywhere with complimentary remote vehicle controls
With FordPass you can lock/unlock, stop/start, create start schedule from virtually anywhere with complimentary remote vehicle controls when equipped with FordPass Connect™ modem; view important vehicle details like fuel level, maintenance information and more with FordPass Connect modem; get Vehicle Health Alerts when your Ford needs attention; access FordPass Rewards™ to earn points you can use toward discounts on service, maintenance and new vehicle purchases; and more.
•Worked in team of 9 developers to build custom components for use in the FordPass and Lincoln Way apps.
•Cleaned up color code that too many developers had added to unnecessarily.
•Worked to migrate XMLs to Jetpack Compose.
•Cleaned up Kotlin codebase from prior code practices that contained bloated code and minimal documentation.
•Built components to be used by other developers within the Ford team to use for their app.
•Worked with RxJava for most asynchronous processes to simplify threading.
•Used GIT for code repository and maintaining current and historical versions of the Android app source code.
•Programmed function to allow users to remotely control and monitor their vehicle’s status.
•Worked around BluetoothAAdapters and BluetoothServices with BroadcastRecivers, EventBus and IBinder interface.
•Programmed function so users can leave their vehicle at a battery charging station and monitor the charge percentage of battery from app.
•Performed technical work in Android Studio with coding in Kotlin using an MVVM Android app architecture.
•Utilized Android SDK and supporting development devices.
•Received work task ticket, contrived logic, raised PR, merged with main branch, built deployments and demonstrated the builds.
•Refactored RxChains into Coroutines.
•Used Android JetPack’s LiveData to simplify data updates across the lifecycle and configuration changes for the UI.
•Reviewed existing code functions and optimized logic.
•Utilized InVision Designs to create layouts.
•Utilized databinding for ViewModel Binding
•Implemented Dependency Injection with Dagger.
•Implemented push notifications features with Firebase’s Cloud Messaging Service.
Sr. Android Developer
Redwood Shores, CA from Nov 2019 to Oct 2021
Monitor all your money with the only investment tracker you will ever need with the Personal Capital Investing app. This is the smart way to track and manage your personal finance. Now you can see all your accounts in one place—bank accounts, stocks, retirement funds, and your investments.
•Worked on an Android team with 6 iOS Developers, 4 Android Developers, 4 QA and 3 UI/UX designers in an Agile environment.
•Refactored code base from MVP to MVVM architecture.
•Contributed with migration from Java to Kotlin JVM language.
•Worked closely with backend developers to debug and create proper documentation in multiple endpoints.
•Refactored Retrofit network API to create a Singleton approach.
•Refactored callback strategy with Lifecycle aware Observables to consolidate backend consumption.
•Utilized AndroidPlot API in different places to chart multiple data from server.
•Created multiple log process utilizing Logger API to easily identify investments flow as part of the application.
•Debugged code to support multiple screen sizes and created multiple layout qualifiers.
•Created CustomViews to reduce project overhead can increase reusability of code in multiple places.
•Created push notifications message from Firebase console and debugged message received from Firebase console.
•Created cache strategy has part of the retrofit client.
•Utilized Charles Proxy for increase the performance in the consumption of network endpoints.
•Collaborated with login feature to implement different sign in options utilizing fingerprint device feature.
•Assisted web with automatic/ manual QA, and helped QA write Cucumber/ Ruby tests for web as well as for Android.
•Debugged using Logcat/ DDMS, crash reports with Crashlytics, and network issues with Charles Proxy/ Splunk.
•Utilized GSON Convertor Factory to parse JSON object in web services consumption and used Retrofit and RxJava for essential framework to provide asynchronous communication with back-end services.
Sr. Android Developer
San Francisco, CA from November 2017 – November 2019
Delivery anywhere you are. DoorDash offers the greatest selection of your favorite local and national restaurants -- more than 310,000 menus across 4,000+ cities in the U.S.,Canada and Australia. Spend more time doing the things you love -- we'll take care of the rest.
•Worked with other developers to write software based on backlog items.
•Worked with testers to ensure they are engaged and ready to test the software at the right time in the development cycle.
•Supported, refactored, and enhanced existing production systems.
•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 GitFlow for code integration.
•Utilized Jenkins for continuous integration.
•Applied JIRA for bug tracking.
•Worked with Android NDK and use ReLinker library to load native libraries asynchronously.
•Implemented Android Bluetooth and Location Connectivity components.
•Debugged and fixed access to Bluetooth settings, network connectivity, Wi-Fi Multicast reception, and connect and disconnect from Wi-F.
•Worked on `Schedule Deliveries’ and `Real Time tracking’ acceptance criteria’s in TDD manner.
•Wrote automated UI test cases using Espresso and Mockito and functional integration testing using Robolectric API.
•Performed additional beta testing using Google 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.
Redwood City, CA from March 2016 – October 2017 https://play.google.com/store/apps/details?id=com.poshmark.app
•Designed main app screen using material design principles using coordinator layout, Recyclerview, collapsable toolbar and bottom-up sheets to display trendy fashion, shoes, beauty, jewelry, watches and accessories.
•Worked with a medium-sized team following an Agile methodology, and applied pair-programming.
•Used Jenkins for CI/CD and data repository with SVN.
•Integrated Snap Creative Kit SDK to let users send photos or videos to the Snapchat camera preview and use Snapchat tools.
•Developed new Kotlin modules and migrated existing code into Kotlin.
•Worked on Braintree Client with Encryption Library to securely collect payment information from customers and customize checkout experience.
•Pair-programmed to integrate Mitek MiSnap to capture ID documents like passports, id cards, etc. to verify users' identities.
•Performed vital task like HTTP transport, error handling, authentication, JSON parsing and media download/upload using Google GData client Java library.
•Used SignPost oAuth library to sign HTTP messages and request tokens from an OAuth service provider.
•Created modules, components and custom scopes using Dagger2 and perform loose coupling.
•Wrote code on network module to implement Okhttp caching mechanism and use Mockserver to mock API responses.
•Applied Android SDK/NDK and device driver development.
•Validate asynchronous operations whose results affect subsequent operations in a UI test using Idling Resource Espresso.
•Worked on existing clean code architecture in MVP and create shopping module, add_to_basket module and customer_profile module.
•Provided backwards-compatible notification API with Wear and Auto support, media playback and routing.
•Developed Compatibility APIs for checking and requesting permissions in app
Seattle, WA from January 2015 – March 2016
The Redfin app provides the most accurate home data with MLS real-estate listings updating every 5 minutes. Search nearby homes, condos, and townhouses for sale. Browse photos of each home, see the most up-to-date property details, and instantly book a free home tour with a Redfin Real Estate Agent. Find your dream house with Redfin's award-winning tools and full-service brokerage at your fingertips!
•I worked on an Android team consisting of 5 developers working within an Agile project methodology. Hands-on technical work highlights:
•Customized Home Filters to enable search by price, property type, and desired features.
•Configured app to enable users to save favorite homes and property searches to their Redfin account.
•Configured app to get directions and alert a user to attend every open house in user’s area.
•Utilized Facebook Stetho, Charles Proxy API, Memory profiler, HierarchyViewer and Android Profiler to identify issues and enhance the performance.
•Configured MixPanel API to send instant notifications when a new home hits the market and push notifications for any house, condo, or townhome that meets search criteria.
•Created bound service to send requests, receive results, and even do so across processes with interprocess communication (IPC).
•Created a custom transition animation and applied one or more animation effects to all of the views in a view hierarchy.
•Coded the algorithm necessary to properly structure the query for the request needed to implement the “Filtered Search” feature.
•Migrated from AsyncTasks and IntentServices-based components to a reactive paradigm with RxJava concurrency modelling.
•Included Android-Job utility library to run jobs delayed in the background by creating JobRequest with the corresponding builder class and scheduled this request with the JobManager.
•Communicated with Calendar AP and content providers to read calendar events plus confidential information, read contacts, read web bookmarks, and history.
•Refined and improved performance of the app using SonarCube, Network profiler, CPU, and battery profilers.
•Developed update patches, modules, and components to mitigate security risks.
•Worked with other developers, designers, and product/business managers to develop new features consistent with product roadmap.
•Created frameworks and automation in the development process to maximize build efficiency and secure solid code.
•Maintained the Session Management for the app and supporting screen orientations.
BOSS Revolution® - Cheap Calls
Newark, NJ from December 2012 – December 2014
BOSS Revolution is an international calling app with a difference. Get crystal-clear call quality, send a text now, and do a mobile top-up. All in one free calling app. Just download the app and start connecting.
•Coordinated with Sr. Developer on Apache Commons Codec software for implementations of common encoders and decoders such as Base64, Hex, Phonetic and URLs
•Incorporate StickyListHeaders library to integrate section headers in ListView.
•Worked on Apache HttpMime API module to support MIME multipart encoded entities.
•Provided development support to the core team, troubleshooting some complex iOS / AIR / Android camera extension debugging for a specific project on a short-term basis.
•Coded to implement the Observer pattern, the Iterator pattern, and functional programming
•Used Git for source management
•Used OkHttp for exchange data & media through HTTP protocol.
•Worked with EventBus library for simplifies communication between Activities, Fragments, Thread, Services, etc.
Goodlettsville, NY from July 2009 – December 2012
The Dollar General app enables you to save money with coupons, ads, DG Pickup, and more…from one place.
•Refactored unorganized spaghetti codebase into MVC architecture following SOLID principles.
•Communicated with backend server using Volley and make multiple concurrent network connections with support for request prioritization.
•Defined deep links with account details and third-party implementation.
•Made a distinction between development and production versions of the app each with their distinct credentials and settings in the backend using Urban Airship.
•Fixed memory leaks and configured data offline usage, push notifications, content providers, multiple form factors, accounts, and sync on Android.
•Decreased memory leak by 90% using AsyncTaskLoaders, weak References and LeakCanary tool.
•Implemented Cart Calculator algorithm to abstract all the logic of network retrials, error handling and callbacks optimization using queues to avoid directly calling API endpoints from the activities.
•Increased security in local SQLite databases with SQLCipher encryption and decryption.
•Created navigation and refactoring static fragments with Fragment Transaction and handling the backstack for a better experience.
•Resolved intra-library dependencies and replaced the standard System.loadLibrary call using ReLinker library.
•Used Android content providers for implementing features like sending E-mails, sharing using Facebook, Email, Twitter, SMS, etc., from the app.
•Used the SQLiteOpenHelper to connect with the local database and perform CRUD operations.
•Coded Custom Views and animations as per iOS app prototype and implement Android components to specifications.
•Performed bug fixing from the tickets assigned in JIRA and worked independently on most features, reporting to the team leader daily.
Bachelor of Science - Game Simulation Programming - Devry University