Senior Android Developer
●8+ years of experience in the Android field.
●7 published Android apps in the Google Play Store.
●Experienced in standard industry design patterns and Object-Oriented Programming
●Strong Android development experience with an appreciation of design, testing, and backend Web Services.
●Excellent knowledge of building scalable code using Dependency Injection (Dagger, RXJava, Retrofit/Volley, Room, Volley, ViewModel, LiveData).
●Experience optimizing performance and memory usage of Android Apps.
●Write custom UI components and libraries.
●Experience with multi-threading, integration with REST and SOAP APIs, custom view animations and transitions, and producing reusable libraries.
●Passion for Test Driven Development and/or Behavior Driven Development.
●Experience with Android’s Animation Framework.
●Experience in conceptualizing, implementing, and publishing apps.
●Familiar with Wi-Fi, Bluetooth, NFC, and other short distance wireless communications protocols.
●Ability to multi-task, work independently or as part of a team, and flexible in terms of work location.
●Working experience applying Agile, Kanban, TDD, XP, and Scrum methodologies.
●Offshore/remote team collaboration and management experience.
●Exposure to continuous integration and continuous delivery practices.
●Databases: Room, MySQL, SQLite, Firebase DB
●IDE: Eclipse, Android Studio, IntelliJ
●Multimedia: Glide, Picasso, ExoPlayer, Videoplayer
●Development: TDD, BDD, Kanban, JIRA, Continuous Integration, Git, GitHub
●Project Methodologies: Agile, Scrum, Waterfall
●Android Dev: Espresso, Moshi, Retrofit, Junit, Glide, Loopers, Loaders, AsyncTask, RxJava, GSON, LiveData, MVVM, MVC, MVP, Room, Dagger 2, Jenkins, Android Profiler, Coroutines, Layouts, Google Architectural Components, EventBus, RecyclerView, Services, LiveData, Google Maps API, Mockito
Capital One, McLean, VA
Senior Android Developer. May 2022 – Current
Capital One App:
What’s on the Capital One Mobile app? All of your accounts, and so much more. Whether you’re out in the world or feeling right at home, you can manage your money with ease. View balances and export statements; pay bills and take care of loans; check in on your credit with CreditWise; and more.
Created a receipt attachment functionality within the Capital One Credit Card app that allows users to capture receipts by use of device’s camera and attach to transactions digitally.
Designed UI in Figma.
Used reactive frameworks such as RxJava, RxAndroid, RxBluetooth, and RxKotlin.
Worked in Android Studio with coding in Kotlin using an MVVM Android app architecture.
Worked on a team (3 Android Developers, 1 Tech Lead, 1Project Manager) that practiced Agile project development/delivery principles, with PI planning every 2 weeks, team app demo every 2 weeks, and team stand up via Jira 4 times per week,
Agile development methodology
Worked with Git and GitHub to manage project.
Worked with Jenkins for Continuous Integration (CI).
Ensured 85% of all code coverage was tested.
Performed network API calls and responses using Retrofit with RxJava to support threading.
Engaged in cross-functional collaboration with iOS developers managing the same application (Android Developer).
Implemented Fetching API to retrieve user data (GET, POST, PUT).
Built UI layout using standard Android dev tools and adhering to best-practice principles for Android.
Kroger, Cincinnati, OH
Senior Android Developer. November 2021 – May 2022
Looking for a faster, easier, more rewarding shopping experience? Save time and money with the Kroger app! It puts convenience, savings and rewards at your fingertips. Simply download the app.
Performed technical work in an Android Studio Bumblebee environment.
Programmed in Kotlin with MVVM architecture.
Wrote unit test cases for Login and logout functionality using Kotlin Mockk library, OkHTTP and Mockserver API.
Created Login screen UI.
Applied XML Layouts to create the UI for the features of this application.
Migrated each Dagger component to Hilt by using Hilt Annotations on Activities and Fragments and removed Dagger-related code.
Utilized Microsoft InVision Freehand cloud-based digital product design platform to create and manage prototypes.
Translated/imported elements of Kroger Android library to Android Studio.
Used Confluence alongside UI designers to communicate flow of design structure.
Performed gRPC authentication, including gRPC’s built-in error codes with use of SSL/TLS to authenticate server and encrypt all data exchanged between client and the server.
Implemented the UI and integrate custom analytics and security SDKs for new features and initiatives.
Used JIRA platform to track productivity and tasks.
Used GitHub as a version control tool for the project amongst team members.
Utilized Microsoft Teams to collaborate and meet with colleagues.
Wrote Functional, Unit, and Instrument tests using Mockito and Espresso.
Home Box Office, New York, NY
Senior Android Mobile App Designer / Developer. July 2020 – November 2021
HBO Go App:
This Android mobile app lets users stream all HBO video on their mobile device - phone, tablet, computer, connected TV or gaming device. With HBO GO®, enjoy the latest and greatest blockbuster movies, documentaries and content for the whole family, as well as episodes from all seasons of today's most acclaimed series, such as Game of Thrones, Westworld, Ballers, True Detective, as well as the most iconic HBO® stories, such as The Sopranos or Six Feet Under. Now you can also download your favorite series and movies.
Assisted Android team meetings for designing the graphic User Interface and implementation of the app in alignment with Android Design Guidelines.
Followed development/design standards and best practices in Android app development.
Optimized Android app functionality and improved feature performance using Material Design.
Refactored from MVP to MVVM for a more maintainable and scalable code base.
Implemented new features using Android databinding library, using two-way data binding with an MVVM architecture.
Utilizing Android studio as IDE.
Developed application in Kotlin and Java, and implemented new features in Kotlin and migrated older classes into Kotlin.
Made use of Kotlin extension functions to optimize application experience.
Managed code management using Git and Bitbucket.
Applied reactive frameworks such as RxJava, RxAndroid, RxBluetooth, and RxKotlin.
Implemented automated UI tests using Espresso.
Ensured code quality writing Unit Tests using JUnit, Mockito, and PowerMock frameworks.
Utilized SQLite for data persistence and Shared Preferences for login info.
Implemented Glide for image loading and auto caching of images for offline display.
Applied asynchronous RESTful web service calls using Retrofit and threaded background performance with Retrofit and RxJava.
Replaced MixPanel implementation with Firebase push notification services to send breaking news alerts.
Introduced Push Notifications through Firebase Cloud Messaging and used Firebase real-time database to store user information, watch lists, favorites, etc.
Programmed the locale to support different languages in Android app.
Enhanced the user experience by validating first the network state before calling a web service.
Supported multiple screen devices using Fragments and width-aware layouts.
Created custom and compound views to preserve the general look and feel specified by the client.
Mentored junior programmers about project methods and various technical points.
Fanatics, Inc., Jacksonville, FL
Senior Android Developer. July 2018 – July 2020
With the Fanatics NFL Shop app you get quick, 24/7 access to the latest and greatest NFL gear. Personalize the app with the team (or teams) you love or just browse for fun – at home, at work, or at the game.
Used Android Studio as IDE.
Served a part of Agile/Scrum team.
Participated in daily stand-ups and sprint meetings.
Architected the app on MVVM architectural pattern and utilized Singleton, Façade, and Decorator, design patterns.
Collaborated with the web application development team to ensure proper integration between the Android mobile application and web application.
Programmed new features in Kotlin to reduce codebase with data classes and extension functions.
Used Git and Jenkins to assist in integration.
Created an exported Content Provider to share color findings with other applications.
Performed Automated testing with Espresso.
Consumed Web Services using a Retrofit instance with a built-in GSON converter to parse JSON objects using Google GSON.
Implemented Android Support Libraries for backward compatibility.
Used Firebase Cloud Firestore and Firebase Cloud Functions beta.
Enabled notifications with Google Cloud Messaging.
Use Test-Driven Development and Continuous Integration with Firebase Test Lab.
Use Firebase Performance Monitoring to monitor app performance.
Implemented Firebase real-time database for storage and persistence during sync events.
Manage user image uploads and gallery using Glide.
Maintained Android app quality in development through continuous integration process using GitLab.
Used custom views to easily re-use UI components built to UI/UX design specifications.
Applied Dagger 2 as the library for dependency injection for readability and clean code.
Involved in Cipher encryption secured data process as it was being passed to the server and watch, staying in compliance with security standards.
Utilized Jira for documentation, task tracking, backlog management, and meeting prep.
Ulta Beauty, Bolingbrook, IL
Android Developer. February 2017 – July 2018
Download the mobile app & discover how the possibilities are even more beautiful. Find your favorite makeup, skincare & haircare products—plus shade match and color swatch your favorite makeup and haircare in GLAMlab®, our virtual beauty try-on experience.
Developed the app using Android Studio, Java, Android SDK, Core Android frameworks and third-party frameworks.
Worked with development team that ran on Agile/Scrum methodology, managing tasks, issues and backlog in JIRA.
Wrote test cases with Junit for unit testing and Espresso for automated testing to ensure quality control.
Worked in MVP architectural pattern with a basis in RxJava, which greatly facilitated back-end processes along with Retrofit.
Implemented Telesign for SMS messages in the two-step authentication procedure.
Implemented Jumio for license and credit card scanning function to enable a clear scan.
Applied Dagger 2 for Dependency Injection.
Configured Retrofit to parse JSON objects for asynchronous communication with back-end services.
Utilized Firebase as onboard caching in addition to Firebase Push Notifications with FCM and Firebase Crash Reporting.
Used a private Git server for version control and Jenkins Continuous Integration server.
Used Activity, Intents, Fragments, Services, Broadcast Receivers, Notifications, Content Providers and Media Players for building the app.
Used Shared Preferences and SQLite to persist user credentials.
OpenTable. San Francisco, CA
Android Developer. December 2015 – February 2017
Book and enjoy extraordinary dining experiences in over 52,000 restaurants worldwide with the OpenTable App. Find the right restaurant for anything using our comprehensive and intuitive search filters. See menus, photos, and special promotions, while getting the inside scoop from our community of OpenTable diners.
Effectively communicated coding solutions and articulate the reasons for decisions.
Applied real-world OO design experience and knowledge of design patterns, combined with an ability to convey design information succinctly using suitable tools (UML, BPMN).
Helped transition from MVC to MVP architecture to achieve a complete separation of concerns, better code reusability, and a higher percentage of unit tests.
Used RxJava for most asynchronous processes.
Passed data using bundles and serialized information among different activities.
Implemented Material design feature of RecyclerViews, Toolbars, and CardViews.
Added support for Chromecast as the remote control for the app.
Created a web application to establish a responsive design and look-and-feel with the app.
Used Google AdMob to maximize the monetization.
Applied best practices and trends in UI/UX on Android.
Actively participated on the RESTFul API definition following best practices.
Used HTTP rest calls for better performance using different threads.
Included Facebook SDK for app events, login, like, and app links features within the app.
Added support for Google Maps.
Added Push Notification features with Urban Airship.
Used NewRelic to optimize and improve the performance.
Set up proper interactions of the front-end design and implementation with backend servers.
Established client and server data exchange with JSON, which was converted to model.
Introduced Navigation Drawer and Tabs, and Custom and Compound views to the project.
Implemented different user interface components such as ListView, WebView, ImageView, and TextView to display the data for the application.
Collaborated with the product team to identify, prioritize, and document detailed product requirements.
Epocrates, Inc. / Austin, TX
Android Developer. December 2014 – December 2015.
Epocrates has helped more than one million clinicians prescribe with confidence, save time, and stay focused on the patient. Rated the #1 medical app 10 years in a row by Decision Resource Group’s “Taking the Pulse.”
Assigned to a development team that applied Agile project management principles.
Built customizable Home screen with drag-and-drop simplicity.
Pair programmed with senior developer to write TDD testcases for Pill identifier feature using Junit.
Relied on existing patterns such as Fragments and Tabs to ensure that the UI was compliant with the Android design guidelines.
Introduced Material Design to the app to provide a more lightweight and standard user interface that complied with the latest tech trends.
Relied on existing patterns such as Fragments and Tabs to ensure that the UI was compliant with the Android design guidelines.
Managed multiple callback scenarios for the integration of a new payment method through a third-party app.
Implemented new screens (new splash screen, new usage remaining calculator with custom wave animations) using Custom and Compound Views principles.
Created a Settings page and ensued all functionality worked to specification.
Worked on "Pull Down To Refresh" functionality to manually refresh data and cache locally in SQLite database.
Displayed new UI elements current overdraft on all products, new screens and logic to handle error scenarios.
Identified and fixed bugs using JIRA and Circle CI.
Rebranded app, including new UI elements, Google maps integration, CardView, and lifecycle management.
Implemented Social Login through Facebook/Google/Twitter SDK.
Bachelor of Science - Computer Science - Clemson University