Post Job Free

Resume

Sign in

Senior Android Developer

Location:
Monmouth Junction, NJ, 08852
Posted:
December 11, 2023

Contact this candidate

Resume:

Adnan Oudeh

Android Developer

ad1vf3@r.postjobfree.com 513-***-****

Professional Profile

8+ years of dedicated expertise in Android development. Overall 9+ years of experience in IT.

Published 5 successful applications on the Play Store.

Proficient in various architectural models (MVP, MVVM, MVC) and adept at implementing diverse design patterns (Singleton, Builder, Façade, Factory, Observer, etc.).

Advanced programming skills in Kotlin and Java, with a focus on Jetpack.

Highly effective in Agile methodologies, including Scrum, Sprints, and TDD/BDD.

Solid background in real-world object-oriented design and the application of design patterns, demonstrated through concise communication using tools like UML and BPMN.

Strong grasp of server-side software, emphasizing scalability, performance, and reliability.

Expertise in embedded local storage solutions like SQLite, coupled with extensive experience in debugging and profiling Android applications.

Consistent commitment to maintaining high unit test coverage and adhering to continuous integration principles.

In-depth understanding and application of Unit and Functional testing.

Proficient in using version control platforms such as SVN and GitHub.

Applied Bluetooth Low Energy capabilities for seamless data transfer across services, characteristics, and profiles.

Skilled in various IDEs tailored for Android development, including Android Studio and Eclipse.

Quick adaptation to emerging technologies, including Smart Watches, Chromecast, and Smart TV devices.

Configured and integrated multiple cloud services, including Parse, Firebase, and Google Cloud Messaging.

Strong advocate of Google's best practices for mobile environments, emphasizing networking, memory management, battery efficiency, responsive design, and internationalization.

Proven track record of collaborating with cross-functional teams to define product requirements and features.

Focused on fostering excellence through meticulous code design and reviews.

Experience in architecting and developing networking and secure applications for Android.

Hands-on proficiency with testing tools such as Espresso, Mockito, JUnit, etc.

Expert utilization of Android frameworks and APIs for efficient data loading and database updates, including Loaders, Async Task Loader, and Sync Adapters.

Technical Skills

Programming Languages:

Kotlin, Java, C#, C/C++

Development IDEs:

Android Studio, Visual Studio, VS Code, NetBeans, Eclipse

Debug/Testing/Performance Frameworks:

JUnit, Espresso, Hugo, Robotium, Mockito, Leak Canary, Bluetooth BLE

Version Control:

Git, GitHub, GitLab, TFS

Analytics:

Crashlytics, Google Analytics, Mix panel

Networking/Web Services:

REST, JSON, Retrofit, GSON, Ok HTTP, WebAPI2, Volley

Events:

Event Bus, Otto

Threading:

Rx Java, Intent Services, Handlers, Job Scheduler, Coroutines

Payment Processing:

Braintree SDK, Papal

UI/UX:

Material Design, Material Dialogs, Calligraphy, Exo Player, Video View, Chromecast, Push Notifications

Architecture Design Patterns:

MVVM, MVP, MVC

Design Patterns and Practices:

Adapter, Factory, Builder, Singleton, Extension Function, Data Class, Handler, Parceler

Project Management:

JIRA, Sketch, MP Android Chart

Software Development Methodologies:

Agile, Scrum, Waterfall

Continuous Integration:

Circle-CI, Jenkins, NDK, Firebase

Databases:

SQLite, Room Database, Firebase Realtime DB, MySQL, MS SQL

Dependency Injection:

Hilt, Dagger2, Android Annotations

Security:

AES/Cipher, Spongy Castle

Messaging:

Urban Airship, Google Cloud Messaging

Professional Experience

Sr. Android Developer

The Kroger Company, Cincinnati, Ohio / July 2022 to Current

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

Experience a faster, easier, and more rewarding shopping journey with the Kroger app. Save time and money while enjoying the convenience, savings, and rewards at your fingertips. Simply download the app, create an account, and register your Kroger Shopper’s Card to unlock these fantastic benefits.

Developed and maintained code for various Kroger Banners, including Fred Meyer, Fry’s, Smith's, Ralphs, and others.

Innovated store mode features, such as interactive maps and real-time inventory checks, improving in-store navigation.

Led feature updates & bug resolution, emphasizing user-centric design and functionality improvements.

Utilized Kotlin, MVVM architecture, Dagger, LiveData, and HTTP for development.

Created a new personalization page for targeted recommendations, integrating complex APIs for real-time product suggestions.

Expanded personalization features throughout the app to enhance user engagement.

Proficient in Kotlin, XML, and Jetpack Compose for UI development with a focus on programmatic UI.

Started with a team of 20, transitioning to a personalization team of about 12.

Conducted unit testing and UI testing, adhering to high-quality standards.

Implemented Agile project management methodologies for effective team communication.

Involved in the release process, overseeing deployment of new updates and features.

Refactored and modularized outdated or legacy code using MVVM architecture.

Utilized MVVM design pattern, Kotlin for UI, JUnit for unit testing, and Espresso for UI testing.

Frameworks included Dagger, Live Data, HTTP, Coroutine, and Hilt.

Used JIRA for task management, Outlook, and Teams for collaboration.

Implemented weekly branch cuts and Play Store releases, with feature planning varying from 1-5 months.

Implemented new features and bug fixes for the app's store mode.

Integrated configurable components for personalized user experience.

Actively participated in refactoring recommendation science modules.

Successfully transitioned between store mode and personalization teams.

Provided value by resolving small bugs and consistently delivered code ahead of timelines.

Mobile Android App Developer

Hy-Vee inc., West Des Moines, Iowa / October 2020 to June 2022

https://play.google.com/store/apps/details?id=com.hyvee.grocery&hl=en_CA&gl=US

Grocery shopping (and everything else!) is now the easiest thing on your to-do list. This supermarket app does everything. Grocery shopping, clothes, shoes, recipes, how-to videos, easy pharmacy refills. It’s all here. The Hy-Vee App is your one-stop shop, and yes, it lets you order groceries in minutes—from anywhere! Who doesn’t like having a grocery store in the palm of their hand? Shop by category, sale items, products with Fuel Saver rewards, or just type the product you want into the search bar. And. So. Much. More!

Modularized the existing customer payment authentication flow and integrated/implemented an additional external SDK which helps authenticate customer’s payment details when placing an order.

Integrated new features into the Android app using Kotlin in modules built on MVVM architecture with Data Binding using JetPack.

Implemented JetPack LiveData to display most current data locally available and to simplify data management during lifecycle changes.

Developed app using Java and Kotlin working in Android Studio IDE with Android SDK.

Implemented new features in Kotlin, eliminating null pointer exceptions.

Refactored architecture in presentation layer with a repository, fragment, ViewModel, Work Manager, Navigation components, and Paging Jetpack components.

Worked on SSL certificate pinning and store credentials in Keystone.

Implemented Jetpack Compose to create small reusable composables to describe UI by calling a series of functions that transform data into a UI hierarchy and define data flow principles in Compose.

Applied sound mobile security practices such as Obfuscation, Encryption, SSL, Certification Pinning, Tokens.

Migrated each Dagger Component to Hilt by using Hilt Annotations.

Utilized Hilt ViewModel and used qualifiers to provide multiple bindings and removed Dagger related code.

Performed code quality checks using tools such as SonarQube, SonarLint, Ktlint, Checkstyle, and PMD.

Used design conversion tools Sketch and Figma.

Used Espresso for the automated UI testing RecyclerView interactions and Mockito with Retrofit for mocking the API call (Mockserver).

Worked with the Android SDK and implemented Android Bluetooth and Location Connectivity components.

Performed static code analysis and code review (Collaborator).

Worked with the QA team to ensure quality testing and identification of any issues early on.

Added extensive logging of information (log statements) to improve QA process in testing.

Applied encryption techniques to encrypt local Room database.

Android Application Developer

Fulton Bank, Lancaster, PA /June 2019 to October 2020

https://play.google.com/store/apps/details?id=com.ifs.banking.fiid1369&hl=en_CA&gl=US

Enjoy a seamless mobile experience designed exclusively for Android phones and tablets. You'll have instant access to your Fulton Bank accounts. Log in securely with the same username and password. Enjoy easy access with Fingerprint ID on supported devices with OS 9 or higher. Check balances on your Fulton Bank accounts, including checking, savings, and more.

Performed technical build work within a MVVM architectural model.

Utilized Jetpack Paging library to load data incrementally, cache data with Kotlin, CoroutineScope and create custom PagingData, RemoteMediator and PagingDataAdapter.

Applied Kotlin extension functions to efficiently re-use existing codes and reduce code duplication to its bare minimum.

Applied elements of Kotlin Flow such as coroutines to interact with the database and networking operations in repository layer in Clean Code architecture.

Implemented Android Architecture lifecycle aware components and used LiveData to build data objects that notified views when the underlying database changed.

Improved Android Keystore program to store cryptographic keys in a container and protect key material from unauthorized use.

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

Used NDK to call native RSA implemented functions, use hardware sensors and hide oAuth tokens, API keys in the native C/C++ class to add an extra layer of obfuscation

Handled code sessions and inactivity management through internal timers and automatic logout.

Included Voice Access accessibility service to allow users with mobility limitations to control a device with spoken commands and Talkback reader for visually impaired or blind users.

Added security by encrypting static and dynamic keys and sensitive application data with white-box cryptography using Arxan Key and Data Protection SDK.

Added a GraphQL API that's backed by AWS AppSync and user authentication mechanism through Amazon Cognito.

Implemented Bluetooth Characteristic and Services Schema to keep track of Bluetooth services.

Integrated Firebase push notification and user-level push notification and notification channels settings.

Integrated third-party security library for user login authentication via PIN and biometric prompt API.

Developed new Kotlin modules and migrated existing code into Kotlin.

Modified secure transferring of money between accounts and accounts at other banks.

Android App Developer

Selective Insurance Group, Branchville, NJ / April 2017 to June 2019

https://play.google.com/store/apps/details?id=com.selective.production&hl=en_CA&gl=US&showAllReviews=true

The Selective Insurance Group app provides uses with capabilities to easily activate account, view policy information, view Auto ID cards, view certificates of insurance, reach a specific agent, chat live, view and pay bills with paperless system, reach out for roadside assistance, report claims and view adjuster contact details, find local body shops, etc.

Worked on “Request roadside service” and “Pay and mage bills” User-story in consult with Tech lead

Worked on paid product flavor using Kotlin Default and named arguments, model classes, delegates, Smart cast, Data class and Extension functions

Integrated Urban Airship in new features for messaging and content delivery, including Push Notifications, Rich Media Messaging, In-App Purchase and Subscriptions.

Integrated Exoplayer API with SmoothStreaming adaptive playbacks and customized layout to help users to identify products with videos where applicable in paid product flavor module

Developed product flavors for specific countries, integrate the In-app Billing API In-App Purchase and code algorithm to unlock features or deliver content

Involved in development and enhancements of features to restrict the usage based on Authorization and Authentication OAuth tokens using Google oAuth 2.0

Created the content provider to load the information with an Observer Pattern in the UI thread using Loaders

Upgraded to PayPal Braintree's Android SDK to accept card and alternative payments to pay & manage bills for car insurance.

Used NDK to compile C and C++ code into a native library and call functions in native library through the Java Native Interface (JNI) framework for receiving touch events and forwarding them to the JNI bridge

Authenticated users via fingerprint scan and implement the user interface for the fingerprint authentication flow for new insurances.

Worked on AndroidWatch module to display notifications and send data from phone

Programmed code using ReactiveX for asynchronous programming with observable streams for APIs using Flatmap, Filter, Zipalign, and Map Transformational.

Encrypted ID card details in Android Keystore system to store cryptographic keys in a container to make it more difficult to extract from the device.

Worked in Test-Driven Development to write test cases in Pay Bills ViewModels and automated UI test using Espresso for View Policy feature.

Debugged app using Charles Proxy API, Memory profiler, Facebook Stetho, HierarchyViewer and Profiler.

Worked on complex Java-based server-side components designing docs, reviewing designs and troubleshooting complex issues.

Designed custom views for screens related to NHS repeat prescriptions history and Detail description for Tablet for both 7 inch and 10-inch devices.

Integrated Firebase Remote Config API to change the styles and themes of app in app preference.

Android Mobile Application Developer

Galaxy Theatres, Sherman Oaks, CA / Jan 2015 to April 2017

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

Introducing the new Galaxy Theatres Android App! Easily check showtimes, purchase tickets, and receive a barcode confirmation on your Android device. Skip the box office and head straight to the door person for a seamless experience.

Applied HTTP tunneling via the HTTP CONNECT method using Retrofit, incorporating a multithreaded solution and meticulous memory allocation tracking. Employed lazy loading for heavy resources, caching images on an LRU cache, and file caching on worker threads to enhance performance.

Implemented an array of backlogged UI elements and prepared wireframes for application process flow using MS Visio.

Developed the app in Android Studio using Java, employing both native and non-native frameworks.

Utilized the MVP architectural pattern and design patterns such as Decorator, Observer, Façade, and Interpreter. Collaborated with UI/UX designers, employing Mockito for interface mockups and actively participating in UI, class, and activity implementations.

Ensured a seamless user experience by implementing unique designs for portrait and landscape modes, working closely with the design team for interactive UI creation.

Conducted automated testing with Espresso and utilized Leak Canary for memory leak detection.

Implemented dependency injection natively in Java for object references and explored Android dependency injection libraries, including Dagger 1, Dagger 2, Ice Pick, Android Annotations, Robo Guice, and Butter Knife. Adhered to the Test-Driven Development (TDD) approach in Android mobile app development.

Software/IT Specialist

Kemper, Chicago, IL / Jan 2014 to Dec 2014

Kemper is improving the world of insurance by providing affordable and easy-to-use personalized solutions to individuals, families and businesses through its Auto, Personal Insurance, Life and Health brands.

Communicated directly with stakeholders to understand situations/issues, gather requirements, design and develop solutions, test solutions, and deploy and support solutions, both custom and off-the-shelf.

Programmed in Java and C++.

Wrote scripts using JavaScript.

Modified multiple scripts written in JavaScript.

Wrote new functions and modified existing functions.

Wrote code to perform specialized functions in association with specified program features and capabilities.

Established communications interfacing between in-house software applications and various 3rd-party software systems.

Integrated software programs with database platforms such as Windows Server, Oracle, etc.).

Installed, configured, troubleshot, and maintained customer hardware and software.

Researched, evaluated, and provided feedback regarding problematic trends and patterns in customer specific issues such as network connectivity, software, hardware, etc.

Prepared customer support policies, procedures, and standards.

Education

Bachelor of Arts (Information Technology and Informatics)

Rutgers University



Contact this candidate