Post Job Free
Sign in

Senior Android Developer

Location:
East Goshen Township, PA
Posted:
September 18, 2024

Contact this candidate

Resume:

Nathan Parizi

Lead Android Developer

Phone: 412-***-****; Email: ad8tct@r.postjobfree.com

Professional Summary

•13+ years of app development experience with Android application design and development, requirement analysis, testing, debugging and support.

•Successfully published 9 Android applications in the play store.

•6+ year of experience in Kotlin programming language

•Skilled in handling Android third-party libraries, frameworks and APIs such as Retrofit, Glide, GSON, Firebase and Hilt.

•Contribution Android teams with mentoring, development, and extensive code reviews.

•Willing to work independently and take technical risks.

•Guides the Android integration to many APIs with performant critical integrations.

•Skilled in handling continuous integration principles and high unit test coverage.

•Follows best practices in Android as well as design standards.

•Strong background in Java development, from architect and design mobile applications to meet business needs.

•Experience creating and maintaining internal SDKs to provide seamless functionality to other clients.

•Build mobile applications that utilize web services such as REST and GraphQL.

•Proficient in Java and Kotlin languages and converted projects from Java to Koltin.

•Familiar with the Android Jetpack components such as: Live data, ViewModel, navigation, WorkManager, room db, view binding and data binding.

•Working cross-functionally to achieve goals and meeting app feature requirements.

•Experience in Object-Oriented programming and several design patterns such as Singleton, Factory and Builder.

•Experience handling injections with Dagger2 and unit testing with JUnit, Mockito, MockK as well as instrumental testing with Espresso.

•Handling Android multithreaded and concurrent applications with RxJava, Kotlin Coroutines, Suspend functions, Looper/Handler, and Thread/Runnable.

•Experienced developing following various Architectural and Design Patterns such as MVVM, MVP, MVC, MVI, Singleton, Builder, Factory, Observer, Adapter, Strategy.

•Application of Material Design guidelines and implementing user-friendly features on UI.

•Proactive fast learner, programming logic proficiency, and self-motivated.

•Familiar with the new Android Jetpack Compose to create a more responsive and complex UI.

•Excellent communicator and leader who works closely with Product, Design and Back-End teams.

•Utilize various frameworks and APIs for requirements, Apollo, Retrofit, Dagger2, GraphQL, GoogleMaps, Gmail API, Google Drive API, Weather API, Facebook API, Instagram API, Twitter API.

Technical Skills

Programming Languages: Java, Kotlin, C++, Python, MATLAB, Javascript.

Issue Tracking: Jira, Azure

IDEs: Android Studio, Eclipse, Intellij

Design Patterns: Singleton, Builder, Factory, Facade, Strategy

Architecture/Design Patterns: MVVM, MVC, MVP, MV

Threading: Java Thread/Runnables, ThreadPools, Loops/Handlers, AsyncTask, Loaders, Coroutines, RxJava, Executors

External Third-Party Libraries, Frameworks, and APIs: GSON, Volley, Retrofit, OkHttp, Dagger2, Json, SOAP, Google Maps, Gmail, Google Drive, Facebook, Instagram, Twitter, EventBus, RxJava, Picasso, Glide, Fuse Location Framework, Location Manager, Butterknife.

Project Methodologies: Agile, Scrum, Waterfall

Principles: SOLID, DRY

Version Control: Git, Github, Stash, BitBucket, GitLab

Data Related Tools: Sqlite, Room, MySQL, Microsoft SQL Server, Firebase, Firestore, MongoDB.

RESTful API: OkHttp, Apollo, HttpUrlConnection, GraphQL, JSON

Operating Systems: Windows, Mac, Android, Linux, Ubuntu

Professional Experience

Lead Android Developer

QVC, West Chester, PA June 2023 – Present

The QVC Mobile Shopping app offers enhanced shopping features, including PayPal and PayPal Express payments, predictive search, and template-driven pages for sorting and refining results. It supports voice search for easy navigation, persistent login, and synchronized shopping carts across all QVC platforms. Users can zoom in on product details, watch HD live streams, and access over 500 exclusive recipes. The app provides secure transactions with SSL encryption and offers 30-day return policies, ensuring customer satisfaction.

App Name: QVC Mobile Shopping (US)

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

•Integrated comprehensive accessibility features into the Video Player module and various product areas, enhancing inclusivity and usability.

•Resolved significant defects related to Video Player rendering, improving stability and addressing user-reported crashes.

•Implemented accessibility support for new Composable components, ensuring an accessible user interface.

•Contributed to both Java and Kotlin codebases, focusing on refactoring, debugging, and optimization for seamless functionality.

•Managed multiple Gradle build variants for different regions, ensuring accurate foreign language accessibility features and announcements across configurations.

•Design and implement responsive and dynamic user interfaces using Jetpack Compose. Utilize its declarative syntax to create reusable UI components that adapt to various screen sizes and configurations.

•Work with Jetpack components like LiveData, ViewModel, Navigation, Room, and DataStore to handle app architecture, data persistence, navigation, and UI state management in a scalable manner.

•Develop UI components using Jetpack Compose that can be tested independently. Utilize Jetpack's Navigation component for seamless user flow and app navigation.

•Ensure that Jetpack Compose components are integrated smoothly with traditional Android Views and legacy code to maintain app compatibility.

•Monitor and optimize UI performance using tools like Android Profiler, ensuring smooth animations, transitions, and responsiveness in the app.

•Write clean, maintainable, and efficient Kotlin code following best practices. Use Kotlin's concise syntax to reduce boilerplate code and improve productivity in Android development.

•Collaborate on converting legacy Java codebases into Kotlin, ensuring that existing features work seamlessly while taking advantage of Kotlin’s modern features like extension functions, coroutines, and null safety.

•Leverage Kotlin’s functional programming features like lambdas, higher-order functions, and collection operators to write more expressive and efficient code.

•Manage and maintain existing Android apps written in Java, ensuring smooth functionality and integrating new features.

•Develop Java classes and methods, applying OOP principles like inheritance, encapsulation, and polymorphism to build robust and reusable code structures.

•Write unit tests using JUnit or Mockito to ensure Java code performs as expected & handle edge cases.

•Ensure that the Android application adheres to accessibility guidelines (WCAG) by making the app compatible with TalkBack, Android's screen reader.

•Use Charles Proxy to inspect, debug, and analyze HTTP and HTTPS network traffic between the Android app and remote servers. Identify issues related to API requests, responses, or third-party integrations.

•Implement and manage dependency injection using Dagger 2, ensuring efficient object creation and lifecycle management across the app.

•Use EventBus for handling event-driven communication between different parts of the app, such as background services and UI components, without creating tight coupling between them.

•Utilize Bitbucket as the primary version control system for managing source code repositories. Collaborate with other developers using Git workflows like feature branching, pull requests, and code reviews.

•Set up and manage CI/CD pipelines on Bitbucket, automating code testing, building, and deployment processes to streamline the release cycle.

•se Retrofit to efficiently handle network requests and parse JSON responses for seamless communication with RESTful APIs.

Senior Android Developer

REI Co-Op, Kent, WA Jan 2022 – May 2023

The REI shopping app is your on-the-go companion to shop for the outdoor gear and apparel you love. Use our app to browse, check in-store availability and buy top-brand products for your outdoor pursuits. Find classes and events to grow your skills. Get daily deals in the REI Outlet and even build your gear and apparel wish list. Save your checkout details for quick, secure ordering. Plus, select the delivery method - including free same-day pickup on most items.

App name: REI Co-op – Shop Outdoor Gear

https://play.google.com/store/apps/details?id=com.ubermind.rei HYPERLINK "https://play.google.com/store/apps/details?id=com.ubermind.rei&hl=en_US&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.ubermind.rei&hl=en_US&gl=US"hl=en_US HYPERLINK "https://play.google.com/store/apps/details?id=com.ubermind.rei&hl=en_US&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.ubermind.rei&hl=en_US&gl=US"gl=US

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

•Heavily involved with the stakeholders and the managers to take business decisions related to the application

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

•Implementing network calls with suspend functions to allow the new kotlin coroutines to handle long running operations.

•Refactored code from Java to Kotlin.

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

•Participated in Refinement and Sprint Planning.

•Explored ideas for new features for end users such as Product Compare feature.

•Assisted team members with Android-technology-related questions.

•Worked with QA and performed unit testing and debugging of applications to ensure quality, responsiveness and efficiency of the system.

•Implemented multiple JetPack Compose components.

•Assumed management of build/deployment process.

•Updating UI to match mocks on Zeppelin.

•Implemented Backend Integration Account Delete and Member Benefits Dynamic Content.

•Removed RxJava implementation to move to Kotlin coroutines

•Updated Dagger dependency injection to Hilt.

•Refactored Butterknife to ViewBinding.

•Implemented an AlertDialog (REI CC exp date during co-brand card migration).

•Removed deep link to navigate User to Native Member Benefits.

•Added updated technical information to the app’s documentation files.

•Added analytics specific to credit card/payment usage.

•Managed toggles with Conman.

Senior Android Mobile App Developer

Kroger, Cincinnati, OH Apr 2021 - Jan 2022

Looking for a faster, easier, more rewarding shopping experience? Save time and money with the Kroger app! It puts convenience, savings and rewards at your fingertips.

App Name: Kroger

https://play.google.com/store/apps/details?id=com.kroger.mobile HYPERLINK "https://play.google.com/store/apps/details?id=com.kroger.mobile&hl=en_US&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.kroger.mobile&hl=en_US&gl=US"hl=en_US HYPERLINK "https://play.google.com/store/apps/details?id=com.kroger.mobile&hl=en_US&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.kroger.mobile&hl=en_US&gl=US"gl=US

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

•Participated in Agile development of project timelines and created pull requests to submit code review processes and incorporate new code modifications.

•Served as part of a 10-member dev team and engaged in cross functional collaboration across different teams.

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

•Implemented analytics for monetization of data.

•Implemented advertisements in view controllers

•Used Retrofit for interaction classes responsible for network calls.

•Refactored implementations for concurrency to coroutines.

•Applied MVVM architecture in a modular environment.

•Utilized GitHub for version control.

•Utilized Charles Proxy to monitor network traffic.

•Created and tracked tickets in Jira.

•Used Room for local persistence of data.

•Conducted unit testing with Junit4, MockK and regression testing of features.

•Wrote code to handle streams in Kotlin with Flow API and implemented multiple operators to flow and create new operators and back-pressure support via suspending functions in the data layer of Clean Code architecture.

•Handled dependency injections with Dagger2 in modularized application.

•Created Confluence pages for technical groomings. Pages contain high-level explanations of features to be developed.

•Managed layouts and view controllers with ViewBinding.

•Utilized LiveData for lifecycle aware application.

•Refactored out previous classes for improved application functionality.

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

•Implemented Firebase for a real-time database, and Firebase Push Notifications.

Senior Android Developer

Humana, Louisville KY June 2019-April 2021

The Humana application offers new features for symptom diagnosis, cost estimation, plan status, locating primary care providers, pharmacies, and clinical testing centers through Google maps, notifications for members, as well as information on health care procedures and organizations.

App Name: MyHumana

https://play.google.com/store/apps/details?id=com.humana.myhumana HYPERLINK "https://play.google.com/store/apps/details?id=com.humana.myhumana&hl=en_US&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.humana.myhumana&hl=en_US&gl=US"hl=en_US HYPERLINK "https://play.google.com/store/apps/details?id=com.humana.myhumana&hl=en_US&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.humana.myhumana&hl=en_US&gl=US"gl=US

•Applied MVVM architecture with ViewModels responsible for making network calls.

•Applied Kotlin Coroutines, scopes, suspend functions, sealed classes, inline functions, and dispatchers for handling concurrent operations.

•Managed 1:1 meet-up schedules, reviewed performance and code with colleagues, provided constructive feedback and encouraged teammates.

•Attended stand-up meetings every day for 15 minutes, cross functional demos, as well as retros at the end of week.

•Supported junior-level members and provided guidance with implementations.

•Recommended various beneficial third-party libraries and plugins to streamline extraneous workload.

•Improved robustness of source code by fixing bugs, refactoring redundant code, and finding bugs during testing.

•Applied TDD with JUnit4, Robolectric, and MockK, DI with Koin with 90%+ code coverage.

•Worked with Visual Studio and .NET core on the backend, unit testing implementations.

•Implemented Google Maps, Geocoder and Location Services for finding Care Providers and COVID19 Testing Centers.

•Developed in paired programming and in an Agile environment with cross functional collaboration.

•Worked with Retrofit and GSON to handle network operations and refactor on backend in ASP.NET Core.

•Implemented reliable and robust code to respond to different screen resolutions.

•Implemented extension functions and optimized algorithms for searching and sorting in Kotlin.

•Implemented concurrent debounce functions to handle API calls to backend for dynamically updating search bar.

•Optimized and refactored code to handle UI design responsiveness, testing on multiple devices and screen resolutions.

•Worked with changing team size, starting with 4 engineers, then down to only 3 while keeping high measured performance, and ending off with 6 members in a paired programming environment.

•Identified alternative solutions for common problems (i.e., memory safety and thread safety, storing primitives in sharedprefs instead of introducing complex backend work, etc.).

•Managed and implemented key features of application such as CostEstimationSearch and Results fragment parsing backend data and populating in multiple RecyclerViews.

•Worked with multiple design patterns (e.g., Singleton, Factory, Helper, Builder, etc.).

•Handled analytics tags throughout application, finding most suitable format with PM.

•Implemented filters for multi-selection features across the application.

•Maintained thread safety and memory safety with LeakCanary.

•Worked with Glide and Exoplayer to populate responses from API to RecyclerView.

Senior Android Developer

Hyundai Motor America, Fountain Valley, California Mar 2017 - Jun 2019

The MyHyundai app offers easy access to vehicle information, owner resources, and Bluelink-enabled features. Users can remotely start, lock, or locate their vehicle, schedule service, manage EV charging, and access navigation tools. The app supports biometric authentication and is compatible with Wear OS smartwatches. A Bluelink subscription is required for select features.

App Name: MyHyundai with Bluelink

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

•Asynchronously used Retrofit and rxJava along with Trust Manager to secure consumption and pull data from RESTful API resources.

•Refactored un-optimized sections of code to ensure a more efficient and transparent codebase.

•Followed the MVVM architecture to make testing and scaling easier.

•Created custom Views for collapsing and expanding textual information.

•Used Android NDK to interact with native C++ libraries.

•Performed troubleshooting on application using tools like Android Profiler, DDMS, and Debugger.

•Applied Test-Driven Development with Mockito and JUnit and Jenkins for continuous integration.

•Configured intent filters so that implicit intents can be used to access activities hosted by application.

•Refactored existing Java codebase from Java to Kotlin.

•Attended ceremonies and implemented Agile into two-week sprints, incorporating scrum ceremonies, retro perspective report.

•Implemented instance handlers for threading - separate from UI threading.

•Used Native JSON parser to populate POJOs with data from JSON responses.

Senior Android App Developer

OpenTable, San Francisco, CA April 2015-Feb2017

Book and enjoy extraordinary dining experiences in over 52,000 restaurants worldwide with the OpenTable App

App Name: OpenTable

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

•Attended daily meetings to plan and organize workflow with the team.

•Refactored Java codebase from Java to Kotlin.

•Utilized Job Scheduler, Alarm Manager, for an optimized implementation of requirements.

•Web services using Retrofit instance managing JSON with built-in GSON converter.

•Refactored codebase from using AsyncTask for asynchronous operations to RxJava for better error handling and performance.

•Handled proper development following MVVM architecture and Android Architecture Components.

•Implemented Material Design buttons such as Floating Action Button.

•Used JAVA DOCs for documentation of the codebase.

•Used Parcelables to marshal data from objects to and from activities.

•Implemented nightly updates of data using the work manager.

•Used Espresso for UI instrumental testing automation testing.

•Debugging source code utilizing tools such as Debugger, Android Profiler, and Logcat.

Senior Android Developer

JCPenney, Dallas TX Jan 2014-Mar 2015

Shop and save with the best online deals, rewards, gift cards. and coupons on your phone. Find exclusive discounts on men and women’s clothing, home appliances and much more with JCPenney. Browse various shopping items and make purchases straight from your mobile device. You can manage the JCPenney credit card and can easily view your balance, pay expenses, and view offers just for JCPenney cardholders.

App Name: JCPenney

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

•Implemented multithreaded systems utilizing RxJava.

•Development of Multiple fragments for User Interface.

•JUnit, Roboelectric, Mockito for unit testing and Espresso for instrumentation testing.

•Management of codebase under MVVM architecture.

•Populated Recycler Views with JSON data representing available items in inventory.

•View Pagers for swipe able fragments.

•Implemented Test Driven Development utilizing JUnit and Mockito.

•Participated in planning, architecture and design of the app and code reviews.

•Utilized Dagger2 for dependency injection.

•Worked on redesigning the apps UI for better look and improved user engagement.

•Used the Dalvik Debug Monitor Server (DDMS) for debugging and testing.

•Developed Multithreaded components for data persistence.

•Utilized Glide for improvements to image loading from cache.

Android Developer

Citibank, New York, NY Dec 2012- Jan 2014

Citi Mobile allows users to open a checking or savings account, check statements and balances, card replacements, and quickly deposit checks. Send money immediately through the Zelle payment service. Citi mobile allows you to manage all bank accounts, credit cards and investment accounts for a more holistic financial view of managing your finances.

Spending insights*: Track your spending habits and trends across your accounts.

Bill management*: View and manage your bills, and recurring payments in one place.

FICO® Score: Citi credit card customers can view their FICO® Score for free.

App Name: Citi Mobile

https://play.google.com/store/apps/details?id=com.citi.citimobile HYPERLINK "https://play.google.com/store/apps/details?id=com.citi.citimobile&hl=en_US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.citi.citimobile&hl=en_US"hl=en_US

•Used intent filters for initialization of data and passing between components.

•Used Loopers and runnables to execute tasks away from the main thread.

•Consumed RESTful Web Services using HttpUrlConnection.

•Implemented code following various design patterns of codebase such as Singleton, Builder and Observer patterns.

•Migrated codebase from MVC architecture to MVP.

•Test Driven Development and unit testing utilizing JUnit and Mockito.

•Created custom TextViews for collapsing and expanding textual information.

•Used Content Provider to create an abstraction layer for locally persisted data.

•Encouraged the team during sprints and stayed overtime to ensure deadlines were met.

•Participate in the planning, architecture and general design of features on mobile applications.

•Implemented the UI concepts RecyclerViews, and Material Design components.

Android Developer

Allegiant Air, Las Vegas, Nevada Mar 2011-Nov 2012

The Allegiant Air app simplifies trip management by organizing each phase of your journey into an easy-to-follow card-based timeline. Passengers can book flights, check in, view boarding passes, get real-time departure and arrival updates. Save time & money by managing your entire trip from your mobile device.

App Name: Allegiant

https://play.google.com/store/apps/details?id=com.lixar.allegiant HYPERLINK "https://play.google.com/store/apps/details?id=com.lixar.allegiant&hl=en-US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.lixar.allegiant&hl=en-US"hl=en-US

•Implemented Material Design Components for better UI.

•Added functionality using broadcast receivers to trigger updates to the local database.

•Parsed JSON using Retrofit for Rest API Consumption.

•Used Git with Bitbucket Servers for the applications Version Control System.

•Implemented Unit Testing using Mockito and JUnit.

•Used Picasso for light-wieght image processing and displayed to the UI.

•Participated in SCRUM meetings and collaborated in cross functional environments.

•Implemented code following MVP architecture.

•Used AsyncTask and Loaders for multithreaded source code.

•Created custom widgets for better UI experience.

•Developed Navigation Drawer for easier navigation.

Education

Bachelor of Science - Computer Science

University of North Georgia / Dahlonega, Georgia



Contact this candidate