Post Job Free

Resume

Sign in

Senior Android Developer

Location:
Grand Rapids, MI, 49544
Posted:
February 01, 2024

Contact this candidate

Resume:

Benny Valdes

Senior Android Developer

Phone: 616-***-****

Gmail: ad23cv@r.postjobfree.com

Summary

Driven by a passion for crafting exceptional mobile experiences, I bring over 13 years of expertise in building Android applications across diverse industries and 15 years in software/IT development. I have successfully published 9 apps on the Play Store, showcasing a comprehensive skill set. I possess the following skills:

Programming:

•Skilled in Kotlin and Java programming languages.

•Applied RxKotlin, RxJava, RxAndroid, and RxBluetooth frameworks for efficient development.

Design Patterns and Architecture:

•Implemented various design patterns such as Builder, Factory, Façade, Proxy, Command, Singleton, Observer, Visitor, and Interpreter.

•Hands-on experience with MVC, MVP, and MVVM architectures.

Testing and Quality Assurance:

•Utilized Espresso, JUnit, and Mockito for testing Android applications.

•Simulated design patterns in testing scenarios to ensure robust and reliable applications.

Agile Development:

•Strong knowledge and experience in Agile development environments.

•Positive attitude and leadership in providing code design, reviews, and mentoring.

Dependency Injection and Data Binding:

•Familiar with Data Binding using JetPack and experienced in decoupling with Dependency Injection (Butter Knife, Dagger).

•Hands-on experience with dependency injection in Android using Dagger 1, Dagger 2, RoboGuice, Butter Knife, and Android Annotations.

Cloud Integration and MBaaS:

•Utilized multiple MBaaS and cloud integration tools, including Parse, Firebase, Google Cloud Services, and Amazon Web Services.

•Expertise in building source code, troubleshooting integration issues, and resolving source code-related challenges.

Android SDK and Tools:

•Proficient in Android SDK, testing, and profiling using Android development tools in Android Studio.

•Practical implementation of Android Life Cycle, Fragments, Intents, and threads, demonstrating a deep understanding of Android development.

I am eager to collaborate with you to bring your next Android vision to life.

Technical Skills

UI Implementation:

Android Adapter Views, Listview, Gridview, Gallery, Customized List views, Gallery widgets, Floating Action Button

Programming Languages:

Java, Kotlin

IDEs:

Android Studio, Eclipse, NetBeans

Project Related:

Agile, Scrum, Git, GitHub, BitBucket, Confluence, Javadoc, JIRA

Quality & Testing:

Test-Driven Development (TDD), Unit Testing, Jenkins, Hudson, Travis CI, Mockito, JUnit, Robolectric

Automated Testing:

Espresso, Robotium, MonkeyRunner, Crashlytics, Leak Canary, Bluetooth Low Energy, TestFairy

Data Management:

SQLite, Room, Keychain, Parse, Firebase, Shared Preferences

Dependency Injection:

Dagger 1, Dagger 2, Butter Knife, Android Annotations.

RESTful Web Services:

REST, SOAP, XML, JSON, GSON

Multithreading:

Retrofit, RxJava, RxAndroid, RxKotlin, Firebase, Loopers, Loaders, Volley, AsyncTask

Media:

Universal Image Loader, Picasso, Glide, MediaPlayer, ExoPlayer, YouTube

Libraries:

EventBus, Google Maps, Google Cloud Messaging, NineOldAndroids, SpongyCastle, Content Providers, Job Scheduler, JetPack

Professional Experience

Meijer

Location: Grand Rapids, Michigan

Date: October 2022 – Present

Sr. Android Developer

Meijer: Delivery and Pickup

https://play.google.com/store/apps/details?id=com.meijer.mobile.meijer

Enhance your Meijer shopping experience with these app features:

•Grocery Delivery and Pickup

•In-Store Shopping

•Find Your Favorites

•Rewards and Coupons

•Contributed to an Agile/Scrum team of 20 members, fostering collaboration between QA, UI/UX, and backend teams.

•Implemented MVVM architecture for a modular and scalable codebase.

•Integrated Dagger 2 for efficient Dependency Injection, contributing to code organization and maintainability.

•Implemented coroutines as a substitute for RxAndroid, optimizing asynchronous operations.

•Employed Junit, Espresso, and Observer-Patterns using LiveData and ViewModels for comprehensive testing.

•Implemented features such as Kiosk mode, barcode readers (Zebra Laser and Camera with ML Kit), and communication to Kafka through SignalR.

•Utilized RoomDB for persistent local storage, maintaining data integrity throughout the application.

•Created and implemented custom widgets to enhance user interface components.

•Migrated parts from android-extensions to viewbinding for improved code maintainability.

•Incorporated Google Analytics for tracking user sessions, attributes, and in-app metrics.

•Utilized Swagger to verify the operational status of API calls.

•Created and updated tests (Junit5, MockK, Coroutines) to reflect architectural changes, ensuring robust test coverage.

•Worked closely with UI/UX, Backend Server Team, and Product Owner in an Agile environment, contributing to a collaborative team effort.

•Upgraded app to Kotlin coroutines, enhancing API consumption efficiency with Retrofit.

•Implemented LiveData and lifecycle-aware components for seamless data flow and management.

•Redesigned legacy code architecture from MVP to MVVM using JetPack components (ViewModel, Room, and Flows).

•Migrated data storage from SharedPref to Datastore, leveraging Kotlin coroutines flow features for improved efficiency.

ETrade

Location: Atlanta, GA

Date: November 2021 – September 2022

Sr. Android Developer

ETrade app:

https://play.google.com/store/apps/details?id=com.etrade.mobilepro.activity HYPERLINK "https://play.google.com/store/apps/details?id=com.etrade.mobilepro.activity&hl=es"& HYPERLINK "https://play.google.com/store/apps/details?id=com.etrade.mobilepro.activity&hl=es"hl=es

Welcome to E*TRADE. No matter your level of experience, we help simplify investing and trading. Our award-winning app puts everything you need in the palm of your hand—including investing, banking, trading, research, and more. Download now and start investing today.

•Used Android Studio IDE and implemented OOP throughout the entire development of the project and enforced SOLID design principles.

•Programmed in a hybrid Kotlin/Java codebase.

•Modified behavior of the More Info option for News page.

•Implemented new URL for the Exchange Keys Links.

•Implemented feature flag for Nasdaq Basic page.

•Developed login, security and tested utilities feature module in Clean Code Architecture on Presentation and Data layer.

•Utilized Android SDK and supporting development devices.

•Implemented login and basic security services using OAuth2 authentication with Identity Server.

•Implemented walkthrough_quantity tooltip.

•Implemented Time Frequency toolbar.

•Performed unit and system tests with Mockito, Espresso, and Mock library.

•Implemented option to request debit card in the menu item.

•Established new connection for the API of Morgan Stanley.

Kaiser Permanente

Location: Boston, MA

Date: August 2020 – November 2021

Sr. Android Developer

Kaiser Permanente Washington app: https://play.google.com/store/apps/details?id=org.ghc.android HYPERLINK "https://play.google.com/store/apps/details?id=org.ghc.android&hl=en_US&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=org.ghc.android&hl=en_US&gl=US"hl=en_US HYPERLINK "https://play.google.com/store/apps/details?id=org.ghc.android&hl=en_US&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=org.ghc.android&hl=en_US&gl=US"gl=US

The Kaiser Permanente of Washington app makes it easier than ever to manage your health. Exclusively for Washington residents, the app has easy-to-use, quick-access options for virtual care, finding a doctor, exchanging secure messages with your care team, managing prescriptions, scheduling visits, paying bills, and more.

•Worked in an Agile/Scrum environment with 5 Android developers, QA testers, UI/UX designers and backend developers.

•Joined daily standup meetings with other team member and participated in demo presentations with stakeholders every other week, and 2-week sprints.

•Worked with iOS, Mac, Windows teams, UI/UX teams, backend/server team, and internal and external QA teams.

•Utilized Android Studios as IDE.

•Built UI with Android Studio.

•Transitioned existing code to Kotlin and programmed new functions in Kotlin.

•Used Data Binding Library to support two-way data binding to receive data changes to a property and listen to user updates to that property at the same time.

•Applied RxKotlin in conjunction with RxAndroid and RxBinding libraries to make app multithreaded and perform synchronous operations.

•Introduced Kotlin extension functions to efficiently re-use existing codes, reducing code duplication to its bare minimum.

•Used Intents and Intent Filters to initiate activities and pass information between Activities and Fragments.

•Filtered Bluetooth devices by device name.

•Applied WebRTC/Pexip for real-time video communication over the internet.

•Used LiveData builder to combine Kotlin coroutines with LiveData Coroutines Asynchronous Flow to implement async sequence, or stream, of values in MVVM architecture.

•Used Jira for tracking project stories.

•Coded Bluetooth BLE services to scan devices and communicate attributes between them using RxAndroidBLE library.

•Used Confluence to stay organized with other team members.

•Used GitHub/Git extensively.

•Reviewed, merged, and made pull requests.

•Worked with testing libraries and frameworks: Junit, Espresso, Mockito, and Robolectric.

•Used Observer-Pattern using LiveData and ViewModels.

•Made API calls for fetching user data and for converting invite into conference token.

•Applied ADA and Accessibility functionality.

•Applied multi-language support.

DoTerra

Location: Pleasant Grove, UT

Date: June 2019 – August 2020

Senior Android Mobile App Developer

DoTerra app:

https://play.google.com/store/apps/details?id=com.doterra.shop HYPERLINK "https://play.google.com/store/apps/details?id=com.doterra.shop&hl=en_CA&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.doterra.shop&hl=en_CA&gl=US"hl=en_CA HYPERLINK "https://play.google.com/store/apps/details?id=com.doterra.shop&hl=en_CA&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.doterra.shop&hl=en_CA&gl=US"gl=US

The all-new dōTERRA App puts the products you love right at your fingertips. Browse your favorite products by body system, easily manage your Loyalty Orders, build your team on the go, and never miss a promotion, sale, or free product with push notifications.

•Produced work in alignment with an Agile/Scrum methodology, with Sprints every 2 weeks.

•Worked on an Android team consisting of 5 Android developers.

•Participated in Sprint backlog, Sprint Grooming, Sprint Planning, Sprint Retrospective, and daily Standups using Slack.

•Worked with Android Studio as the main IDE for the project.

•Utilized Android SDK and supporting development devices.

•Applied a modified MVVM architecture with a ViewModel inside every Activity and Fragment, creating a ViewModel for every single view.

•Utilized third-party libraires such as Dagger, Retrofit, Robolectric, and Picasso.

•Used Android Keychain to secure information.

•Monitored crashes using Google Crashlytics.

•Used Kotlin as the main code language for the Android application.

•Replaced RxJava implementation with Kotlin coroutines and dispatchers to make asynchronous Network requests, JSON parsing, and reading/writing from a database.

•Android Architecture Components used to improve the user experience and facilitate the development work (included LiveData, ViewModel, and Room as the SQLite database to cache the app data).

•Customized the UI using CustomViews.

•Initially used Workfront for task tracking and then migrated task management to Jira.

•Worked with remote project offshore in Ukraine, managing various work schedules and time zones.

•Applied Dagger 2 Dependency Injection inject single instances of services that many ViewModels needed.

•Used Robolectric to create unit tests.

Avis Car Rental

Location: Parsippany, NJ

Date: January 2018 – June 2019

Senior Android Developer

Avis app:

https://play.google.com/store/apps/details?id=com.avis.androidapp HYPERLINK "https://play.google.com/store/apps/details?id=com.avis.androidapp&hl=en"& HYPERLINK "https://play.google.com/store/apps/details?id=com.avis.androidapp&hl=en"hl=en

•Worked on an Android development team consisting of 3 Android developers, 1 front-end designer, 2 QA testers, and 1 Product Manager.

•Followed Agile Scrum process with daily Scrum, Sprint meetings and helped assign tasks and followed up on backlog and issue tasks to make sure they were completed.

•Developed the Android app in both Java and Kotlin using Android Studio.

•Implemented improvements in performance and maintainability through Android JetPack components.

•Proposed and took personal ownership converting application architecture using the Model View View Model (MVVM) architectural design pattern.

•Made use of various design patterns such as Singleton, Façade, and Abstract Factory.

•Transitioned the Android code base from MVP to MVVM architectural pattern to better manage the different functional modules and views.

•Managed consumption of RESTful Web Services with Retrofit and RxJava, managing back-end threading and also parsing of JSON objects with Moshi.

•Worked in a Test-Driven Development environment using GitHub repository for version control and Bitrise.io for continuous integration.

•Implemented Push Notifications through Firebase Cloud Messaging.

•Added JetPack Room over SQLite for a more robust database with data persistence.

•Added JetPack ViewModel - to manage UI related data in a lifecycle conscious way.

•Used JetPack Slices and Fragments in UI elements and composition.

•Managed Android background jobs using JetPack WorkManager.

•Participated in code reviews and mentored developers on Android best practices.

•Oversaw Android app testing and replaced older testing framework with Espresso automated testing.

National Car Rental

Location: St. Louis, MO

Date: March 2016 to January 2018

Android Mobile Developer

National Car Rental app:

https://play.google.com/store/apps/details?id=com.ehi.national.mobile

•Worked on a development team that applied an Agile methodology with daily Scrums and bi-weekly Sprints.

•Wrote user stories in Jira.

•Tracked issues and pulled issues from Jira.

•Implemented Dagger to work with a Dependency Injection environment to help with the unit testing.

•Android development team worked in Android Studio, using various Android tools such as jUnit to compose Unit Tests.

•Used Parcelable to serialize Java objects from Activity to Activity.

•Replaced Scriptaculous with UI jQuery libraries to improve maintainability.

•Used AsyncTasks hosted in Fragments to handle the network information lookup.

•Implemented the multithreading communication using the built-in Android frameworks like AsyncTasks and Handlers.

•Used Test-Driven Development and Continuous Integration.

•Dagger 2 was the library for dependency injection in this Android app.

•Analyzed, tested, debugged, and resolved complex issues affecting conferencing, connectivity, and communications.

•Used Android Debug Bridge (ADB) and Leaf Canary to performance profile the Android app.

•Worked with testing team using testing tool Robolectric.

•Contributed to full lifecycle development process from product definition through design, development, test, release and maintenance.

•Performed Testing (Junit) of the new version to solve common debugging problems.

•Involved in working with Location Manager and Restful Web service with JSON.

•Added Push Notification through backend support to get users specials and discounts on the device.

•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.

Dunkin' Brands, Inc.

Location: Canton, MA

Date: April 2014 – March 2016

Android Developer

Dunkin app:

https://play.google.com/store/apps/details?id=com.dunkinbrands.otgo

This food app lets you easily order and pay with mobile pay. Browse menus and nutritional facts and store locators.

•Attended daily SCRUM meetings to track app development progress.

•Gathered requirements and managed JIRA tasks, stories, and epics.

•Wrote Java mode JSON Parsers for the API URL call data.

•Transitioned consumption of RESTful services from Volley and AsyncTask to Retrofit and RxJava.

•Used JIRA for team collaboration.

•Implemented Event Bus library and Java Interface listeners to communicate between fragments.

•Used Atlassian Stash Bitbucket for GIT source control management.

•Implemented the User Interface with a TabLayout and a ViewPager, using multiple Fragments.

•Added Google LocationServices API to get location.

•Debugged Fragment Card Flip Animations and Dialog Fragments.

•Added RecyclerView to display parsed data.

•Used ScrollView to display Two RecyclerViews at once.

•Implemented Support Libraries to build backward-compatible source code for multiple Android OS API levels.

•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.

•Worked with the Facebook API for user login authentication.

UPS

Location: Atlanta, GA

Date: January 2013 - April 2014

Mobile Android App Developer

UPS Mobile app:

https://play.google.com/store/apps/details?id=com.ups.mobile.android

You’re busy, so let UPS help you easily manage shipments, track packages, find UPS locations, and much more with the UPS Mobile app.

•Worked with an Agile Scrum/iterative development methodology.

•Utilized Eclipse IDE to implement the application in Java and automating testing with Robotium.

•Implemented Continuous Integration with Jenkins, using Git with BitBucket for code repository/version control.

•Managed the build creation with a Jenkins instance hosted on a private server.

•Wrote Javadoc for documenting the different modules, hardware, and software features.

•Performed regular code reviews to ensure overall code quality and adherence to company coding standards and industry best practices.

•Created CustomViews to present data as it was needed.

•Integrated Flurry for mobile analytics.

•Implemented UI/UX look-and-feel in the app, applying styles and themes following Google’s Material Design guidelines.

•Created multiple Content Providers with a native approach to handling UI asynchronous updates.

•Applied OOP knowledge of software design patterns/best practices.

•Set up proper interactions of the front-end design and implementation with backend servers.

•Refactored un-optimized pieces of code to guarantee maximization in the use of resources.

•Developed network and pairing solutions over Bluetooth.

•Worked on embedded devices for power management and integrated their SDK into the app and worked on functionalities like WIFI, Bluetooth, and cellular data for data transfer.

•Utilized AsyncTask to connect to a remote server to retrieve user information.

•Made use of Activities and Activities for Result and RecyclerViews to get a better performance of the application.

•Used Implicit and Explicit Intents.

•Introduced Google Maps API integration with the application.

•Developed graphic interface and UI for some activities.

•Worked with asynchronous requests to the server with Volley library.

•Added Push Notification features with Urban Airship.

Brinker International Restaurants

Location: Dallas, TX

Date: December 2010 – December 2012

Jr. Android Mobile App Developer

Chili’s app:

https://play.google.com/store/apps/details?id=com.brinker.chilis

Chili’s Android app! Easily order your favorite Chili’s menu items (now featuring Delivery!), find your nearest Chili’s, add your name to the wait list, check your available Rewards and more all within the most delicious app you’ll ever download.

•Participated in complete Software Development Life Cycle (SDLC) for proper analysis, development, testing, deployment, and enhancement of the code.

•Programmed in Java using Android Studio.

•Managed data using SQLite.

•Conducted UAT testing by porting the app to different devices with varying screen sizes.

•Closely worked with a testing team and used developer testing tools such as Robotium in Android.

•Used JIRA to track and document incidents, tasks, and backlog., as well as stories and Epics.

•Integrated communication framework between the three fragments within the activity.

•Provided subsequent releases which included feature changes, enhancements, and bug fixes.

•Debugged and tested the mobile application.

•Presented demos of the application’s features to management.

•Built new features to enhance the UX for consumers.

Lear Seating

Location: Southfield, MI

Date: September 2008 to December 2010

Software Programmer

•Gathered requirements and mapped system designs.

•Wrote new functions in Java and modified existing functions in Java.

•Programmed various software functions in C++.

•Modified multiple scripts written in JavaScript.

•Configured and programmed ERP software.

•Conducted code reviews with the development team following best practices and implemented the company’s naming convention.

•Assisted with debugging and profiling software programs.

•Programmed various custom software programs as part of development team consisting of software programmers, database designers/developers, and business process specialists.

•Configured a variety of 3rd-party software systems.

•Wrote code to perform specialized functions in association with specified program features and capabilities.

•Applied object-oriented programming principles and coded in languages such as C++ and Java.

•Obtained the requirements through the setting of interviews with internal stakeholders across the enterprise.

Education

Me Bachelors - Computer Engineering

Instituto Tecnologico Y de Estudios Superiores De Monterrey



Contact this candidate