Post Job Free
Sign in

Senior Android Developer

Location:
Manhattan, NY, 10019
Posted:
December 01, 2023

Contact this candidate

Resume:

THOMAS TARNOWSKI

Phone: 646-***-****

Email: ***********@*****.***

Professional Summary-

•9+ years of professional experience developing, delivering, and supporting native Android applications through the Google Play Store.

•5 apps were published to Play Store.

•In-depth knowledge of multithreading, memory management, networking, performance optimization, and app security.

•Knowledge of open-source and commercial libraries commonly used in the Android ecosystem, including Android architecture components, Jetpack libraries, OkkHTTP, Retrofit, Volley, etc.

•Skilled in designing mobile applications to consume server-based REST APIs.

•Solid knowledge of Java and Kotlin (including coroutines).

•Expert understanding of the Android System APIs, and Android app lifecycle.

•Applied various architectures such as MVVM, MVP, MVC, etc.

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

•Well-versed in the most modern Android third-party libraries such as Retrofit, Picasso, YouTube, Location API, Maps View, Google View, Google Maps, PayPal, Stripe, Android Pay, QR Droid, Butter Knife, Dagger, Google Wallet payments, and Android Annotations.

•Knowledge of multi-threaded, asynchronous code.

•Experience with animation and implementing user interface designs.

•Experience with Push Notifications, Google Maps, Navigation, and GPS.

•Experience developing mobile-to-cloud and mobile-to-embedded device communications.

•Fluent in Android SDK/NDK and device driver development.

•The ability to diagnose performance bottlenecks in Android development and optimize Android performance.

•Skilled in writing Unit tests and automation tests with Espresso.

•In-depth understanding of Web Services and SOA-related standards such as REST, JSON, etc.

•Experience with mobile automation (Fastlane, XCode Server, Bitrise, CircleCI, Nevercode, Jenkins).

•Experience with modern build strategies, continuous integration, unit testing, test-driven development, static analysis, and automated integration tests.

•Experience with voice interfaces and image processing.

•RXKotlin, RXJava, RXAndroid, and RX Bluetooth experience.

•Knowledge of Docker, Git, GitHub, OpenShift, and Microservices Architecture.

•Experience working in a remote team in Agile development environments as a detail-oriented team player.

•Create unit and integration testing suites developed with Mockito and Espresso for use in Android development.

•Configure and initialize cloud integration services, including Parse, Firebase, and Google Cloud Messaging for Android projects.

•Experience consuming third-party APIs in Android development projects.

•Experience multi-threading and memory management specific to mobile devices

•Work with QA teams on system, performance, and acceptance testing.

•Utilize Android UI Toolkit and Layout Managers.

•Implementation of dependency injection with Dagger and Hilt to speed up the unit testing process.

Technical Skills

•Project Tools – Jira, Confluence, Trello, Slack.

•Development Environments – Git, GitHub, BitBucket, SourceTree, Eclipse, Android Studio, Jenkins, Hudson, Travis, BitRise.io.

•Programming Languages – Java, Kotlin, C#, C++.

•RESTful Web Services – REST, SOAP, JSON, GSON, Retrofit.

•Documentation: Confluence

•UI/UX: Unity 3D, Zeplin, Adobe Photoshop, Adobe Illustrator

•Threading/Concurrency – RxJava, AsyncTask, Volley, Coroutines, Threads, Loopers, Handlers, StateFlow, Flow.

•Dependency Injection – Dagger, 1, Dagger 2, Butter Knife, IcePick, Android Data Binding.

•Architectures: MVVM, MVP, Singleton, Factory, Builder

•Project/Team Management/Continuous Integration: Jira, Git, GitHub, BitBucket, Travis, CircleCI, Collaborator, GitFlow, Jenkins

•IDEs – Android Studio, Visual Studio, Eclipse, NetBeans.

•Frameworks – Reactive-X: RxAndroid, RxJava, RxKotlin, Firebase, Firebase Crash Reporting, Firebase Cloud Messaging (FCM), React Native, GraphQL, Node.js.

•Google – Google Maps, Google Cloud Messaging.

•Testing Tools – Junit, Espresso, Mockito, Leak Canary, DDMS tool, ADB, Roboelectric.

Professional Experience

Citigroup, New York City, NY Jan 2022 – Present

Sr. Android Application Developer

App Name: Citi Mobile – Citi Bank

Link: https://play.google.com/store/apps/details?id=com.citi.citimobile

Description: Now we have the simplest as well as the easiest way to open an account with Citi Mobile – Citi Bank App. We can open a savings account by using the All-Mobile Account option. It also contains smart shortcuts from where we can quickly get our favourite features by using the Fast Navigation Option. Last but not the least we can even replace a new card if the original one is damaged, lost or stolen.

•Programmed code in Kotlin language to perform Restful API calls for bank transfers, budgeting, and digital receipts user stories using Coroutines, Retrofit, and Data Binding in MVVM clean code architecture.

•Refactored Android Support libraries to be compliant with Android 11 and JetPack.

•Integrated multiple third-party libraries like Glide, Retrofit, and Dagger/ Hilt.

•Used Slack and Microsoft Teams for communication.

•Implemented recycler views with card views to display data most efficiently.

•Interacted with the whole Jetpack library.

•Wrote instrumentation tests and UI tests using Espresso.

•Enhanced user interface by implementing custom list layouts and themes.

•Worked with data parsers to get secure user data from the server in XML.

•A performed search feature that allows you to search for the nearest ATM/branch via zip code or address.

•Implemented Jetpack Compose to create 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 Compose.

•Implemented Safety Net Attestation API and SafetyNet reCAPTCHA API to determine if it is rooted/tampered and implemented strong DRM checks and protect the app from spam.

•Improved login feature of the app using OAuth library for token-based authentication and Biometric API.

•Worked on a remote check deposit feature that allows a user to take pictures of checks for deposit purposes.

•Implemented multiple tabs in Action Bar, like Accounts, Deals, Alerts, and Locations on saving user preferences locally using shared preferences.

•Worked with Google APIs to locate the nearest bank branch and ATMs.

•Assisted in executing a feature that allows one to send and receive money using an email address or phone number.

•Worked on activity styles and implemented custom styles.

•Tested the application for any bugs and fixed them.

•Successfully made the app support different screen sizes and configurations.

•Updated and distributed the app via Google Play.

•Used Hilt for dependency Injection.

•Used Postman to interact with client custom APIs.

Pfizer, New York City, NY Jan 2020 – Dec 2021

Android Application Developer

App Name: HemMobile

Link: https://play.google.com/store/apps/details?id=com.pfizer.hemo

Description: HemMobile® is a health app which is designed to help hemophilia patients/caregivers log infusions of any factor replacement product, record bleeds, and track activity. It is not intended for curing, treating, or seeking treatment for managing or diagnosing a specific disease, disorder, or any specific health condition.

•Help with the migration of code from Angular to the Native Android Kotlin language.

•Employ tagging using Adobe tagging for business analytics on app usage and marketing information.

•Locally store prescription history in Room database with Account Information; shipping and billing information, manage family access, and reset password.

•Create Observables/ flowable/Single sources, subscribing, disposing of, multi-threading using schedulers and avoid API calls memory leaks using RxJava library.

•Use Pfizer APIs to translate strings, handle location services and post customer information to Pfizer servers using Reactive Programming and Retrofit libraries.

•Create flows for new photo products, refactored and debugged old code to use up-to-date coding standards in the photo.

•Architected the app using Data Binding Library to bind UI components to data sources using a declarative format rather than programmatically.

•Refactor spaghetti code with new JetPack architectural principles using ViewModel, and LiveData MVVM components and participate in architecture reviews.

•Persisted cookie store and saved cookies into the app's Shared Preferences.

•Established effective front-end and back-end communication through RESTful services.

•Remove Urban Airship and replace it with Firebase push notification services to send daily walk reminders to users.

•Exposed data via a Content Provider using Room to access contacts and gallery.

•Collaborated with product designers with a focus on new feature design and prototyping.

•Polish the magnets feature and add analytics tags.

•Handle code merger and image manipulation from another developer in a photo project to release a branch at the end of sprints.

•Work with a third-party API called Snap fish to handle information exchange, photo orders, and ids.

•Solve ANR crashes on the new release.

•Conducted integration testing with the Robolectric framework and behavioural testing with the Robotium framework.

•Worked on an Agile dev team and participated in scrum events, planning and estimation meetings, sprints, and retrospectives.

•Created/configured a real-time database system & generated custom analytics reporting system using Firebase library.

•Programmed a custom remainder feature to identify unknown pills by colour and shape features.

American Honda Motors, Torrance, BLVD Nov 2018 – Dec 2019

Senior Android Developer

App Name: Genuine Honda Accessories

Link: https://play.google.com/store/apps/details?id=com.honda.accessories.genuine HYPERLINK "https://play.google.com/store/apps/details?id=com.honda.accessories.genuine&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.honda.accessories.genuine&gl=US"gl=US

Description: The Honda Accessories App is a digital platform that helps dealers explore Genuine Honda Accessories options that add convenience, personalize, and protect customers vehicles. In the hands of the Dealer, the Honda Accessories App is a digital sell sheet with the power to help you move more accessories and increase revenue in your Sales and Service area.

•Contributed to the development of BlueLink AI-based feature SDK, implementing Vehicle Navigation Control, Voice Assist Dialing, and Panic Notification features.

•Implemented Clean Architecture and MVP in the presentation layer to ensure separation of stable business rules from technical details.

•Designed algorithms for BLE peripheral devices, enabling the transmission and scanning of advertisement packets in the peripheral model.

•Leveraged Firebase Realtime Database for seamless data synchronization across connected devices in real time.

•Integrated Kochava SDK to track various post-install activities, such as location events and purchases, and synchronized data to Mixpanel.

•Incorporated Sci-Chart library to visualize real-time vehicle statistical data using Heatmap charts, candlestick charts, and error bars.

•Utilized Web views to link the Privacy Policy to the main menu, ensuring user transparency.

•Implemented Firebase for analytics tracking and app crash reporting to enhance app performance and stability.

•Enabled fingerprint and/or face recognition functionality with Biometrics authentication on widgets for Blue Link subscription, utilizing the Biometric Prompt API for Android P.

•Developed service layer code and algorithms for managing Bluetooth Adapters, Bluetooth Services, and car UUID Characteristics, incorporating Broadcast Receivers, EventBus, and IBinder interface.

•Supported team members through paired programming and the use of whiteboard concept diagrams to foster collaboration and knowledge sharing.

•Integrated Google Calendar API to facilitate access and modification of private calendars and events within the application.

•Configured Git repositories in GitHub and conducted thorough code reviews for the Android development team to ensure code quality and best practices.

•Contributed to the creation of comprehensive technical documentation to improve the maintainability and scalability of the project.

Bed Bath & Beyond, Union, New Jersey Sep 2016 – Oct 2018

Sr. Android Application Engineer

App Name: Bed Bath & Beyond by Overstock

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

Description: Our stores always remain open to serve you with housewares, furniture, and specialty items if you are fond of decorating your homes.

•Performed code migration from Java to Kotlin and implemented null safety checks, higher-order functions, extension functions, coroutines support, and KMM.

•Implemented Custom Attribute and Custom View, re-used existing binding adapters, and reduced boilerplate code with MVVM data binding.

•Added a new credit card with a camera card scanner for the quickest checkout

•Push notifications to alert as soon as sales start and remind when they're ending.

•Included Stripe Billing APIs to create and manage invoices and recurring payments and create fixed-price subscriptions with Elements.

•Programmed on a large existing codebase with MVVM Architecture Design pattern using Flowables and data binding connections between modules.

•Applied an MVVM architectural base.

•Implemented observable data patterns using JetPack LiveData to make server data observable.

•Participated in code review and reviewed code carefully before approval.

•Created a Repository pattern to abstract connections between local databases and remote endpoints.

•Created abstract classes to define common behavior across the application and utilized extension function from the Ktx plugin to consolidate common operations like getting current time and parsing data

•Debugged network calls to reflect correct consumption of data using Postman, Swagger, and Charles Proxy API

•Implemented new features in Kotlin and converted some existing Java classes to Kotlin.

•Utilized Android SDK and supporting development devices.

•Utilized Charles Proxy to understand and detect issues in the payload or provide feedback to engineers and QA.

•Used Coroutines and Schedulers for long running and background tasks.

•Integrated with Google Maps.

•Encrypted and decrypted the shared preference data with the AndroidX Security

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

•Practiced pair programming as part of collaborative project development/delivery strategy.

Trip Advisor, Needham, MA Jan 2014 – Aug 2016

Android Developer

App Name: Vacation Rentals Owner App

Link: https://play.google.com/store/apps/details?id=com.tripadvisor.android.vr.owner

Description: Trip Advisor makes planning your next trip easy.

No matter where you are – Our free app makes it quick and easy to manage your TripAdvisor vacation rental. All of the important features on your owner dashboard are now available in your pocket.

Save time and money by comparing and booking from your favorite travel brands. There are no booking fees or hidden charges – just the best prices.

•Followed up by testing user interface, errors with all possible inputs, debugging several applications using ADB.

•Used multi-threading to implement parallel processing.

•Used Butterknife to bind together Android views.

•Consumed REST services using Retrofit, get the JSON data and parse it using GSON library.

•Improved the performance on the UI by implementing fragments and implementing the Recycler View.

•Used Loading Spinners while loading dataIntegrated Google Analytics into the application using Firebase Android to track the usage of application, number of people, number of downloads, etc.

•Pair programmed with senior developer to write TDD test cases around critical user stories using Mockito and Espresso.

•Worked in an Agile environment delivering in short sprints.

•Implemented local database using SQLite.

•Worked on the app and worked on functionalities like WIFI, Bluetooth, and cellular data for data transfer.

•Assisted in designing the logical flow for the application for different components.

•Worked on Android.mk files to build Source Code as part of build environment.

•Used BlackBerry JME JDE to test software on the device.

•Integrated third-party SDK and frameworks.

•Handled multithreads to receive and update calls from web server (Service and Broadcast Receiver).

Academic Credentials

University of North Georgia Bachelor of Science – Computer Science (Major)/ Cyber Security (Minor)



Contact this candidate