SR. ANDROID DEVELOPER
Software Development Frameworks
Android Studio, Spring SDK, Eclipse, Microsoft Code, Visual Studio SDK, Unreal Engine, Unity
Windows (2000, XP, Vista, 7, 8)
UNIX based systems.
Microsoft Office Suite, Google Docs,
Skype, Slack, Discord, DBeaver
Agile/Scrum: Sprints, Daily Scrum, Sprint Retrospective, Sprint Planning, Backlog, Slack, GitHub
Database & Data Analysis
Postgres SQL, Firebase
TDD, Unit Testing (Junit), Mockito, Espresso, Jenkins, PowerMock, Robotium
Debugging/Issue Track/Memory Mgmt.
Spring Boot, RxJava, Hibernate, Spring MVC, Retrofit2, Volley, Firebase, Dagger, Koin, Jetpack, Google Mobile Vision
Picasso, Adobe Primetime, ExoPlayer
RESTful APIs, REST, JSON, GSON, XML
Architecture and Design Patterns
MVP, MVP, MVVM, Singleton, Dependency Injection, Builder, Factory
Google Analytics, Craslytics, Leanplum, MParticle
11 years in Android Development with 8 published Android apps in the Google Play Store.
Skilled in Kotlin and Java coding, JDK, Android Studio to create new Android mobile apps.
Skilled in reviewing and refactoring code, to improve existing Android apps.
Writes high quality unit tests using Junit.
Experience with RESTful web services using JSON and GSON.
Familiar with integration through various APIs (Facebook, Twitter, Google).
Experienced in the full software developed lifecycle (SDLC) including planning,
Mobile App architecture employing MVC, MCP, and MVVM patterns.
Participated in all stages software development including defining product vision, gathering requirements, prototyping, software system design, coding, testing, release, and support.
Partner with cross-functional teams to define new product requirements, features, and functionality.
Real-world experience is building very large scale, high availability applications.
Work effectively with UI designers who are obsessive about pixel perfection.
Experience working on-site and off-site teams and management.
Collaborated with Software Engineers for the design and development of back-end services.
Experience implementing persistent data in device memory, web-based databases, and the cloud
Fully conversant with OOP principles, software development frameworks and design patterns
Strong knowledge in Agile development environments, having a SCRUM Master role in multiple meetings.
Have strong knowledge and demonstrated experience using Android Studio.
Ensure software created and released conforms to quality requirements by accurately writing and executing test plans.
Knowledgeable of the latest analytics tools for mobile applications.
Westwood College Online
Bachelor in Game Software Design & Development
10249 Church Ranch Way, Westminster, CO 80021
Walmart Senior Android Mobile App Developer Walmart Beta App
Sunnyvale, CA Feb 2021– Present
Working as a Senior Developer on an Agile team rebuilding a Shopping and Grocery App from the ground up using a new Platform (Walmart-Glass) that uses proprietary code with the goal of creating an app that runs identically and natively in both Android and IOS.
Participating in Scrum activities.
Android Studio used as IDE in Android application development with use of the Android tools set for development and testing.
Programming in Kotlin using MVVM app architecture for ease of maintainability and extensibility, as well as improved quality testing.
Participating in a small team responsible for a specific feature involving handling payments.
Implementing Analytics in given feature using Walmart Proprietary Analytics Libraries.
Debugging problems (e.g., failing contrast ratios, failing Talkback announcements, etc.) using Espresso.
Making corrections required to ensure UI meets customer specifications.
Managing tickets in Jira.
Managing code using GitHub and SourceTree.
Used Zeplin for visual communication between the UI team and developers.
Utilizing Zoom for Cloud meetings.
Implementing concurrency design pattern using Kotlin coroutines to simplify code that executes asynchronously and for the consumption of REST API resources.
Using ViewModels and Data Binding to display information in the application.
Refactored Android Support libraries to be compliant with Android 11 and JetPack, such as android.preference to androidx.preference.
Applying AndroidX.Navigation framework for navigating between 'destinations' within Android application to provide a consistent API whether destinations are implemented as Fragments, Activities, or other components.
Current Inc. Sr. Android Developer Current App
New York City, NY Oct 2019– Feb 2021
Code features using Kotlin language using multiplatform feature, sealed classes, extension functions and coroutines.
Integrate Leanplum SDK for push notifications, send customized messages, track events and in-app A/B testing.
Refactor old MVVM implementation to new Lifecycle aware components using LiveData, Viewmodel.
Include Face recognition and Face tracking for login feature and lock app with Google Mobile Vision API.
Ensure task execution, add work constraints like network availability and periodically sync application data with a server using WorkMananger API.
Apply encryption techniques to encrypt local Room database, work on SSL certificate pinning and store credentials in keystone.
Independently code the feature to ‘Create a personalized Pod for savings goals’ with customized view and backend API parsing using retrofit, RxJava libraries.
Use RxKotlin in conjunction with RxAndroid, RxBinding libraries to make app multithreaded and perform asynchronous operations.
Include authenticate users via fingerprint scan BiometricPrompt API use the BiometricPrompt.AuthenticationCallback to listen for authentication events from the users.
Enable mocking of static methods, constructors, final classes and methods, private methods, removal of static initializers using PowerMock test framework.
Add dynamic feature modules to app project and Dynamic Delivery to generate and serve optimized APKs for each user’s device configuration.
Facilitate team member code reviews and mentored team to continue growth and improvement in team as well as quality improvement in the product.
Work with an Agile/scrum team to deliver solutions on time and at high quality that conform to user stories’ acceptance criteria.
Migrate Dagger2 library to Koin dependency injection library for Kotlin.
Staples Sr. Android Developer Staples Shopping App
Cambridge, MA August 2018 – Oct 2019
Integrated NuData SDK to manage data volume and send it to servers via header.
Fixed issue caused by large and variable sized data by using Post.
Developed app using native Android SDK, no third-party libraries, only Retrofit 1.9.0
Implemented analytics frameworks such as New Relic, Tune SDK, NuData, MParticle and some like facebook and google analytics via MParticle.
Created over 30 automation test cases with Robotium.
Created consistent, reusable code using compound views and custom views, to produce features and functions which could be easily reused.
Created Compound views for a more attractive and efficient design.
Implemented new view designs which were more user friendly using ViewDragHelper.
Applied fragments to minimize the activity count and simplify the navigation
Attended SCRUM meetings and met deadlines
Understood requirements, implemented solutions, and provided administration tools and documentation for specific projects.
Built Activities using compound and customized views
Organized developers and assigned milestones and track project development.
Participated in the full lifecycle development process from product definition through design, development, test, release and maintenance.
Designed the UI layout with Balsamiq Mockups wireframe tool for the apps look and feel
Supervised the creation of the unit, integration and stress test with JUnit, Espresso, and Monkeyrunner.
Able to develop efficient and maintainable code with the right balance between solving the problem at hand and not over-engineering your solution.
Used JIRA for new requirements, issues, bug tracking, and project planning.
Dalvik Debug Monitor Server (DDMS) for debugging and testing.
Discovery Communications Sr. Android Specialist Investigation Discovery GO
Silver Spring, MD Jul 2017 – August 2018
Worked on the app from scratch implementing 3-Tier architecture, created use cases and independent modules on DIP/OCP/SIP/OOP principles
Replaced Flurry lib with Google Firebase for analytics, push notifications
Developed business layer to enable genre search feature. · Developed a favorites function within the app using Room.
Wrote unit test cases on business layer module using Mockito.
Involved in writing UI testing using espresso on presentation layer for Save episodes to your watchlist use case of the app
Incorporated Fabric Digits library for users to create an account/sign into app using a phone number
Worked on another beta version of client app to incorporate Adobe PrimeTime player for real-time media streaming
Abstracted away low-level threading, synchronization, and concurrency issues using Observables and Schedulers in ReactiveX for API parsing
Effectively used Activities, Services, Broadcast Receivers, SQLite, and Android components.
Efficiently used Activity, Intents, Fragments, Services, Broadcast Receivers, notifications, Content Providers, and Media Players for building the app.
Embedded local storage solutions such as SQLite and shared preferences.
Implemented Firebase Crashlytics to monitor crashes and exceptions and user app analytics data.
Implemented Custom Controls with the ExoPlayer library.
Replaced old library code with new install attribution Kochava SDK to measure, track mobile user acquisition campaigns, other attribution analytics
Improved the look and feel of the app by introducing new material design support libraries with coordinator layout, collapsible toolbar, recycler view and animations
Managed 4 other Android developers and paired with new starters to review code
H&M Mid Android Developer H&M
Lightning Way, NJ March 2016 – Jul 2017
Gathered requirements and managed JIRA tasks, stories and epics.
Worked Jira issue backlog with the other Android developers and back-end developers as shared tasks.
Implemented SharedPreferences to store user data.
Used Firebase Push Notifications for messages and alerts.
Used Android Job for scheduling and managing resources.
Firebase Test Lab used to provide Android cloud-based infrastructure for testing Android apps.
Integrated Firebase TestLab with GitLab continuous integration system.
Used Firebase Performance Monitoring to get info on application performance
Firebase Cloud Functions used for cloud-based mobile back-end. (MBAAS)
Implemented Frodo library for logging RxJava Observables and Subscribers outputs on the logcat.
Generated a Material Design ready codebase including views in the design support library: CardViews, RecyclerViews, Snackbars, CoordinatorLayouts, Floating Action Buttons, Custom toolbars, DrawerLayouts.
Experience prototyping mobile experiences.
Configured manual and generated content providers using Schematic.
Improved requirements on required specifications using Volley and use of different software design patterns.
Steak-n-Shake Enterprises Mid Mobile App Developer Steak-n-Shake Rewards Club
Indianapolis, IN May 2014 – March 2016
Implemented Tab Navigation to enhance user experience (UX).
Tested Android application with Robotium and Robolectric testing tools.
Attended the SCRUM meeting to keep track of the current sprint.
Integrated JUnit to complete all test cases.
Managed the module that handles the communication with the web service.
Used APIs from different API levels to support backward compatibility.
Secured the database using SQLCipher and Secure Preferences.
Added Flurry for user behavior tracking and quality control over crashes.
Conducted interviews and contributed to the continuous grow the engineering team.
Responsible for the design, implementation and test phases of the application.
Used Jenkins for continuous integration.
Implemented Android Annotations for automated testing.
Designed a GSON representation to parse Web service requests quickly. Detected new improvement opportunities and implemented them using Volley Library and persistent data.
Utilized JIRA as the issue tracker for the application.
Managed the central Git repository for our team.
Implemented an MVP UI pattern as the basic layer architecture of the app
The application was written natively with the Android SDK, and it supports devices starting from KitKat.
Ensure backward compatibility by using Android support libraries.
Supervised the implementation of the Push Notifications setting up the Google developer account and creating the local key in the app base-code.
Fitbit Junior Android Developer Fitbit Coach
San Francisco, CA April 2012 – April 2014
Design the application with an MVP approach, setting up all the interfaces and the decoupling of the classes for newer use cases and mock API testing
Implement Constraint Layouts to improve the layout performance and increase the UI layouts readability
Work on wearable module to include WearableRecyclerView, BoxInsetLayout and SwipeDismissFrameLayout to display account information
Use SignPost OAuth library for signing HTTP messages and requesting tokens from an OAuth service provider
Mock Schedulers using RxJava TestScheduler to create unit tests and trigger TestScheduler to drive function behavior as expected
Use NDK to reuse native code to build activities, handle user input, use hardware sensors, and access application resources in C/C++
Create Dagger components and subcomponents to inject the needed dependencies into different Android app fragments, presenters and components
Migrate old SQLIte implementation to Room database
Convert the multi-threading approach in production builds using RXJava schedulers and observers
Create new components in Kotlin and convert existing service layer, domain layer Java code to Kotlin
Download and stream workouts video into Exoplayer media UI using Jobschedulers and DownlaodManager
Code new product flavor and build variants to expose additional feature for premium customer for customized programs
Add localized string to support French, German, Portuguese, and Spanish languages across the app
Upgrade Facebook SDK and Twitter SDK in the app to post reviews, share workouts and daily plans
Make app adaptable to new Android O for Notification channels and background limits to sync workout results and set notification preferences to keep tabs on account activity
Shopify Inc. Junior Android Developer Shopify: Ecommerce Business
San Francisco, CA June 2010 – Mar 2012
Applied Picasso to download images and show them in the UI.
Independently developed and expanded native mobile applications for Android platforms according to specifications handled by a design team or the clients.
Real-world experience is building very large scale, high availability applications.
Added support for Chromecast for sending video and music to the TV.
Obtained the requirements through the setting of interviews with the customer.
Created multiple Content Providers with a native approach to handling UI asynchronous updates.
Used Jackson as JSON library to do marshalling and unmarshalling on POJOs
Implemented the payment module integrating Android Pay, PayPal, and Stripe.
Utilized Top Tab to quickly switch between activities
Built and maintained common code libraries in phones, tablets, TVs, smart watches and automobiles.
Used Picasso to improve the image rendering on the Recycler Views.
Mounted a WebView to render HTML content from various websites.
Used the Parcelable interface to serialize the objects.
Implemented a Navigation Drawer for quick access to different activities and a better User Experience.
Consumed Web Services using a Retrofit instance with a built-in GSON converter.
Developed compound views to present information to the user depends on its preferences
Worked with Urban Airship to separate development from the production environment.
Used the JIRA bug tracking tool for quality control.
Configured a Google Analytics account to receive information related to the user Activity after a device installation.