- 11 years developing Android mobile application development expertise; including experience successfully deploying commercial Android application(s) in Play Store.
- Strong experience with full SDLC projects in Waterfall and Agile /Scrum methodologies
- Exposure to tools such as Retrofit, Kotlin, Coroutines, RxJava, Jetpack, Firebase, etc.
- Familiar with clean architecture, Live Data, MVVM, MVP, Unidirectional data flow, etc.
- Expertise in UI development with programmatic layouts per design specifications
- Experience in coaching and mentoring developers, through peer reviews of code, component designs and documents to ensure quality component delivery.
- An understanding of web service protocols (REST, SOAP, API)
- Sound computer science foundations: algorithms, data structures, concurrency, threading, and programming languages
- Experience working in an Agile environment, and a clear understanding to practically apply Agile principles
- Proven ability to work effectively within cross - functional/multi-skilled teams
- Experience with Test-Driven Development (TDD) and Behaviour-driven Development (BDD
- Hands on experience in creating clean, decoupled Android Architecture using OOP and Reactive Programming
- Hands on working experience of testing devices with Bluetooth and Smart BLE protocols
- Experience or knowledge inADB commands / Linux Commands
Architecture & Design Patterns: Methods
IDEs: Android Studio, Visual Studio, Eclipse, IntelliJ
Bug Tracking: Android Profilers, ADB, LeakCanary, Firebase Crash reporting, Crashlytics, ANR SonarQube, JIRA
Version Control: Jenkins, Git, SVN, Git, GitHub, BitBucket, Circle CI, TeamCity, Gitlab
Programming: Kotlin, Java, C++, C#, ASP.NET, Object Oriented Programming (OOP)
Database: Room, Firebase Realtime, MySQL, SQLite, Realm, GreenDAO, Mongo DB
JAVA & Android: UI/UX
Confidential | Orlando, FL
Senior Android Developer
- Taking part in full Software Development Lifecycle of multiple applications from concept to production.
- Contributing several design elements that add great value to the application and improve the UX.
- Interacting closely with both the Product and the Design teams.
- Implementing Google Maps API for package tracking.
- Consuming proprietary web service to retrieve delivery vehicle coordinates for real-time display on user devices.
- Integrating location-based services using Google Maps, Google Places and Google Directions APIs to display locations of the drivers.
- Migrating code base from Java to Kotlin.
- Programmed Kotlin expressions and higher order functions to reduce boilerplate code.
- Developed new features in Kotlin to reduce codebase with data classes and extension functions.
- Use of Reactive-X through RxKotlin and RxAndroid on complex architectures using MVVM.
- Using RxKotlin in conjunction with RxAndroid, RxBinding libraries to make app multithreaded and perform asynchronous operations.
- Replacing RxJava implementation with Kotlin coroutines and dispatchers to make asynchronous Network requests, JSON parsing, reading or writing from a database
- Implementing analytics using Firebase analytics framework to track user behavior in app.
- Using Firebase App Distribution for getting applications to testers and team.
- Creating custom UI components for consistent UX across companies' internal Android applications and for reusability making the development process faster and smoother.
- Creating custom libraries for internal network calls for security purposes.
- Using RecyclerViews and populated lists to display the lists from database using RecyclerView adapters as the most efficient method.
- Using Bitbucket as the version control tool to commit and update the project from the server.
- Implementing Android UI test using Espresso for critical functionality.
- Debugging and fixing access to Bluetooth settings, network connectivity, Wi-Fi Multicast reception, and connect and disconnect from Wi-F.
Confidential | Atlanta, ga
Senior Android App Developer
- Implemented dependency injection natively in Java for object references.
- Participated in app planning, architecture and design; app approval and launch in the Google Play app store.
- Implemented the cipher method for the storage of sensitive data such as passwords within the Android application.
- Experience with Android performance tuning and crash reporting applications.
- Attended the SCRUM meetings to track app development progress.
- As part of the Android development team provided Object Oriented implementation of architecture and design using Java coding, Kotlin coding and both native Android and third-party frameworks.
- Use reactive frameworks such as RxJava, RxAndroid, RxBluetooth, and RxKotlin, along with Kotlin Coroutines for proper background work management.
- Integrated Kotlin Language to reduce the use of Static class references for common functionality across the entire project.
- Worked on Starva Bluetooth BLE SDK to design module to pair with Bluetooth devices and transmit large bytes of attributes.
- Applied solid relational DBMS skills using MySQL, PostgreSQL and other DBMS products.
- Implemented MVP architecture and various design patterns (Singleton, Proxy, Observer, Façade)
- Added extra functionality to the app such as Comment and vote deals, share offers (directly from the app or with notifications).
- Developed rich application layouts following Material Design.
- Consumed REST API to display user history on the user interface.
- Developed test cases using Junit and tested the UI using Espresso.
- Followed the Test-Driven Development (TDD) approach while developing the app.
- Worked with product and user experience teams to support multiple screen resolutions on multiple Android devices.
- Used SharedPreferences to store user preferences.Identification of issues by root cause analysis during the test cycles.
- Designed the URIs needed to access and modify the exported Content Provider data.
- Added Broadcast Receiver logic to listen for events that can trigger a local database update.
- Created Material Design layouts with different animations optimized for the ultimate User Experience.
Confidential | Plano, TX
Android App Developer
- Used Android Studio for Android development using Java and Kotlin.
- Worked closely with UI/UX designers to design an implementation to match their vision.
- Created custom infinite recycler view that is now used throughout the app for scrolling images and videos.
- Designed Android UI/UX using Android widgets like list view, recycler view, buttons, text views, View Flipper etc.
- Created custom dot paginator and designed many fragment layouts using view pager as the base activity.
- Implemented web views, list views & populated lists to display the lists from database using simple adapters.
- Saved data locally using SQLite database by performing the CRUD operations on the database.
- Persisted wallet items in database using SQLite.
- Implemented RESTful API calls to retrieve and manage user’s rewards, coupons, deals, and gift cards; and apply to cart items.
- Wrote code to determine the best coupon to apply to user’s cart.
- Used LeakCanary to find and fix memory leaks, significantly reducing system crashes
- Retrofit and RxJava used for RESTful web calls with GSON library to deserialize JSON information.
- Android threads with Loopers, Handlers, AsyncTask and Runnable.
- Implemented the user interface by using Custom View, ListView, ViewPager, RecyclerView and Tab Layout.
- Implemented Adobe analytics to track usage statistics.
- Embedded local storage solutions such as SQLite.
- Used EventBus to pass events between activities and fragments.
- Implemented Image compression strategy for reducing OOM image crashes.
- Created sharing function to allow users to share items with friends using social media APIs.
- Created blur animations and a new pinch zoom for images.
- Implemented reusable code for easily adding new promotions such as Mother’s Day. It was used this Mother’s Day and it was one of their most successful feature launches.
- Created a new animation overlay image that fades and blends into the app. This feature is now used with all new promotions.
- Implemented two variations of Father’s Day as a tool for future promotions.
- Optimized legacy code for faster loading, leveraging caching strategies to load page images faster.
- Implemented new Bonus Bucks wallet for this new JCP promotion.
- Created a Ghost Cards, which is a promotional card to entice users to sign-up for a JCP credit card.
- Created benefits promotion that integrates throughout the wallet, linking to different pages both internal and external.
- Implemented a new dynamic discover page that allows placement of different promotions using Google Tag Manager and JSON
- Implemented a new promotion for Fenty products that includes an animated image overlay that fades into the promotional card.
- Used Butter Knife for dependency injection and Git code repository managed with Stash with Jenkins for continuous integration.
- Managed image handling with Picasso
Confidential | santa monica, ca
Android App Developer
- Worked on a team of 8 developers and 2 QA specialists.
- Collaborated with cross-functional teams to define, design, and ship app experiences for users.
- Accepted joint responsibilities with the team for converting the Product backlog into 'Done'.
- Contributed to continuous improvements in the team for greater efficiency, quality, and productivity.
- Worked existing clean code architecture in MVP and created shopping module, add-to-basket module, and customer profile module.
- Worked closely with UI/UX team for doing Material Design and applied custom animations on views and assigned proper spacing for iconography.
- Created multiple services for connecting with company backend to retrieve user account details, billing, and payment.
- Implemented Google Play Billing system and configured BillingClient and override on ConsumeResponse in the MVVM design pattern.
- Included DaggerMock testing library to test Dagger components in Unit test cases in TDD manner for presentation layer.
- Programmed modules, components, scopes to inject view models and network objects using Dagger Creational pattern.
- Replaced Volley library with RxJava, Retrofit library to make asychrous API calls to get user-profile and monthly stats data in custom view.
- Added custom deep links that the user will be sent to if the app is already installed and leveraged the power of Google Services to send invites to friends.
- Enable Google Pay to process payments from users, integrate Payment data cryptography for merchants and use sample tokens to test integration.
- Performed AIDL and defined the programming interface that both the client and service agree upon to communicate with each other using interprocess communication (IPC).
Android App Developer
- Technologies used include Android Studio, ProGuard, GCM, Butter Knife, Universal Image Loader, Retrofit, Parcelable, Android Pay, PayPal, ZXing, SQLCrypt, Parse, Robolectric, Hudson, Crashlytics, JIRA.
- Integrated payment methods such as Android Pay, MasterCard API.
- Supported multiple screen resolutions implementing different layouts for portrait and landscape.
- Used ProGuard to shrink, optimize, and obfuscate the code.
- Extensive use of AsyncTask for doing background processing.
- Implemented Fragment retention for the AsyncTask operations.
- Designed prototypes to create the main flow of the application with Photoshop.
- Participated and conducted Scrum meetings to review project progress.
- Worked with the design team and the usability specialist to design a user-friendly interface for the app
- Mentored junior developers on Android best practices.
- Wrote technical specifications and maintained all reports pertaining to application development process.
- Worked in the new design, gave a new look and feel in the app, applying styles and themes.
- Built the UI/UX using Material Design implementing Fragments and Navigation Drawer.
- Used the Parcelable interface to serialize the objects before transferring them to other activities.
- Created custom animation to improve the user experience following the Material Design principles.
- Implemented a Navigation Drawer for quick access to different activities and for the better experience of the user.
- Integrated Crashlytics to analyze the behavior of the users.
- Integrated JUnit to complete all test cases.
- Use of Git for the source control management.
- Used the JIRA bug tracking tool for quality control.
- Implemented push notifications with Google Cloud Messaging.
- Implemented Universal Image Loader for image rendering.
- Included ZXing library to read and generate bar codes for coupons
- Continuous integration with Hudson.
- Resolved issues, fixed bugs and optimized the application.
- Worked with Android-Query library for asynchronous Ajax type calls used commonly for image loading
Confidential | Portland, OR
- Performed requirement gathering sessions to clarify and start up with the development process.
- Worked with various groups to coordinate mobile application development, including Enterprise Architecture, Information Security, and the business.
- Created website front end and templates using HTML and CSS.
- Used PHP to connect to the MySQL database.
- Designed, developed, and implemented Web Forms, significantly improving efficiencies.
- Documented integrations with internal and external services.
- Worked with other development teams on platform integration strategies.
- Participated in code review sessions to always have high quality (reusable, simple, documented) code.
- Implemented services to run on the back to handle HTTP calls.