Post Job Free
Sign in

Senior Android Developer

Location:
Madison, WI, 53719
Posted:
May 15, 2023

Contact this candidate

Resume:

THOMAS HOLLMAN

Contact: 628-***-****; (M); Email: **********@*****.***

Attuned to the latest trends and advancements in this field, I am consistently delivering impeccable results through my dedication in handling multiple functions and activities under high pressure environment with tight deadlines

ANDROID DEVELOPER

EXECUTIVE SNAPSHOT

s

Energetic and curiosity-driven android developer with an experience of 9+ years in writing top quality clean code for high paced businesses. Successfully published 7 apps to the play store.

Experience building Android apps from scratch as well as revision, refactoring, and transitioning architecture (MVC, MVP, MVVM) and code base (Java to Kotlin and Android versions).

4+ years of experience writing quality code in kotlin

Android performance profiling, memory and power management and optimizations.

Native Android Development in Android Studio and Eclipse using Java and Kotlin.

Applied architectural patterns like MVVM (Model View ViewModel), MVP (Model View Presenter).

Apply design patterns Singleton, Dependency injection, Factory, Builder, Adapter.

Implemented the user interface by using Custom Views, RecyclerView, Relative Layout, Linear Layout and Constraint Layout.

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

Leveraged beautiful cleaner interface, plus design changes using Android material designs tools like CardView, Toolbar, RecyclerView, animations properties and support libraries for this Android mobile app.

Improved the performance and UX of several modules of the local Content management system.

Work with Room DB, Shared Preferences, Cipher, Certificate Pinning, TrustManager, Bouncy Castle, Spongy castle, SQLCipher, KeyChain, Key Store, Work Manager.

Knowledgeable of the latest analytics tools for mobile applications such as Google Analytics, Localytics, Mixpanel, Answers, Flurry, Crashlytics, NewRelic, etc.

Experience in Git for code base and version control (GIT, GitHub, GitLab).

Worked with ExoPlayer to enable a dynamic and adaptive streaming using DASH and HLS.

Experience working on Agile development teams using Scrum processes.

Used Android and kotlin frameworks and APIs to efficiently load data and update databases: Kotlin coroutines, kotlin flows, RxJava, RxAndroid.

Well versed in Android third-party libraries such as Volley, Retrofit, Picasso, YouTube, Location API, Maps View, Google View, Google Maps, PayPal, Stripe, Android pay, QR Droid, Butterknife, Dagger, Google Wallet payments, Android Annotations.

Hands on experience following the BDD development.

Skilled in consumption of RESTful web services (REST, HTTP-based, XML, SOAP, JSON, GraphQL etc.) and use of Retrofit, Volley, Kotlin coroutines for Android back-end communications.

Practical implementation of Android Life Cycle, Fragments, Intents, and threads on Android; binding services, implicit and explicit Intents, background processes, sync adapters, activity, activities for Result, WebView, ImageView, TextView, RecyclerView, ListView, and Object-Oriented design and programming.

Well versed in Android third-party libraries such as Volley, Retrofit, Picasso, YouTube, Location API, Maps View, Google View, Google Maps, PayPal, Stripe, Android pay, Google Wallet payments, Android Annotations.

Hands-on with Android Data Binding with JetPack and use of Android JetPack ViewModel.

Worked with a team on AR/VR in recent projects.

Skilled in leadership and able to work well with all people, mentoring developers, working with project managers, stakeholders, and cross-functional team members.

Technical Skills

Programming Languages

Java, Kotlin, C#, SQL, Javascript, CSS 3

Android SDK

Android Application Components, Intents, Implicit and Explicit Intent, Runtime Permissions, Application Context, Base Context, View and ViewGroups

Background

Android Threads, ThreadHandler, Executors, Handler and Loopers, ThreadPool, Coroutines, AsyncAdapters, Asynctask, Kotlin Flow, RxJava

Database

mySQL, MSSQL, SQLite, Room DB and CoreData

Web Design

Httml, Httml 5, Microsoft .NET, ASP.NET, C#, WebServer, WebHosting, Web Proxy, Content Management System MAVS

Network Protocols

HTTP, SOAP, Json, XML Parser, HTTPURLConnection, OkHttp, Retrofit, Volley, Rest

Video Formats

MP4,AVI,MKV, Exo player

Web Services

RESTful APIs, REST, SOAP, JSON, GSON, XML, AJAX, Geocoder API

Architetures and Design Patterns

MVC, MVP, MVVM, Builder, Factory, Singleton, Adapter, Observer

Others

ZXIng, Fresco, RecyclerView, CardView, JaCoCo, TDD, BDD

PROFESSIONAL EXPERIENCE

Since June 2022 with Pluto TV, Wisconsin (Remote)

As a Sr. Android App Developer

App Name: Pluto TV - Live TV and Movies

Link: https://play.google.com/store/apps/details?id=tv.pluto.android&hl=en_US&gl=US

Description: The leading free streaming TV and movie service is available to you! Watch 100s of live TV channels and 1000s of movies and TV shows, all streaming free. Pluto TV also offers over 45 channels in Spanish, including native language and dubbed movies, reality TV, telenovelas, crime, sports and more. Pluto TV is 100% free and legal: no credit cards, contracts, or bills.

Responsibilities:

Add channels, query for channels and programs to the Android TV home screen using the Kotlin and AndroidX libraries and schedule WorkManager to update channels

Involved in the POC for feature development and constant communication with managers and stakeholders.

Integrated Google Assistant API to create a Dialogflow v2 agent, create a custom entity to allows users to interact through voice commands such as "Pause," "Resume," and "Next." and On-screen media controls

Add a media session, connect media sessions to an instance of ExoPlayer and include metadata of items in the playback queue in the media session with additional (custom) actions

Run meetings to define the use cases and behavior of the app following the BDD

Managed team of 4 developers to accomplish the feature development following the BDD and TDD.

Worked on 'Live events and exclusive programming with streaming coverage' domain and network module in MVVM architecture using Kotlin programming language

Worked on Chromecast API to stream video and audio to a TV or sound system and sender framework for asynchronous callback design

Implemented PayPal's Invoicing API to create and send invoices along with billing plans and billing agreements

Introduced a free 10-minute preview of Pluto Network channels in for a specific region using product flavors for Android TV and mobile app

Participated in the development of an AR-based advertising feature for the app, enabling display of interactive and engaging ads that seamlessly blended with the user's environment, resulting in an increase in ad engagement and revenue.

Integrated Primetime TVSDK to support VOD and live/linear playback and Playback of HLS streams unencrypted or with Protected HTTP Live Streaming

Close communication with cross functional teams to establish seamless behavior along platforms.

Presented Assistance Api functionality to the stakeholders and managers to get approval on the releases for the application.

Followed the BDD to develop any new features to accomplish a solid code.

Worked with different ServiceNow teams for incorporating various platform capabilities into the architecture such as Security and Authentication, Session management, integrating with third party systems

Built the essential web services to handle the content data retrieval, rendering and streaming video, decoding, and playback using Swagger, Retrofit, Firebase, Charles proxy and GraphQL capabilities

Incorporated media router APIs to enable a broad range of media output to playback equipment connected to Android devices through wireless and wired means

November 2022 – One Time External Project

As a Sr. Android App Developer

App Name: eBay Motors

Link: https://play.google.com/store/apps/details?id=com.ebay.motorsapp&hl=en_IN&gl=US

Description: One of the world’s widest selections of vehicle parts and accessories is available on the eBay Motors app. Use the app to buy and sell vehicles with ease, as well as chat with other auto enthusiasts.

Responsibilities:

Designed and developed the new user interface for the Android version of the app using Android UI toolkit, including views, layouts, and widgets.

Implemented core features and functionality of the app using Kotlin programming language and Android SDK, including Android Activity, Fragment, Intent, Broadcast Receiver, Service, and Content Provider components.

Integrated the app with web services and APIs to fetch data about car parts and their availability in real-time, using Retrofit and JSON parsers such as GSON.

Designed the app in MVVM architecture.

Worked as lead developer for analytics features and debug sessions.

Worked closely with the backend team to ensure the app communicated seamlessly with the server-side of the application, using RESTful APIs, and OAuth or Firebase authentication.

Conducted unit and integration testing to ensure the app was bug-free and performed optimally, using Android JUnit, Mockito, or Espresso frameworks, and Android Studio tools such as Profiler, Memory Monitor, and Layout Inspector.

Main point of contact for managers and upper management to present business requirements translated to technical products.

Collaborated with the UX/UI design team to ensure that the app design was consistent with the overall brand guidelines, using Android Material Design components and principles.

Optimized the app for performance, including minimizing app size, improving battery efficiency, and optimizing memory usage, using Android ProGuard, Lint, or Android App Bundle tools, and performance profiling techniques.

Stayed up-to-date with the latest trends and best practices in Android development, and shared knowledge with the team to promote continuous learning and improvement, using Android documentation, blogs, and online communities.

Troubleshot and debugged issues reported by users or discovered during testing, using Android Logcat and Firebase Crashlytics tools.

Participated in code reviews to ensure code quality, maintainability, and scalability of the app.

August 2021 – June 2022 with Virtusa, San Francisco, CA

As a Sr. Android App Developer

Successfully managing a team of 2 android developers, project managers, designer, 2 backend developers, analysts abd involved in programming features and functions in Kotlin.

Using Jetpack Compose for UI development and applying technical work within an Agile/Scrum project development methodology and test-driven development environment,

Using Git as the code repository, managed with Atlassian SourceTree.

Working in Android Studio with coding in Kotlin using an MVVM Android app architecture.

Programming unit tests extensively following TDD best practices using Mockito and Espresso and JUnit.

Applying kotlin coroutines to run tasks on background threads while publishing results to the UI thread.

Adding new screens for checkout and payment methods.

Led the development of an AR-based advertising feature for the video streaming app, enabling advertisers to display interactive and engaging ads that seamlessly blended with the user's environment, resulting in a 20% increase in ad engagement and revenue.

Followed the BDD development to enhance testing and behaviour of the application

Building UI based off existing Stubhub app and applying text translation for multiple languages.

Utilizing accessibility feature for screen reader and reviewing team members’ code.

Writing analytics code using adobe to track user interactions in the app.

Using HTML for hyperlinks in strings and passing data between classes with fragment listeners.

Aug 2020 - Aug 2021 with Betterup, San Francisco, CA

As a Sr. Android Developer

Link: https://play.google.com/store/apps/details?id=co.betterup.betterup&hl=en_US&gl=US

As the only Android Developer in my team I was responsible for communicating and coordinating with the Designer, IOS Developer, Backend teams, Analyst, and Project Manager to make the Android app work to specifications.

Changing structure of classes from MVP to MVVM for Android guild.

Implementing native sign-up for users within app instead of having to use web service as well as HTML strings to display hyperlinks within text views.

Displaying new terms and conditions page to user in compliance with California law.

Creating new layouts in accordance with design and navigating between screens using a Nav Graph.

Configuring navigation by using observers on sealed class objects.

Passing data between classes using fragment listeners.

Involved in API calls made using composite disposables.

Accountable for UAT testing done with Mockito as well as Junit.

Liable for source controlled with GitHub and using Analytics to log events for experiments.

May 2019 – Jul 2020 with Early Warning Services, LLC, Scottsdale, AZ

As a Sr. Android Developer (Team Size: 13)

Link: https://play.google.com/store/apps/details?id=com.zellepay.zelle

Worked with an Agile/scrum team to deliver high-quality solution on time and in conformance with user stories’ acceptance criteria.

Followed planning Poker Agile estimation technique and contributed to the technical direction of the team

Architected and coded user story from scratch using new Architecture components using Live Data, View Model and Room database.

Created API request to generate the token request from client app and send encrypted user data with RSA/ESA asymmetric algorithm to backend.

Took advantage of Android's jetpack's Navigation component to abstract much of the navigation logic away from fragments.

Worked in multiple modules to ensure a separation of concerns between network, domain, and presentational logic.

Included new Security library, part of Android Jetpack to secure streaming read and write operations using Encrypted File class and secure keys/value strings using Encrypted Shared Preferences

Conducted Unit tests utilizing MockK, Junit and Instant Task Executor Rule to test coroutines.

Introduced complex sealed classes to simplify a problem of receiving an array of varying responses from API.

Performed the network operation and raised the level of abstraction around threading for parsing external API to load list of users, payments check and login activities.

Implemented fingerprint authentication in an intuitive and secure fashion as a supplementary login mechanism.

Performed integration for Braze SDK base analytics library and Braze SDK user interface library for in-app messages, push, and the news feed.

Migrated Dagger2 library to Koin dependency injection library for Kotlin.

Worked in code review first environment to reduce bottlenecks often induced by pull request processes.

Optimized the performance of Layout hierarchies with ViewStub, mainly for those that contained views that were not used frequently.

Oct 2018 - Apr 2019 with FitOn, Los Angeles, CA

As an Android Developer

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

Implemented new features according to their acceptance criteria with an incremental and continuous improvement approach to deliver.

Fully participated in the relevant scrum events; planning and estimation, daily scrums, sprint reviews, and retrospectives.

Orchestrated and implemented complex chain and Lottie animation throughout the application.

Created a generic custom element class that can render improved shadows on elements when material design’s card view wasn't enough.

Downloaded and streamed workouts video into Exoplayer media UI using Jobschedulers and Downlaod Manager.

Implemented reusable accessibility extensions to ensure correct screen reader focus order in varying scenarios, such as with dynamic positioning of content on material design’s bottom sheet.

Created a custom reusable snapping recycler view and adapter to meet acceptance criteria to ensure carousels snap at X amount of items.

Worked with Google Fit API to upload fitness data to a central repository and authorization scopes to request user permission to work with fitness data.

Optimized app to use Sensors API to provide access to raw sensor data streams from sensors available on the Android device.

Used History API to provide access to the fitness history and perform bulk operations such as inserting, deleting, and reading fitness data.

Integrated MyFitnessPal! SDK to allow app access the functionality of MyFitnessPal and track users diets and exercise.

Created and loaded privacy policy and T&C external content into WebViews.

Replaced GCM with Urban Airship SDK to include Push Notifications, App-Invites, and In-App Purchase.

Jan 2017 - Sep 2018 with Chewy, Inc., Diana Beach, FL

As Native Android Developer

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

Responsible for ensuring project remained on schedule through repeated iterations of prototyping and discovery.

Wrote test cases and worked with QA on a weekly release cycle.

Built solid relationships with internal and external stakeholders.

Coded new modules with an MVP approach, setting up all the interfaces and the decoupling of the classes for newer use cases and mock API testing.

Included Matisse SDK to enable selection of images (including JPEG, PNG, GIF) and videos (including MPEG, MP4) and defined custom filter rules.

Supported functionality to deploy code behind feature flags, remote configuration, experiment with A/B tests, and roll out or roll back features immediately using Optimizely sdk.

Integrated PayPal SDK to receive a one-time payment from customer's PayPal account or payment card (scanned with card.io).

Used gRPC library to support bi-directional streaming and fully integrate pluggable authentication with HTTP/2-based transport.

Independently worked on the specific paid product flavor which can change or update order anytime.

Created a chain of nested GSON custom deserializers to manage a tempermental API returning values of more than a single type.

Involved with addressing internal and external issues raised as well as general bug bashing.

Implemented Constraint Layouts to improve the layout performance and increase the UI layout readability.

Removed Retrofit callbacks with asynchronous RxJava to send a Get, Post, Update HTTP request to backend to display 1000 top brands of pet food and supplies in custom ListView.

Collaborated with the backend team to integrate the AWS framework to increase reliability and responsiveness of real-time transit tracking information.

Jun 2015 - Dec 2016 with Tradesy Inc:, Santa Monica, CA

As Android Developer

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

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 Billing Client and override on Consume Response in the MVVM design pattern.

Included Dagger Mock 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 Rx Java, 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 inter process communication (IPC).

Mar 2014 - May 2015 with Ifwe Inc., San Francisco, CA

As Android Developer

Link: https://play.google.com/store/apps/details?id=com.taggedapp&hl=en_US&gl=US

Launched Android app that maintains a 4/5-star rating in the Google Play store with 20K+ downloads.

Included Android-Job utility library to run jobs delayed in the background by creating Job Request with the corresponding builder class and scheduled this request with the Job Manager.

Worked on Jsoup Java HTML Parser library to use DOM, CSS, and jQuery-like methods and implemented the WHATWG HTML5 specification, and parsed HTML to the same DOM.

Utilized advanced functions of the Java software development kit (SDK) to optimize the flexibility of apps to different mobile devices.

Introduced Observable Custom Elements that took advantage of live data in the codebase.

Worked in Pair Programming strategy to reduce the learning curve on the customs process and custom SDK.

Worked on custom markers, updated Google maps v2 to v3 and geo-location-based features to search the nearest match.

Improved the user experience, Real-time App Analytics, and Conversion Funnels using Appsee SDK.

Utilized Face book Stetho, Charles Proxy API, Memory profiler, Hierarchy Viewer and Android Profiler to identify issues and enhance the performance.

Created module to code the user-story 'make a quick connection with ladies and guys nearby'.

ACADEMIC CREDENTIALS

B.SC in Computer Science

University of Wisconsin-Madison

Responsibilities

Responsibilities

Responsibilities

Responsibilities

Responsibilities

Responsibilities

Responsibilities

Responsibilities

Responsibilities



Contact this candidate