Sign in

Sr. Android Developer

Redmond, WA, 98052
March 24, 2023

Contact this candidate



~** years’ Mobile App /Android Development experience.

Mobile Apps Published plus custom development of proprietary internal modules, libraries, and applications.

Experienced in Material Design: Well-rounded knowledge of the Material Design specifications and experience programming with Material Design Views Widgets and design patterns.

Comprehensive experience in front and back end as well as database and web services.

Good understanding of RESTful client and server.

Have worked on cloud with Azure and Google.

Thorough knowledge of XML, XAML, HTML5, CSS3, JavaScript.

Experienced in Java, Kotlin, JavaScript, C, C++, Python.

Proficient with Eclipse and Android Studio IDEs.

Design, develop, implement successful large-scale mobile projects from client requirements to completion.

Enjoy planning, designing, and implementing successful mobile projects from requirements to publication.

Accustomed to working with versioning tools like Git, GitHub, SVN, SourceTree, BitBucket, and Tower.

Good knowledge of programming methodologies like Agile SCRUM and Waterfall.

Adept at using external libraries like Picasso, Retrofit, Sugar, GreenDAO and more.

Great communicator, I enjoy working in teams.

Self-motivated, I enjoy a good challenge and thrive under pressure.

I consider myself a good mentor and I enjoy mentoring junior members of the team.

I am a firm believer in testing: test early, thoroughly, and continuously. The sooner bugs are found the better.

Have worked with push notifications and with as well as internal notifications for Android and wear products.

Well versed in asynchronous programming; successful use of Java’s Thread class as well as Android’s AsyncTask class.

Experience with network programming and consuming third party APIs, guiding the integration into dozens of APIs successfully with highly performant/critical integrations.

Experience working on-site and off-site teams and management of remote teams.

Fluent in Android SDK/NDK and device driver development.

Experience developing highly efficient Java code and view layouts and the ability to diagnose performance bottlenecks.

Performed Espresso, JUnit, Mockito and simulated design patterns to test and develop applications.

Hands-on experience developing stable, reliable and backward compatible mobile applications.

Capacity to identify problems and provide alternative solutions.

Dynamic, competitive, and proactive self-learner who learns and adapts easily to new technologies such as Smart Watches, Chromecast, and Smart TV devices.

Implements best practices and security whenever possible.

Experienced in software development life cycle working with Android.

Skilled use of Threading, Fragments, Implicit and Explicit Intents in Android development.

Experience with apps with networked data from content management systems.

Application of the Pillars of Object Orientated Programming and Android development best practices.

Experienced working with tablets, phones, smart TVs and more recently Android Smart Watches.

Advocate for coding best practices based on Object Oriented Principles.

Generating QR codes using the native Google Vision frameworks or a third-party library like ZXing.

Extensive experience in user interface (UI/UX) using wire framing tools such as Balsamiq Mockups

Full-stack developer cable of designing, developing and publishing scalable and high-performance Android applications working on both front-end and back-end development.

Fast and accurate coding using several IDE's including Android Studio, Eclipse, JCreator, NetBeans etc.


Programming Languages

Android SDK, Kotlin, Java, HTML5, CSS3, JavaScript, PHP, XML, C, C++, Python

Web Services: RESTful, JSON, Volley, Retrofit, AsyncTask

Web Servers: Apache, Tomcat, GlassFish

Hybrid Development

Cordova, PhoneGap, Xamarin

Corona Labs



React Native


(native to Android)




Handler Threads



Kotlin Coroutines

3rd Party APIs

LinkedIn API

Google API

Twitter API

Facebook API

YouTube API

Open Weather API

Open Movies DB

Dependency Injection

Dagger 1, Dagger 2, Butter Knife, Android Annotations



IDEs: Eclipse, Android Studio, NetBeans, JCreator

Methodologies: Agile, Waterfall, Test-Driven Development, Continuous Integration, pair Programming, Xtreme Programming, Scrum

Project Management Tools KanBan, JIRA, Slack, Confluence, Basecamp


Retrofit, Picasso, GSON, Twitter Fabric, Google Maps API, Google Location Services, Google Sign in, Sugar, OkHttp, Butter Knife, Firebase Analytics, Google AdMob, Parse, Facebook API, LeakCanary, Universal Image Downloader, Volley, SQLCipher, Glide, Espresso, SQLite, ORMLite, iText, Firebug, Bolts, Firebase Crashlytics, Otto. C standard Library

MPL and MECL libraries.

Ksoap2 library

Jersey Library

open source libraries,

Java Swing




Continuous Integration




Web Services



RESTful web service integration

RESTful web services


Web Technologies



SQL Server, MySQL, SQLite, NoSQL, Firebase, Parse

Version Control Software: Git, GitHub, SVN, SourceTree, Bit Bucket, Tower


ZRTP media encryption


Architecture & Design Patterns


Clean, Decorator, Façade, Visitor, Proxy, Reactive, Modular, Command, Observer, etc.

Design Patterns

MVC, MVP, MVVM, Singleton, Builder, Factory, Façade,Command,Observer

Memory Management

ART, Dalvik, Memory Mapping, leak Canary, Android Profiler


Three20, Sparrow, Java Development Kit (JDK), .NET, Android SDK, Fabric,

Development Platforms

Android SDK, Firebase, Reactive-X

Issue Tools &Tracking


DDMS tool



Firebase Crashlytics

Automated Testing




UI Automator










Firebase Cloud Messaging


Material Design


Bluetooth Low Energy



Sr. Android Developer Centific (rebranded from Pactera EDGE)

Redmond, WA since Oct’ 2022

Lighthouse Mobile – Internal App

The Lighthouse application is an application for capturing images of retail shelves, running ML inferencing on them, and displaying to the user a list of suggested actions like replacing missing items or swapping misplaced ones. Features include:

a) A scrollable map screen to aid the user in navigating the store

b) A robust camera, featuring both single and burst capture modes. Until it was moved to the server, the Mobile app was also responsible for stitching together captured images into one single panoramic image using OpenCV.

c) User can view planogram compliance data

Project Summary: I was brought on to build an application for planogram compliance from scratch, as well as mentor a junior developer. As the only dedicated Mobile Developer, it was also part of my duties to be an effective representative for the platform in conversations with UX and business. Most of my time was spent/wasted trying to figure out how to improve image quality for photos taken at a walking pace. Professional photographers don’t use smartphones for a reason.


Built an application from scratch following MVVM/Clean architecture patterns

Mentored a junior developer in both Android development and general Agile practices.

Built out a robust camera application using Jetpack CameraX

Sent images to the backend for machine learning analysis using Retrofit and coroutines.

Created a low-level image stitcher using OpenCV and Android NDK to ensure optimal performance.

Responsible for maintaining the project’s Azure Devops code repository, implemented a build pipeline, so apks could be shared with business stakeholders.

Added AR product recognition to camera using ONNXruntime and YOLO model.

Worked to ensure image quality during a walking speed capture.

Added support for push notifications through Firebase Cloud Message and later Azure Notification Hub. Responsible for the project’s Firebase console.

Implemented dependency injection using Hilt.

Ensured app was adequately unit tested.

Since there were no QA testers, took on responsibility of testing and ensuring quality of both the mobile application and its backend services

Responsible for delivering mobile and end-to-end demos at the end of every sprint.


Kotlin, MVVM, Clean Architecture patterns, Azure Devops, Agile SCRUM, Recyclerview, Glide, Hilt, Jetpack Navigation component, Jetpack CameraX, Retrofit 2, Moshi, OkHttp3, Coroutines, Firebase Cloud Messaging, OpenCV, Android NDK, Junit, MockK

Lead Android Developer Genesis NGN

Seattle, WA Nov ’21 - Sep ’22

The Hertz app is an all-in-one Android car rental application, leading the user through the reservation booking process, managing any upcoming reservations, as well as offering a Check-In process that lets you skip the counter entirely when picking up your vehicle.

Hertz Car Rental:


I was onboarded to assist with a redesign of the application reservation flow. I contributed to the full mobile application development lifecycle from planning, requirement gathering, development, testing and launching on Google play store for beta testing.

Worked with a team of 7 Android Developers undertaking key Agile-Scrum methodology, with 2-week sprints

Mentored junior Android developers and conducted peer reviews to ensure code quality while collaborating with cross-functional teams on a “Danger” implementation and associated set of rules to speed up/automate the peer review process

Cooperated with services teams on requirements/models and rendered leadership to help them keep pace with the project

Designed technical implementation details and used JIRA and Confluence for project tools

Implemented the mobile app using Android Studio IDE

App primarily uses MVVM architecture, with newer code taking on more of an MVI focus

App is compatible with Android 8.0 and up

Legacy code in Java, with all new code in Kotlin

Wrote a class to generate ITF barcodes using ZXing

Replaced legacy databinding implementations with ViewBinding (or Compose, when possible) equivalents

Pushed for standardization of UI to Material Design standards, including following the rules of 4s/8s and the establishment of a typography scale

Resolved several application crashing bugs and ANRs that were present in the production version of Android app.

Migrated some legacy service calls away from using RxJava to Coroutines

Added Firebase Dynamic Linking to the project, updated the handling of preexisting deeplink code accordingly

Migrated legacy reservation classes to use Jetpack Navigation

Wrote Viewmodels and usecases for the Select Location portion of the Reservation redesign

Created several Jetpack Compose components for a UI library meant to be used cross-brand

Overhauled error handling across reservation flow

Ensured all new code was up to modern Android design standards and adequately unit tested

Worked on the addition of Hilt for dependency injection

Technologies: Android Studio, Kotlin, Coroutines, RxJava, Java, Retrofit, Viewbindings, Mockito, Danger, PowerMock, Git, SourceTree, JIRA, Material Design, OkHttp, Hilt, GSON, Glide, Google Maps, Lottie, Crashlytics, Dynatrace, Firebase Dynamic Links, Espresso, Jetpack Navigation, ZXing, Jetpack Work Manager, Jetpack Compose, MockK, Jetpack Datastore

Lead Android Developer Ally Financial

Charlotte, NC July 2019 – Oct 2021

This Ally Financial app for Android can handle both banking and investments. The app provides all standard banking features such as ATM and branch locator, account access, balances and transfers. You can also do investment market research with informative charts and analysis, place trades and monitor investment performance.

Ally Mobile:


I was brought on to help with investment, and trading of stocks and options, and market research features. Among my major contributions are consolidation of bank-side transfers and investment-side transfers to the same service endpoint and with similar functional workflow. The wildly different middleware setups and data requirements make this a major accomplishment. I also overhauled a great deal of the badly out-of-date legacy code on the Invest portion of the application to fit with the team’s design standards.

Worked on a team of 3 iOS developers, 2 Android developers, and 3 quality assurance engineers.

Development teams were organized using Agile Scrum methodology used, with 2-week sprints and JIRA and Confluence for project tools.

Mentored junior Android developers and conducted peer reviews to ensure code quality.

Implemented the mobile app using Android Studio IDE.

The Android app is structured using MVP architecture and was designed to be compatible with Android versions 5.0 and up.

Legacy code in Java, with all new code to be in Kotlin.

Refactored layouts across investment portion of app to have flatter view hierarchies, resulting in improved performance.

Standardized dimensions and styling across the investment portion of app to be Material Design compliant.

Resolved several application crashing bugs and ANRs that were present in production version of Android app.

Improved accessibility-related sticking points across the investment portion of Android application.

Created module to display CFRA and Morningstar market research using ConstraintLayout.

Provided demo presentations of the Android app to the Chief Digital Officer.

Refactored multiple older classes from Java to Kotlin.

Participated in a large project to bring the investment-side and bank-side closer together, including using the same endpoints.

Overhauled the bank-side transfers code to use Retrofit with RxJava instead of HttpURLConnection.

Wrote unit tests for legacy classes that lacked them.

Wrote unit and instrumentation tests using JUnit, Mockito, and Espresso.

Refactored several bank-side transfer classes to be MVP patterned and easier to work with.

Assisted in modularization of investment portion of Android app.

Worked with market experts to fix logic errors for purchasing stocks and options and introduced some quality of life changes for traders.

Provided leadership to services teams to help them keep pace with the project.

Collaborated on coachmark Fragment to show users new features.

Worked with market experts to fix logic errors for purchasing stocks and options and introduced some quality-of-life changes for traders.

Implemented a feature to allow traders to easily search for/filter through ETFs that matched a variety of criteria.

Worked with other teams on a generic ExoPlayer Activity as an alternative to using the Brightcove framework.

Pushed mobile team to use Moshi as an alternative for GSON and led the migration efforts.

Refactored a large chunk of the investment code to handle options positions more efficiently.

Converted Invest code away from using findViewByID/Butterknife/Kotlin synthetics to using Android ViewBinding

Implemented Android Bluetooth and Location Connectivity components.

Collaborated with other teams on a Danger implementation and associated set of rules to speed up/automate some of the peer review process.

Created a POC and associated ADR document for Jetpack Navigation.

Technologies: Android Studio, Kotlin, Java, Retrofit, Dagger 2, Butter Knife, RxJava, MPAndroidCharts, Mockito, Power Mockito, Git, Bitbucket, SourceTree, Agile Scrum, MVP architecture, HttpURLConnection, ConstraintLayout, Espresso, Junit, Android Bluetooth, ExoPlayer.

Lead Android Developer FedEx Services

Atlanta, GA August 2018 – July 2019

The FedEx PnD is used by FedEx freight drivers to assign trucks and trailer, and worklists for pick-ups and deliveries. Android app is part of a FedEx modernization initiative, to upgrade from Intermec CN70s, a Windows-based device (“ brick”) to a more modern, lightweight Android-based device. The new application features barcode scanning, RFID tag association, and manages overages/shortages. The Android app also provides helpful features for drivers: flashlight, text messenger with preset messages, and Airwatch kiosk mode enhancements, and Bluetooth Vector device interface with GPS and tracking.

FedEx PnD (Pick-up & Delivery): Proprietary Internal Android App

CoreFramework: A proprietary Android library

The MessageBroke: Proprietary Internal Android application using AIDL


I was brought onto this project a year into development to aid the team in adding some new features, primarily in relation to the telephone features. I also added significant value through research and proposals resulting in improvements to the existing codebase. My biggest achievement was pushing for the application to use analytics to give both development and management greater visibility into application crashes. Implementing and monitoring the analytics was my responsibility. After a certain point, I also became the designated expert for the MessageBroker application mentioned above, and was responsible for researching defects, fixing said defects, and implementing a couple of new features wanted by the architecture team.

Worked on Vector device Bluetooth interface to provide periodic status updates to aid in customer/dispatch visibility using GPS and tractor engine data from the Vector

Implemented Push Messaging to update the driver on worklist and notifications using MessageBroker

Worked with secondary application called the MessageBroker, which monitors the device for changes in connectivity and notifies the backend what is the best way to reach a given device (SMS, Direct IP using sockets, or Firebase Messaging)

Refactored legacy Java code to Kotlin while working on app performance and optimization

Software development, turning ideas into code with java and kotlin, effectively using each language to its advantage

The MessageBroker receives any messages using the aforementioned methods and routes them to the destination app.

Helped maintain the MessageBroker using AIDL

Worked in Android 6.0 developed in Android Studio 3.0 IDE, designed exclusively for use by the Panasonic FZ-N1, using MVP architecture throughout the application

Instrumental in improving the Android app’s telephone features

Responsible for both research/proposals and implementation, and for managing existing codebase

Acted as team mentor as the FedEx team was fairly new to Android, and helped orient, train and manage offshore developers

My biggest achievement was the implementation of analytics to provide greater visibility into application crashes

SME for the MessageBroker application, responsible for researching and resolving defects, and implementing a couple of new features for the architecture team

Implemented and ran testing with AppDynamics analytics to analyze the battery/data footprint

Advised the team on CI/CD techniques, namely pair programming and test-driven-development (TDD)

Trained and mentored the FedEx development team in instrumented/UI testing using Espresso

Ensured all new code written was free of “code smells” using Sonarqube

Updated the application to use Mockito and handled all changes to preexisting unit test cases

Ensured that all new code I wrote was intelligently and comprehensively unit tested

Refactored several application components, and wrote proposals for refactoring for a few others

Frequently demonstrated new features and layouts to the business partners

Created a tutorial/information/quality of life Activity from scratch to support a feature that was confusing for users. Said Activity had varied behavior based on context/Intent passed to it

Fixed a great number of defects/bugs using both AppDynamics and logs pulled from the devices using Airwatch MDM

Cleaned up Log4 logging in both PnD and a helper library to be both more responsive to changes in logging level and easier on device memory

Used the Android Architecture Components with MVVM and Kotlin to cut down on boilerplate code

Worked on a number of Telephony related features, which resolved user issues inherent in the technology

Moved application away from using AsyncTask except when appropriate

Aided in making changes to the app’s Gradle to accommodate for Jenkins CI pipeline changes

The development team consisted of 3 Android developers, 1 web services developer, 1 hybrid, and 4-5 offshore developers

Used Hewlett Packard’s Agile Manager for assigning tasks and backlog management

Optimized an ANR-prone broadcast receiver to offload its work onto an IntentService

Helped other developers thoroughly test their code before it passed to QA, team has one of the lowest defect rates in the company

Participated in managing CoreFramework, an Android library designed to handle interfacing with the Vector, a non-standard Bluetooth device, and barcode scanning using Panasonic’s firmware

Assisted FedEx SMEs in conducting peer code reviews

Overhauled the PnD Settings sub-application to use SharedPreferences

Worked to teach and mentor a team new to Android development and a weak off-shore team, and successfully improved team performance and knowledge of Android development and best practices

Technologies: Android SDK, Android NDK, Android Studio, Java, Gitlab, AppDynamics (analytics), Sonarqube, AirWatch MDM, Jacoco, Junit, Mockito, Espresso, Robolectric, Log4j, SQLCipher, GSON, Retrofit 2, OkHTTP 3, EventBus, Simple XML, Firebase Messaging, the Panasonic ToughPad API, AIDL, MVP design pattern

Lead Android Developer SunTrust Mobile

Atlanta, GA March 2016 – August 2018

The SunTrust Mobile Android app is optimized for Android and is specifically designed to provide quick and secure access to accounts. Users can make payments, transfers, and deposits; view account balances and account activity, and search for ATM / branch locations. The app can integrate with external accounts for payments and transfers, and users can manage credit cards and view FICO scores.

SunTrust Mobile:


Documented all changes made to the app, improvements, fixes and new features, back-end and front-end development.

Participated in the full mobile software development life cycle.

Conducted SCRUM meetings and acted as liaison with the upper management to make everything work faster by removing all blocking situations the team was facing

Added the Parcelable interface to pass custom objects between components via Intents.

Used Espresso for instrumentation testing using Assertions, Matchers and Actions.

Worked with LRU Cache to increase the performance of ListView scrolling.

Updated the look and feel following Material Design guidelines, and implemented several Fragments for the UI.

Ensured excellent form factor integration by creating multi-panel activities with Fragments.

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

Supervised the creation of the unit, integration and stress test cases with JUnit, Espresso, and MonkeyRunner.

Actively worked with the back-end team to improve the RESTful API to include new features.

Developed compound views to present information to the user depending on its preferences.

Managed private Git code repositories with SourceTree.

Implemented a WebView control to reuse some legacy web application functionality within the native app.

Implemented Google Analytics and Firebase for various analytics.

Utilized the Android Studio IDE to develop and code the application in Java.

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

Led a team of three Android developers, one hybrid developer, and one back-end developer and one front-end developer.

Conducted frequent code review activities with the members of the development team.

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.

Configured Git repositories on private Git server for the Android development team.

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.

Documented the progress of the daily stand-ups and Scrum meetings with JIRA, Confluence and Slack.

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.

Managed team and optimized workflow with balanced task assignments and knowing the skills and aptitudes of my team.

Technologies Used

MVP pattern, SQLite, SQLCipher, Keychain, Glide, Google Maps API, Scrum, v7 Support Libraries, WebView, Agile/Scrum, SourceTree, Git, Java, Android Studio, UI/UX, database, Certificate pinning, Material Design, Expresso, Monkey Runner, Junit, Firebase, Flurry, Git, JIRA, Confluence, Slack, ListView, Fragments, Jenkins, Continuous Integration, Encryption, Security, RESTful API

Lead Android Developer CarMax

Richmond, VA February 2015 – March 2016

This car shopping app lets users search from a large inventory of cars across the United States. Advanced search filters allow search by make, model, years, price, features, MPG, price, location and more. Superior app performance with great handling of photos.

Ford Mobile:


Data caching done with an SQLite local database encrypted for enhanced security using SQLCipher

RESTful client implemented using Retrofit and GSON for serialization.

Maps done through Google Maps using v2 API and Google Localization Services.

Images loaded asynchronously resized and cached using the Google Glide Library

UI/UX for maximum brand recognition, simplicity of use and intuitiveness

The project was managed with an Agile SCRUM methodology. I assisted and at times took over the position of SCRUM Master

Implemented the menu using the support v7 Navigation Drawer with multiple options

Constructed a layout following Material Design Guidelines and using various views and layouts, coordinator layout, image views, text views, etc.

Participated in architecture, design, implementation and launch.

Proposed a front-end architecture using the MVP Model design pattern.

Implemented Android Support Library for backwards compatibility.

Used Google Cloud Messaging for push notification and user set alerts of inventory changes.

Used Jenkins continuous integration and Espresso for automated testing.

Acted as direct interface with client and participate in overall development activities including requirements elaboration, design, and coding.

Performed peer reviews on colleague’s code to ensure consistent standards.

Used SharedPreferences to provide consistency with key-value pairs.

Provided the app with functionality that enables location awareness with Google Play Services

Used Localytics to find issues, get stats and improve performance.

Mentored junior developer on best practices for coding.

Added Retrofit to consume RESTful web services to parse realtime-data and new items.

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

Led Android development and worked closely with cross-functional teams of web development and remote contractors encompassing a variety of Android specialties.

Established the coding standards to be used in the Android development.

Crashlytics used for testing and various Fabric tool employed.

Used Google ZXing for scanning car stickers.

Dagger 2 and Butter Knife used for dependency injection and decoupling.

Technologies Used

MVP pattern, SQLite, SQLCipher, Facebook and YouTube APIs, Glide, Google Maps API, Scrum, REST, Android Support Library, Google Cloud Messaging, Firebase, Google GSON, Okio, Crashlytics, Retrofit, Fabric, Butter Knife, greenrobot EventBus, CommonsWare Android Components (CWAC), LeakCanary

Senior Android Developer Disney/Disney Junior

Burbank, CA April 2014 - January 2015

Kids can watch their favorite Disney Junior shows or live TV* - all with the Disney Junior app. Full episodes of favorite TV shows anytime. Also includes silly shorts, cool clips, and new music video, and live TV. Select games and TV episodes in Spanish. This app uses your camera feature to let you send and upload photos. Favorites section for keeping track of favorite content.

Disney Junior:


The application was written natively with the Android SDK, and it support devices starting from KitKat.

Used Android Studio as the IDE since it includes all the tools needed to develop, test and deploy the application.

Used Lazy Loading to improve performance over heavy visual content.

Used Intents & Intent Filters to initiate activities and pass information between activities and fragments.

Created Compound views for a more attractive and efficient design.

Implemented Google location services to support use by Spanish audience.

Used MediaPlayer with VideoView to stream and render live streaming media and streaming media.

Used Fragments for easier navigation & re-usability of UI components.

Implemented Android Support Library for backward

Contact this candidate