Thomas Hollman – Android Developer
A highly dedicated and results-oriented professional with 8 years of experience developing efficient Android mobile applications, with 6 apps published to the Play Store. I am an extremely logical thinker, with a passion for problem solving and a drive for quality. I am interested in developing new technologies and I am seeking a new contractor role as an Android Developer.
SENIOR ANDROID APP DEVELOPER / SAN FRANCISCO, CA / AUGUST 2021 – CURRENT
Virtusa: App not yet released.
The Virtusa app is a new app being developed for buying and selling tickets to events.
•Team: Two Android Developers, Project Manager, Designer, two Backend Developers, Analysts.
•Programming features and functions in Kotlin.
•Using Jetpack Compose for UI development.
•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 AsyncTask to run tasks on background threads while publishing results to the UI thread.
•Adding new screens for checkout and payment methods.
•Building UI based off existing Stubhub app.
•Applying text translation for multiple languages.
•Utilizing Accessibility feature for screen reader.
•Review team members’ code.
•Writing Analytics code using Adobe to track user interactions in the app.
•Using HTML for hyperlinks in strings.
•Passing data between classes with fragment listeners.
SENIOR ANDROID DEVELOPER / SAN FRANCISCO, CA / AUGUST 2020 – AUGUST 2021
BetterUp provides you personalized coaching that boosts personal wellbeing and professional performance. It’s like having your own personal executive coach, mentor, and accountability partner all in one, always at your side.
•Team: One Android Developer(me), one IOS Developer, Project Manager, Designer, two Backend Developers, Analysts.
•Serving as the sole Android Developer on the 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.
•Implementing 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.
•Navigating between screens using a Nav Graph.
•Configuring navigation by using observers on sealed class objects.
•Passing data between classes using fragment listeners.
•API calls made using composite disposables.
•UAT testing done with Mockito.
•Unit testing done with Junit.
•Source controlled with GitHub.
•Using Analytics to log events for experiments.
SENIOR ANDROID DEVELOPER / SCOTTSDALE, AZ / MAY 2019 – JULY 2020
Early Warning Services, LLC: https://play.google.com/store/apps/details?id=com.zellepay.zelle
The Zelle app makes it easy for you to send money to other enrolled Zelle users that already have access through their financial institution.
•Mid-sized team of 4 Android Developers, 4 iOS Developers, 3 Designers, 3 Testers, and 3 API Backend Developers
•Work with an Agile/scrum team to deliver high-quality solution on time and in conformance with user stories’ acceptance criteria.
•Follow Planning Poker Agile estimation technique.
•Contribute to the technical direction of the team
•Architected and coded user story from scratch using new Architecture components using LiveData, ViewModel 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 EncryptedFile class and secure keys/value strings using EncryptedSharedPreferences
•Conducted Unit tests utilizing MockK, Junit and InstantTaskExecutorRule 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.
ANDROID DEVELOPER / LOS ANGELES, CA / OCT 2018 – APR 2019
Achieve your health and fitness goals with unlimited access to the best workout classes - from exercise styles ranging from cardio to strength training to HIIT, yoga, Pilates, dance, barre and more.
•Large, distributed team including on-site, offshore, and outsource moving dynamically between a number of products.
•Agile approach to tasks; Daily stand-up meetings; Emphasis on communication between teams and offices.
•Implement new features according to their acceptance criteria with an incremental and continuous improvement approach to deliver.
•Fully participate 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 DownlaodManager.
•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.
•Replaced GCM with Urban Airship SDK to include Push Notifications, App-Invites, and In-App Purchase.
NATIVE ANDROID DEVELOPER / DIANA BEACH, FL / Jan 2017 – SEP 2018
Chewy, Inc.: https://play.google.com/store/apps/details?id=com.chewy.android
Shop your favorites, manage your Autoship, track your order status, easily get access to our 24/7 pet experts.
•Mid-sized team of developers and designers across Android and iOS.
•Rapid development: 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.
ANDROID DEVELOPER / SANTA MONICA, CA / June 2015 – December 2016
Tradesy Inc: https://play.google.com/store/apps/details?id=com.tradesy.android
Shop designer fashion at up to 70% off, and cash in on your closet, hassle-free.
•Worked on a team of 8 developers and 2 QA specialists.
•Collaborated with cross-functional teams to define, design, and ship app experiences for users.
•Accepted joint responsibilities with the team for converting the Product backlog into 'Done'.
•Contributed to continuous improvements in the team for greater efficiency, quality, and productivity.
•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 BillingClient and override on ConsumeResponse in the MVVM design pattern.
•Included DaggerMock 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 RxJava, 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 interprocess communication (IPC).
ANDROID DEVELOPER / SAN FRANCISCO, CA / MAR 2014 – May 2015
Ifwe Inc.: https://play.google.com/store/apps/details?id=com.taggedapp&hl=en_US&gl=US
Tagged is the #1 place to link up with new people, chill and play games with over 300 million other users.
•Small team and work closely, one-on-one, with stakeholders.
•Waterfall: Rigid, linear progress through product lifecycle.
•Worked to achieve the goals and vision articulated by Product Management and management chain.
•Adhered to established development processes, procedures, and standards.
•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 JobRequest with the corresponding builder class and scheduled this request with the JobManager.
•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, Realtime App Analytics, and Conversion Funnels using Appsee SDK.
•Utilized Facebook Stetho, Charles Proxy API, Memory profiler, HierarchyViewer 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'.
Bachelor of Science, Computer Science
University of Wisconsin-Madison