Post Job Free

Resume

Sign in

Senior Android Developer

Location:
Warsaw, IN, 46582
Posted:
April 19, 2024

Contact this candidate

Resume:

Dustin Schaphorst

Senior Android Developer

Phone: 574-***-**** Email: adx3pm@r.postjobfree.com

PROFILE OVERVIEW

•11+ years working in the Android development market space.

•11 apps were published to the Play Store.

•Advanced skill programming in Kotlin and Java.

•Flexible team player accustomed to on-site and remote teams.

•Contribute to design, architecture, and technical strategy for Android development.

•Debug performance bottlenecks and fix complex issues in Android applications.

•Build Android mobile applications that utilize web services (REST, HTTP-based, XML, SOAP, JSON, or other services).

•Effectively and actively plays the role of technical advisor for projects, providing advice on tools, processes, and design to others.

•Knowledgeable about building scalable code using dependency injection (Dagger, RXJava, Retrofit/Volley, Room, Volley, ViewModel, LiveData).

•Knowledge of Android design patterns and employing development tools such as Android Studio and Eclipse.

•Actively leads, supports, and mentors team members; leads code reviews facilitates meetings, assigns tasks, and ensures workflow and quality.

•Knowledgeable and skilled with Kotlin Coroutines, Kotlin Flow API, Android JetPack, TDD, DI, CI/CD, Git, BLE, AWS, TDD, Multithreading, code reviews, and architectures).

•Experienced with RESTful APIs to connect applications to back-end services.

•Comfortable with various source control utilities such as GIT & GitHub.

•Experience with continuous integration tools like Jenkins or Travis CI and automated testing frameworks such as Espresso.

•Work with design conversion tools Sketch and Figma.

•Experienced adding RecyclerViews into apps.

•Experienced using the Zeplin tool.

•A firm follower of testing environments (unit testing and integration testing) using Google resources and third-party libraries like JUnit, Mockito, and Espresso.

•Exceptional communication, project management, and organizational skills with the ability to build positive relationships with boards and stakeholders, senior executives, all levels of staff, and clients.

TECHNICAL SKILLS

PROGRAMMING LANGUAGES

Kotlin, Java

IDE

Android Studio, Eclipse, IntelliJ

THIRD-PARTY LIBRARIES

Coroutines, RxJava, RxAndroid, Firebase, Fabric, Reactive-X, C standard Library, MPL and MECL libraries, Ksoap2 library, Jersey Library, Java Swing, Ajax Swing, GWT, Retrolambda

PERFORMANCE

Bluetooth Low Energy (BLE), Leak Canary, ProGuard, Dalvik, Memory Mapping, ART

DATABASES

SQLite, Firebase, Room DB

BACK-END

Consumption of RESTful web services, Connection to database end-points, Use of REST, SOAP, JSON, XML

ARCHITECTURE & DESIGN

MVC, MVP, MVVM, Singleton, Dependency Injection, Builder, Factory, Façade, Proxy, Command, Observer, Visitor

PUSH NOTIFICATIONS

Google Cloud Messaging (HCM), Firebase Cloud Messaging,

DEPENDENCY INJECTION

Android Annotation, RoboGuice, Dagger 1, Dagger 2, Hilt

CODEBASE MANAGEMENT

Git, SVN, SourceTree, BitBucket, Jenkins, Hudson, Travis CI

PROJECT

Agile, Scrum, pair Programming, Xtreme Programming, JIRA, Confluence, Javadoc, Slack, Trello, KanBan, Atlassian, Requirements Gathering, Daily Scrums, Sprints, Sprint Planning, Sprint Backlog, Sprint Retrospective, Scrum Master, Code Reviews

PROFESSIONAL EXPERIENCE

Senior Android Developer The Weather Channel/ IBM, Warsaw, IN 07/2023 - Present

https://play.google.com/store/apps/details?id=com.weather.Weather

App Description: The Weather Channel stands as the World's Most Accurate Forecaster. Equip yourself for hurricane season with our local rain radar and live updates, ensuring your constant awareness and safety. Access the latest forecasts, storm, and hurricane tracker features to effectively prepare for adverse weather conditions. Receive timely storm alerts and severe weather warnings for rain, snow, and more. The Weather Channel offers comprehensive tools, including live radar updates, hourly rain tracking, storm radar news, and local weather forecasts, empowering you to stay ahead of the weather curve.

Project Summary: The Weather Channel app is crafting a new release, adopting a backend-driven approach. The entire user interface is managed through Compose, and data for each view is sourced from a JSON response via Contentful. This unified asset utilization extends to both iOS and Android platforms for seamless app development.

•Migrated to Jetpack Compose by adding Compose to an existing screen built using Android views and managed state in composable functions.

•Worked on many features/functions within different modules of the app, including live radar updates, hourly rain tracking, storm radar news, and local weather forecasts, empowering you to stay ahead of the weather curve.

•Implemented Jetpack components for data binding along with Dagger 2 and Hilt for dependency injection.

•Overseeing the codebase on GitHub, conducting thorough reviews of all pull requests from the development team, merging them into relevant branches, integrating into APK builds, and facilitating distribution to the QA team.

•Used JIRA for tracking stories and the story progression through the Development, QA, and Acceptance Testing.

•Applied elements of Kotlin Flow such as coroutines to interact with the database and networking operations in the repository layer in the clean-code architecture.

•Used the Jira platform to track productivity and tasks provided to accomplish the project.

• Applied Jenkins for CI/CD.

•Used design conversion tools Sketch and Figma.

•Worked within an MVVM architectural model and programmed in Kotlin.

•Used Kanban as part of Agile project methodology for enhanced workflow visualization.

•Participated in two meetings every day: one for morning stand-up (talking about general information such as new faces, interests, events, etc.), and one mobile stand-up meeting with Android and iOS team resources with a focus on technical and business process topics.

•Worked on a dev team consisting of eight resources, including two Tech Leads that proactively reviewed the code of team developers.

• Implemented Firebase analytics framework to track user behavior in the app.

•Used Retrofit and GraphQL for API integration through which we followed certain schemas and queries to fetch data from the back end.

•Presented Single Activity Multiple Fragment approach to architecture.

•Debugged codebase with Splunk dashboards and Firebase Crash.

•Used a Generic RecyclerView that allowed different Fragments/ViewModels to use the same Recycler.

•Added Accessibility Services like Switch Access and Talkback.

•Implemented Android Bluetooth and Location Connectivity components.

•Developed and ran unit tests following TDD best practices using Junit, Mockito, and Espresso for UI testing in the development process.

Senior Android Developer Dine Brands, Glendale, CA 11/2022 – 06/2023

https://play.google.com/store/apps/details?id=com.olo.ihop HYPERLINK "https://play.google.com/store/apps/details?id=com.olo.ihop&hl=en_IN&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.olo.ihop&hl=en_IN&gl=US"hl=en_IN HYPERLINK "https://play.google.com/store/apps/details?id=com.olo.ihop&hl=en_IN&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.olo.ihop&hl=en_IN&gl=US"gl=US

Hungry? You’ve come to the right place. IHOP is the home of world-famous buttermilk pancakes and a variety of crave-able breakfast, lunch, and dinner favorites beloved by people of all ages. Browse the menu, find locations, and order online with IHOP n' Go®. All together with a smile!

https://play.google.com/store/apps/details?id=com.olo.applebees HYPERLINK "https://play.google.com/store/apps/details?id=com.olo.applebees&hl=en&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.olo.applebees&hl=en&gl=US"hl=en HYPERLINK "https://play.google.com/store/apps/details?id=com.olo.applebees&hl=en&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.olo.applebees&hl=en&gl=US"gl=US

We're bringing your Neighborhood Applebee's right to your fingertips. Through Applebee's new and improved app, we've made it simpler to order ahead, search nearby Applebee locations, and get the latest news and updates. New and improved features: Order from a full Applebee's menu with pictures & Choose between Pickup or Carside to Go®.

•Managing codebase via GitHub and reviewing all pull requests from the developing team, merging into respective branches, integrating into APK builds, and distributing to the QA team.

•Implemented multiple analytics features to enable tracking of module usage.

•Worked in MVVM, MVP, and Clean Architecture environment.

•Implementing network calls working off with Coroutines and Kotlin flow tools.

•Refactored code from Java to Kotlin and implemented test cases to reduce regression tests.

•Handled team communication through multiple systems, including Teams, Slack, and JIRA.

•Coordinating closely with product owners to define acceptance criteria and story points, ensuring that the team has a clear understanding of what needs to be done.

•Led the Android demo of tasks completed at the end of each sprint to product and brand owners.

•Developing code infrastructure, modularizing components for ease of reuse, and creating UI based on designs in Figma.

•Implemented multiple Jetpack Compose components.

•Assumed management of the build/deployment process.

•Updated Dagger dependency injection to Hilt.

•Refactored Butterknife to View Binding to reduce APK size and updated Gradle version class generation.

•Working closely with the Web team to develop Sitecore APIs needed for app configurations, ensuring that the app is integrated with the necessary backend systems and that all APIs are working correctly.

Senior Android Developer Mercury Insurance, Los Angeles (CA) 06/2021 – 11/2022

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

Life pulls you in multiple directions. But wherever it takes you, Mercury Insurance will be there by your side 24/7. The Mercury Insurance app gives you quick, easy access to your auto and home insurance policies and ID cards, lets you pay your bills, call roadside assistance, and more. It makes life a little easier, and it’ll provide you with peace of mind knowing Mercury Insurance is always here to help.

•Worked with source code interoperability, coding in both Java and Kotlin with development in Android Studio IDE.

•Refactored old code to decouple views from business logic using MVVM.

•Developed Login Module using various tools for secure authentication and authorization.

•Assisted in assessing and optimizing designs through review, evaluation tools, and analysis to ensure optimal user experiences for all device types.

•Applied pair programming as part of development methodology.

•Applied Hilt for dependency injection.

•Worked closely with platform and API teams to define the underlying interfaces that support projects.

•Created a small reusable composable to describe UI by calling a series of functions that transformed data into a UI hierarchy and defined Data flow principles in Android jetpack Compose.

•Utilized Dependency Injection-Dagger, Reactive and functional programming (Rx, Coroutines, Flow, etc.), Retrofit, and LiveData.

•Developed payment feature using Simplify SDK to enqueue auto payments and one-time processing payments.

•Used RecyclerView to display all list information inside of the application to the user

•Implemented data binding with binding adapters and Android Databinding

•Implemented newer features in Kotlin as well as migrated some existing code into Java.

•Applied the technologies Kanban, Bitbucket, and GitHub.

•Applied TDD approach for development to ensure maintainable and reliable code.

•Created unit tests for all the code implemented using Mock as a means of TDD.

•Implemented Android UI test using Espresso for critical functionality.

Senior Android Developer Five Guys Burgers and Fries, Lorton, VA 06/2020 – 06/2021

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

Skip the line! Use the Five Guys Burgers and Fries app to find the closest Five Guys Burgers & Fries restaurant, place your order, and pick up your food today.

•Developed modules in Kotlin using MVVM app architecture for ease of maintainability and extensibility, as well as improved quality testing.

•Collaborated with the backend and development team to develop an Android app that interacted smoothly with remote content and web services.

•Communicated with RESTful web services to obtain information using Retrofit, OkHTTP, and Jackson.

•Worked closely with the UI/UX, Testing, and continuous integration team to ensure a high-quality product.

•Implemented dependency inversion strategy creating components and modules using the Dagger library.

•Created asynchronous operations using multiple strategies: Coroutines, RxJava, Handlers, Loopers, Intent Services, and Loaders for Android.

•Worked with Jenkins CI server for continuous integration and followed Test-Driven Development (TDD) methods.

•Persisted non-sensitive data with Realm database and ensured that the database was using encryption algorithms when persisting user information.

•Detected memory leaks using Leak Canary.

•Used code combination of ViewModels and LiveData using MediatorLiveData for loading data while handling the Activity and Fragment life cycles

•Applied AES substitution–permutation network to encrypt data with a key and perform certificate pinning using TrustManager API.

Senior Android App Developer TD Bank, N.A., Omaha (NE) 02/2019 - 06/2020

https://play.google.com/store/apps/details?id=com.tdameritrade.mobile3

See your TD Ameritrade Investment Management portfolio’s balances, investment performance, breakdown, and more. With simple charts and tables, it’s easy to take a closer look into your portfolio and find out your portfolio worth and see the balance in your managed portfolio plus a consolidated view of the balances in all your TD Ameritrade accounts.

•Programmed code in Kotlin language to perform Restful API calls for bank transfers, budgeting, and digital receipts.

•Worked with Coroutines and MVVM clean code architecture.

•Stored cryptographic keys in a container and protect key material from unauthorized use using Android Keystore.

•Helped the team with code reviews.

•Created a reusable view using card view so all Contact Us options have the same look.

•Authenticated users via Fingerprint scan API and implemented the user interface for the fingerprint authentication flow.

•Worked with a Room database.

•Made use of NavGraph XML resources.

•Utilized two-way data binding to communicate between ViewModel and XML files.

•Performed unit and system tests with JUnit, Mockito, and Espresso.

•Implemented Picture-in-Picture (PiP) functionality.

Android Developer Etsy Inc / New York, NY (Remote) 12/2017 – 02 /2019

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

About the app: With the Etsy app, you can easily explore our global marketplace of handmade, vintage, and creative goods. It features curated collections of inspiring gifts for him or her, unique wedding ideas, and handmade jewelry.

•Generated app built on an MVP architecture.

•Implemented RxLifecycle and RxBinding to bind the network calls to the Android lifecycle and automatically complete sequences based on a second lifecycle stream.

•Switched from Paypal sdk to Braintree SDK and included card.io for credit card scanning.

•Switched from SQLite database to Realm database to store items locally and store user profile information and preference settings.

•Made use of Mockito testing suite and JUnit to create and perform tests on the application code.

•Worked with RxJava using observable and subscriber classes.

•Worked with Ui/UX designers using Zeplin and implemented UI designs according to designer specifications.

•Implemented the Android Activities and Fragments to create the design for the mockup designs.

•Integrated Facebook and Twitter for app-sharing, indexing, and authentication.

Android Mobile Software Developer ADP, Roseland, NJ 05/2016 – 12 /2017

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

ADP Mobile Solutions provides you with an easy and convenient way to access payroll, time & attendance, benefits, and other vital HR information for you and your team.

•Added several animations and transitions without the box features and third-party libraries.

•Improved the search navigation Activity to find out station names.

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

•Managed Git code repository using BitBucket.

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

•Created the database using SQLite local file and a Firebase implementation.

•Implemented Volley for image handling.

•Created small testing instances with Android Wear and Android Auto.

•Generated the application with an MVP architectural base to help with modularity and maintainability.

•Performed automated testing by using Robolectric.

•Set up SonarQube jobs for my Java and Android projects.

•Used the Parcelable interface to serialize the objects.

•Eliminated the use of external libraries by consolidating the use of OKHTTP and GSON.

Android Application Developer Alaska Airlines, Seattle, WA 01/2015 - 05/2016

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

Explore options, book trips, check-in, and move easily through airports. Find all the flight information that matters to you, when it matters. With our app, you can book a flight, select a seat, or change your seats before you depart. We will get you through the airport faster with mobile check-in up to 24 hours before your flight. You can also save time by using our app as your boarding pass, no more kiosks or lines, just use your phone to get through the security checkpoint at the airport.

•Worked on the Android app development in Android Studio with Java Coding and various design patterns (MVP, Singleton, Decorator, Façade, Proxy).

•Created a module based on an Event-driven library (Event Bus) to communicate multiple components in the app efficiently.

•Generated a custom behavior in multiple screens included in the CoordinatorLayout to hide the Toolbar and the Floating Action Button on the user scroll.

•Re-structured ListViews to RecyclerViews with lazy loading for improved usability and lower memory footprint.

•Involved in rigorous manual testing of the application.

•Evaluated device and user behavior with Crashlytics.

•Analyzed existing multi-threading issues and rectified them.

•Lobbied external networking libraries such as Retrofit and Volley to consume REST web services efficiently.

•Used Mixpanel and Flurry to generate customized events in the Analytics retrieval.

•Standardized Picasso Image Loader API as the default image loader across the application.

•Enhanced the usage of SQLite databases backed up by a Content Provider for caching and storing frequently used information.

Android App Developer Avant, Chicago, IL 06/2013 - 01/2015

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

Avant Banking is a next-generation mobile banking app that allows you to get paid up to 2 days early and transfer money easily, without any hidden fees or overdraft fees. Avant, LLC is a financial technology company, not a bank. Banking services are provided through Evolve Bank & Trust, Member FDIC.

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

•Debugged and tested the application using Robolectric.

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

•Used Espresso for instrumentation testing using Assertions, Matches, and Actions.

•Updated the look and feel following Material Design guidelines.

•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 their preferences

•Set up and managed private GitHub repositories to host internal code.

•Implemented Google Analytics, and Flurry for various analytics.

•Utilized the Eclipse IDE to develop and code the application.

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

Android Mobile Software Developer Sworkit Rockville, MD 08/2012 - 06/2013

https://play.google.com/store/apps/details?id=sworkitapp.sworkit.com

With Sworkit, the feeling of being too busy, too intimidated, or too unmotivated will be a thing of the past. You can live your best life, once and for all. Who says you can't get and stay in shape?

•Interfaced with SQLite for storing information.

•Tracked issues with Jira.

•Managed memory leaks in debug builds with LeakCanary.

•Designed prototypes to create the new main flow of the application with JustInMind.

•Worked with the UI/UX team to design a user-friendly interface for the Android application.

•Applied styles and themes following the new Google material design pattern.

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

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

•Implemented Fragments to support multiple device sizes.

EDUCATION

Bachelor of Science - Computer Science Engineering and Technology and Computer Science



Contact this candidate