Post Job Free
Sign in

Senior Android Developer

Location:
Ladue, MO, 63124
Posted:
October 21, 2024

Contact this candidate

Resume:

Noah McKoy

Lead Android Developer

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

Phone: 314-***-****

Profile Summary

•Accomplished Android Developer with over 10 years of IT experience and 9 years of expertise in designing and building mobile applications using Kotlin and Jetpack Compose. Skilled in implementing architectural patterns such as MVVM, MVI, and Clean Architecture, ensuring robust, maintainable, and scalable solutions for enterprise applications.

•Proven ability to enhance app performance by 30% through efficient architecture and intuitive UI/UX design, adhering to Material Design 3 principles and leveraging Jetpack Compose to create modern, responsive interfaces.

•Proficient in Kotlin, with extensive experience using Kotlin Flow, StateFlow, and Coroutines to optimize app performance and streamline development. Skilled in integrating RESTful APIs and utilizing Jetpack components like LiveData and ViewModel, along with Flows for reactive programming. Skilled in multi-threading with Coroutines and RxJava, enabling smooth performance for high-demand and asynchronous tasks.

•Hands-on experience with cross-platform development using Flutter and React Native ensures consistent and seamless user experiences across Android and iOS platforms.

•Experienced in integrating cloud services, including Firebase, AWS, and Google Cloud, with expertise in Firestore, RealtimeDB, Cloud Functions, and Firebase Cloud Messaging. Adept at CI/CD automation using tools like GitHub Actions, Jenkins, and CircleCI to streamline app deployment and integration processes.

•Expert in efficiently handling large datasets with Lazy Loading, Room, and Paging 3, ensuring optimal app performance under heavy data loads. Proficient in mobile security protocols such as OAuth 2.0, JWT, and Biometric Authentication, enhancing app security and safeguarding user data.

•Focused on performance optimization using Android Profiler, LeakCanary, and Firebase Performance Monitoring to address memory leaks, improve load times, and fix ANRs.

•Extensive knowledge of automated testing frameworks like JUnit 5, Espresso, and Mockito ensures comprehensive test coverage and reliable app performance.

•A deep understanding of 5G technology and IoT protocols, including Bluetooth Low Energy (BLE) and NFC, is applied to incorporate advanced connectivity features in app development.

•Expertise in dependency injection using Hilt and Dagger 2 fosters testable, modular code and efficient dependency management.

•Actively involved in Agile methodologies, working within Scrum teams to efficiently deliver high-quality projects while driving continuous improvement in development processes.

•Additionally experienced in debugging and troubleshooting React Native applications, writing unit tests using Jest, and integrating RESTful APIs with Flutter through Futures and Streams.

Technical Skills

Programming Languages: Kotlin, Java, Python, Groovy, Kotlin DSL, XML

Android Platforms: Android Studio, Firebase, Android JetPack Compose, Android SDK, Content Resolvers, RecyclerView Layout Manager, RecyclerView Animator, Location Services, Content Providers, JobScheduler, Espresso, Broadcast Receiver, Services, Activities, LiveData, ViewModel, Room DB

Frameworks: Firebase Push Notifications, Firebase Firestore, Google Places, Google Play Services, Google Maps API, Volley, Retrofit, Junit, Kotlin Coroutines, Kotlin Flow

Android Development: Constraints, Handlers, Threads, Loopers, Loaders, Java, RxJava, Picasso, Glide, Coil, Custom Android Views, ListView, RecyclerView, Widgets, Fragments, Bundle, Intents, Runtime Permissions, PendingIntent, Repository Layer, Single Source of truth, Cache, Offline Mode

Architectures and Design Patterns: MVC, MVP, MVVM, CLEAN, MVI, Builder, Factory, Singleton, Adapter, Observer

Servers & Databases: SQL, Firebase Firestore, SQLite, GraphQL

IDEs: Android Studio, IntelliJ, SourceTree, Github Desktop

Issue Tracking & Project Management Tools: JIRA, Jenkins, JUnit, Unit Testing, Agile, Scrum, Git, SVN, GitHub, BitBucket, GitLab, Travis, Confluence, GitHub Actions

Tools: DDMS, ADB, LeakCanary, Firebase, Firebase Crashlytics, ART, Bluetooth Low Energy, Test Driven Development, Continuous Integration, Android Profiler

Third-Party Frameworks/APIs: Glide, Google Console APIs, Samsung SDK, Logger, Dagger, Moshi, Robolectric, LeakCanary, Robotium, NFC (Near field communication) technology, Retrofit, OkHttp, Http Logging Interceptor, Certificate Pinning

Professional Experience

Lead Android Developer

Regions Bank, Birmingham, Alabama September 2022 to Present

https://play.google.com/store/apps/details/Regions_Bank?id=com.regions.mobbanking HYPERLINK "https://play.google.com/store/apps/details/Regions_Bank?id=com.regions.mobbanking&hl=en-IN"& HYPERLINK "https://play.google.com/store/apps/details/Regions_Bank?id=com.regions.mobbanking&hl=en-IN"hl=en-IN

Summary: As the Lead Android Developer at Regions Bank, I spearheaded the architecture, design, and development of the Regions Mobile Banking App, ensuring a secure, user-friendly experience. I led the integration of biometric authentication (fingerprint and facial recognition), mobile deposit functionality, and peer-to-peer transfers via Zelle®, while implementing Kotlin Multiplatform Mobile (KMM) for cross-platform code sharing.

•Lead the architecture, design, and development of the Regions Mobile Banking App, ensuring a user-friendly and secure experience for mobile banking customers.

•Incrementally migrate a large codebase to Compose, Kotlin Coroutines, Flows and channels API, Paging, Navigation component, AndroidX and JetPack crypto library

•Migrate MVVM to MVI architecture to handle data streams and Jetpack transformation

•Implement secure login methods such as fingerprint and facial recognition, leveraging Android biometric APIs to ensure seamless and safe user authentication.

•Develop and optimize mobile deposit functionality, including image capture and validation, to provide users with an efficient and secure way to deposit checks.

•Design and implement Regions Bill Pay, ensuring users can easily manage and pay their bills, while maintaining secure connections with external financial institutions.

•Add Accessibility Services like Switch Access, Talkback and add support for additional gestures and use Accessibility Test Framework to test content labels, clickable items, contrast and voice access

•Integrate FICO® score and financial health management tools, allowing users to monitor their credit score and manage their budgets with ease.

•Implemented Kotlin Multiplatform Mobile (KMM) solutions to facilitate code sharing between iOS and Android platforms, achieving a 40% reduction in cross-platform development efforts and improving feature consistency.

•Established and optimized CI/CD workflows using Jenkins and GitHub Actions, streamlining deployment processes, enhancing deployment frequency by 50%, and minimizing integration issues.

•Optimize and fix critical bugs relating to check balance, pending transactions, and access past PDF statements with usage of Crashlytics, JIRA

•Conducted thorough security audits and implemented industry-standard best practices for data protection, ensuring compliance with regulations such as GDPR and HIPAA for secure handling of sensitive user information.

•Followed Agile Scrum processes, including daily standups, sprint planning, and backlog grooming, ensuring the timely and efficient completion of tasks.

•Built and enhanced Android applications using both Java and Kotlin, implementing new features and optimizing existing functionality with Kotlin coroutines for asynchronous operations, enhancing the app’s responsiveness.

•Optimized app performance using Android JetPack components like Room for persistent storage, ViewModel for UI-related data management, and WorkManager for background task scheduling.

•Integrated Jetpack Compose to build modern, declarative UI components, improving UI consistency, performance, and maintainability.

•Utilized Flow API for reactive programming to manage asynchronous data streams and UI events, enhancing the app’s responsiveness to real-time changes.

•Reviewed code and mentored developers through pull request feedback, ensuring adherence to Android best practices and clean coding standards.

•Implemented Firebase Cloud Messaging (FCM) for push notifications and JetPack Slices and Fragments to improve UI composition and user experience.

•Added in-app analytics tracking using Adobe Analytics, helping stakeholders gain actionable insights.

•Led testing efforts with Espresso and Robolectric for automated testing, ensuring code quality and app stability through Test-Driven Development (TDD).

•Refined Git PR commit standards, mentoring the team on techniques such as squash and amend for a clean commit history and streamlined code reviews.

Senior Android Application Developer

The Home Depot, Atlanta, GA February 2022 to Aug 2022

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

Summary: As Sr. Android App Developer at The Home Depot, I led the architecture and design of app features, including the "Snap a Picture, Find What You Need" functionality, ensuring seamless image recognition and product search. I optimized performance for managing over a million products, implemented robust backend integrations for real-time data, and enhanced UI/UX

•Led the architecture and design of Android features for The Home Depot app, focusing on a seamless, user-friendly experience for DIY enthusiasts.

•Designed and implemented modern UI components using Jetpack Compose, utilizing Kotlin’s concise syntax for responsive interfaces.

•Developed custom components like "Snap a Picture, Find What You Need," enabling accurate image recognition and enhancing product search functionality.

•Optimized the app to efficiently handle over one million products, emphasizing performance and responsive UI/UX.

•Architected robust integrations with backend services for real-time product availability, pricing, and store locators.

•Designed Android applications using Kotlin, prioritizing scalability, maintainability, and performance.

•Implemented the MVP pattern to simplify testing, ensuring business logic is validated independently from UI components.

•Created animations and transitions using built-in Android features and third-party libraries to enhance visual appeal and user experience.

•Refined search navigation activity to improve finding station names, utilizing Jetpack's Animation API and Compose's Animation library for smooth transitions.

•Leveraged Kotlin’s features, such as coroutines for asynchronous programming and data classes for cleaner, more reliable code.

•Integrated Java Guava libraries for enhanced string processing, concurrency, and I/O operations, improving data handling.

•Implemented Firebase SDKs, including Authentication and Firestore, to enhance app functionality and secure authentication flows while prioritizing user data security.

•Implemented database functionality with Room for local storage and Firebase for cloud storage, ensuring efficient data retrieval.

•Designed custom views to enhance user interface customization and overall experience.

•Debugged and resolved Bluetooth, network connectivity, and Wi-Fi issues, ensuring smooth operation across various environments.

•Adopted the CLEAN architectural pattern for modularity and maintainability.

•Executed test cases and fixed bugs to ensure application stability, separating concerns into Model (data), View (UI), and Controller (logic) layers.

•Utilized the Parcelable interface for object serialization and performed automated testing with Robolectric to maintain code quality.

•Integrated Jetpack Compose with ViewModel and LiveData or StateFlow for effective UI state management.

•Streamlined code dependencies by consolidating the use of OKHTTP and GSON, reducing reliance on external libraries.

•Followed SCRUM methodology, participating in meetings and collaborating with Android and iOS teams to define web service APIs and best practices.

Sr. Android App Developer

Nissan in Franklin, Tennessee Sep 2020 – Feb 2022

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

Summary: As Lead Android Developer at Nissan, I spearheaded the development and maintenance of the MyNISSAN App, transitioning the code base to the MVVM architecture to enhance modularity and performance. I integrated key features like remote access, security, and vehicle information while optimizing the app for Android and Wear OS devices.

•Work on the development and maintenance of the MyNISSAN App for Android, integrating essential features such as remote access, security, personalization, and vehicle information, while ensuring compatibility with Wear OS devices and optimizing the app across various Android platforms.

•Collaborated with cross-functional teams to implement functionalities like vehicle maintenance reminders, remote lock/unlock capabilities, and vehicle status updates, ensuring availability for all Nissan owners, particularly those with NissanConnect® Services Premium packages.

•Enhanced the user experience for vehicles from 2014 and newer by improving usability, performance, and customer satisfaction, continuously refining app functionality based on user feedback and analytics.

•Transitioned the Android codebase from the MVP to the MVVM architectural pattern for better management of functional modules and views.

•Integrated Push Notifications using Firebase Cloud Messaging and developed the app in both Java and Kotlin within Android Studio.

•Worked in Clean code MVVM architecture with focus on feature based module

•Employed design patterns such as Singleton, Façade, and Abstract Factory; utilized Retrofit and OkHttp for network communication; and implemented multi-threading through Kotlin Coroutines and RxJava.

•Oversaw app testing, replacing older frameworks with Espresso for automated testing, and participated in code reviews while mentoring developers on Android best practices.

•Managed RESTful Web Service consumption with Retrofit, including back-end threading and JSON parsing using Moshi, and integrated JetPack Room Database for enhanced data persistence.

•Operated in a Test-Driven Development environment with GitHub for version control and Bitrise.io for continuous integration, utilizing jUnit for unit testing within the Android team.

•Implement AIDL to call an IPC method and create functional modules with Parcelables bundle arguments

•Effectively utilized Activity, Intents, Fragments, Services, Broadcast Receivers, notifications, Content Providers, and Media Players in app development,

•Conducting JUnit testing on new versions to address common debugging challenges, and engaged with Location Manager and RESTful web services using JSON for location-based services.

Senior Android Mobile App Developer

Raising Cane's Restaurants in Baton Rouge, LA July 2019 to September 2020

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

Summary: As a Senior Android Mobile Developer at Raising Cane's Restaurants, I played a key role in upgrading and optimizing the Android application within an Agile development team. My focus was on enhancing performance, improving maintainability, and implementing new features to streamline the delivery process and improve the overall user experience.

•Worked as a Senior Developer on an Agile team on an upgrade/optimization project.

•Utilized Android SDK and supporting development devices.

•Used Android Studio as IDE in Android application development with use of the Android tools set for development and testing.

•Implemented OOP throughout the entire development of the project and enforced SOLID design principles.

•Developed modules in Kotlin using MVVM app architecture for ease of maintainability and extensibility, as well as improved quality testing.

•Using and sending tracking data from FusedLocationProvider to the server to track the device during deliveries.

•Troubleshooting production problems arising from API errors and Low Connectivity and refactoring code to address those problems.

•Migrate RxJava to Kotlin coroutines to handle streams of values, transform data using operators, code exception handling during flow processing and combine multiple data streams

•Working on service layer that interfaces with CloudOps and Data Team and sanitizing API calls.

•Using Retrofit2, OkHTTP networking libraries to retrieve information relating to status and deliveries.

•Using an Offline-First model using RoomDB and migrate from SQLite implementation.

•Integrating Lottie animation library to parse Adobe After Effects animations exported as JSON.

•Working with business stakeholders to simplify flows for development and working closely with QA to test and validate changes.

•Applying Roboelectric, Mockito, and Espresso for testing.

•Using reactive frameworks such as RxAndroid, RxBluetooth, and RxKotlin.

•Communicating with offshore teams to coordinate work and testing.

•Converted old responses into using Rx2 error handling methods.

•Programmed functions in Java and Kotlin.

•Used Retrofit and RxJava to consume RESTful web services and handle multithreading on background.

•Participated in code reviews strategies to ensure and establish best practices and enforce code quality for new developers. Utilized SonarQube.

•Helped to set up Jenkins for continuous integration.

Android Application Developer

HBO Max in New York, NY June 2018 – July 2019

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

Summary: As an Android App Developer at HBO Max, I designed intuitive interfaces for exploring TV shows, movies, and original series, enhancing user engagement across various genres. I developed customizable user profiles featuring ratings, PIN protection, and child-safe exit options, while streamlining the management of favorite content. Collaborating in SCRUM meetings, I mentored junior developers, optimized UI with AutoLayout for diverse device resolutions, and improved video processing using AVFoundation, ensuring a seamless viewing experience.

•Design user-friendly interfaces for exploring and searching for TV shows, movies, and original series across diverse genres and brands.

•Create customizable user profiles that include options for ratings, PIN protection, and child-safe exit features.

•Develop a feature that allows users to conveniently manage their favorite shows and movies in one location.

•Participated in SCRUM meetings with the mobile team to enhance collaboration.

•Implemented Picasso for efficient UI display and lightweight image processing.

•Addressed varying device resolutions by applying constraints universally with AutoLayout for a seamless UI experience.

•Perform video streaming improvements and usability enhancements using media codecs and media extractor classes for custom media player

•Integrate Relinker library to resolve intra-library dependencies and recursively load all libraries defined as "needed" by each library

•Develop the feature to view live 1080p HD clips, providing users with real-time monitoring and a clear view of their surroundings.

•Add the Google Cast SDK to cast content from a mobile device to a TV and add add the necessary UI components based on the Google Cast Design Checklist

•Collaborated on storing raw video data in the file manager for convenient on-the-go viewing.

•Focused on documenting changes between different versions and patches thoroughly.

•Employed alerts and alert objects to enhance app behavior during events such as low battery status and network availability.

• Expanded unit test coverage to 85%, refactoring with protocols to optimize mock dependency injections.

•Managed caching between network connections in the final build.

Android Mobile App Developer

Strava Inc. in San Francisco, CA February 2017 to June 2018

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

Summary: As an Android Mobile App Developer at Strava Inc., I contributed to enhancing the app's performance and features by migrating legacy code and implementing modern development practices. The role focused on optimizing the app for better user experience and ensuring robust functionality across various features.

•Migrated Java into Kotlin language with coroutines, multi-platform support, extension functions and null safety.

•Designed and programmed new features/functions in Kotlin.

•Utilized Android Plot graph library to display distance, pace, speed, elevation gained, and calories burned in pie chart and bar-charts.

•Replaced Volley library with RxKotlin library to make asynchronous API calls to get user-profile and monthly statistical data in CustomView.

•Implemented Koin dependency injection to create and inject network models and view model modules

•Wrote TDD test cases for new features using Mockito2, DaggerInject and RxTestSchedulers.

•Woredk on Strava Bluetooth BLE SDK design module to pair with Bluetooth devices and transmit large bytes of attributes.

•Included Google Play billing service to buy subscriptions, digital contents and unlock advance features.

•Pair-programmed to develop features, write TDD test cases and write algorithm for Strava distance tracker and mile counter.

•Scheduled and managed large downloads in background with auto retry support using Work Manager API and replaced intent services implementation.

•Configured Firebase console to create personalized messages and woite frontend code to allow these messages to align with notification channels feature.

Android App Developer

WolframAlpha in Champaign, IL January 2015 – February 2017

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

Summary: As an Android App Developer at WolframAlpha, I played a critical role in developing and enhancing mobile applications, focusing on creating a user-friendly interface and ensuring robust functionality across different devices and platforms.

•Constructed the user interface by using ListView, CustomView, CompoundView, and various layouts.

•Participated in SCRUM meetings as part of project team’s Agile project delivery methodology.

•Implemented Material design feature of RecyclerView, Toolbar, and CardView.

•Implemented support for backward animation using NineOldAndroids library.

•Created multiple Content Providers with a native approach to handling UI asynchronous updates.

•Enhanced the user experience with the implementation of the Tab Navigation.

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

•Utilized Fragment to handle multiport views and different screen size devices.

•Tested the application on various devices and emulators to determine compatibility.

•Incorporated the communication between the application and the other Android applications backed by the customer.

•Implemented full social network integration with Facebook, Twitter, and Youtube SDKs.

•Created Widgets to help customers manage the launcher.

•Tested user interface implementing Espresso.

•Debugged and tested the application using Robolectric,

•Implemented Dagger to work with a Dependency Injection environment to help with the unit testing.

IT Support

Mindtree, San Jose, CA January 2014 – Dec 2014

•Provided technical assistance to end-users, troubleshooting hardware, software, and network issues.

•Diagnosed and resolved computer problems, including software errors, hardware malfunctions, and network connectivity issues.

•Installed and configured software and hardware, setting up new equipment and configuring systems.

•Maintained network infrastructure, ensuring network connectivity and performance by managing routers and switches.

•Provided basic security support, helping users protect their devices and data with antivirus software and password management.

•Documented and tracked issues, recording user requests and technical problems to provide efficient support and identify trends.

•Learned and stayed updated, continuously updating my knowledge of new technologies and software.

•Worked collaboratively with other IT team members, resolving complex issues and ensuring the smooth operation of IT systems.

Education

Bachelor’s degree in computer science

University of St Augustine



Contact this candidate