Agnel S
Lead Android Developer/ Engineer
Phone: 912-***-**** Email: ************@*****.***
Profile Summary:
With over 10 years of experience in Android application development, I have a proven track record of delivering robust, high-quality solutions across a wide range of devices, including smartphones, tablets, smart TVs, and Android smartwatches. I am well-versed in Kotlin and Java, with more than 6 years of expertise in development using modern practices like dependency injection, test-driven development (TDD), and Jetpack.
Additionally, I bring over 3 years of experience in Flutter and Dart, and a solid 8-year background in mobile development. My proficiency extends to Internet of Things (IoT) technologies, where I leverage interconnected mobile solutions to create innovative products. I am skilled in transitioning from Java to Kotlin, improving codebase maintainability and performance.
I have strong expertise in RESTful web services and have worked extensively with libraries like Retrofit, Volley, and OKHTTP for seamless data communication. My web development experience includes knowledge of JavaScript, HTML, AJAX, JSON, XML, and SOAP, facilitating efficient integration with web-based content.
I excel in automated testing using tools like Robolectric, Espresso, and Jenkins, ensuring high-quality standards. I am experienced in building applications for Android BLE, Google Fit, and Android TV, supporting multiple Android versions. My deep understanding of Jetpack Architecture, Compose, and Android design patterns allows me to implement scalable, maintainable solutions that follow best practices.
Additionally, I have experience implementing ADA-compliant features and ensuring accessibility for all users. I thrive in Agile Scrum environments, collaborating in daily scrums, sprint planning, and backlog refinement. I am proficient in source control tools like Git, BitBucket, SVN, and SourceTree, and skilled in designing intuitive user interfaces based on Google Material Design guidelines.
Furthermore, I have hands-on experience with IoT and M2M applications, leveraging cellular connectivity, GSM/GPRS modules, and Bluetooth for innovative solutions in remote monitoring, home automation, and security systems. I am adept in IntelliJ, Eclipse, and Android Studio, and continuously strive to advance my knowledge of emerging technologies.
Technical Skills:
Programming Languages: Kotlin, Java, Python, Groovy, Kotlin DSL, XML
Android Platforms: Android Studio, Firebase, Android JetPack, 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:
Jun 2023 - Present Lead Android Developer
Adidas, Portland, OR
https://play.google.com/store/apps/details?id=com.adidas.app&hl=en-US
Summary: As a Lead Android Developer at Adidas, I spearheaded the integration of Jetpack Compose for server-driven UI, migrating from XML layouts to modern design solutions. I played a key role in implementing robust security mechanisms, including Okta multi-factor authentication and Biometric API for secure login. Additionally, I optimized app performance by migrating from RESTful APIs to GraphQL, utilizing Kotlin Multiplatform for shared logic between Android and iOS
Led the transition from XML layouts to Jetpack Compose for server-driven UI improving the app's design flexibility and responsiveness.
Implemented robust authentication mechanisms using the Biometric API for secure login processes.
Collaborated with UI/UX designers to integrate Figma mockups into Jetpack Compose-based user interfaces.
Developed core logic and conversational flows with Kotlin Multiplatform, enabling shared code between Android and iOS platforms for the chatbot functionalities.
Introduced Jetpack Compose for server-driven UI, migrating from traditional XML layouts to modern Compose solutions.
Configured Okta's multi-factor authentication to enhance app security, integrating it with the app’s login system.
Utilized Kotlin Coroutines Flow API with Retrofit, OkHttp, NavGraph, deep links, and paging to handle data streams efficiently.
Integrated Hilt for dependency injection, streamlining app dependency management and improving code maintainability.
Led the migration of RESTful API to GraphQL with Apollo Client, optimizing data handling and improving app performance.
Incorporated Firebase Realtime Database for data synchronization and Firebase Remote Config to dynamically update the app’s configuration.
Secured user data through real-time updates in Google Firestore, implementing database authentication and user ID validation.
Worked closely with UI/UX teams to incorporate recommendation features seamlessly into the app’s design and functionality.
Utilized Google Maps SDK to implement location-based features and Lottie for rich animations within the app.
Integrated Stripe Payment SDK for secure and efficient payment processing within the app’s user interface.
Added WorkManager to manage periodic data syncs with the server and to send analytics and logs to backend services.
Optimized the build process with Gradle configurations in Azure, reducing build times and improving deployment efficiency.
Utilized Git for source control and Azure DevOps for streamlining code reviews, pull requests, and CI/CD processes.
Conducted unit and integration tests for Jetpack Compose components, ensuring reliability using the Semantic API.
Implemented Clean Code architecture with MVI Reactive Architecture to establish a unidirectional flow, improving app scalability and maintainability.
Modularized the customer payment authentication flow using pair programming and integrated additional external SDKs for enhanced payment security.
Integrated Splunk MINT SDK to collect crash, performance, and usage data, improving app analytics and troubleshooting.
Aug 2022 – May 2023 Lead Android App Developer
Truist Financial Corporation, Charlotte, North Carolina
https://play.google.com/store/apps/details?id=com.truist.mobile&hl=en-US
Summary: As a Lead Android App Developer at Truist Financial, I led the adoption of Uncle Bob's clean code architecture with MVVM in a TDD environment, focusing on network configuration and presentation layers. I spearheaded UI modernization with Jetpack Compose and enhanced app security by integrating biometric authentication, multi-factor authentication, and encryption techniques. Additionally, I optimized performance and ensured smooth app functionality across devices using advanced tools like Kotlin Flow, Android Jetpack, and Azure Event Hubs, while collaborating with cross-functional teams to maintain high standards of security and app performance.
Led the implementation of Uncle Bob's clean code principles using the MVVM pattern within a Test-Driven Development (TDD) environment, optimizing both network configuration and presentation layers.
Led the integration of biometric authentication methods, such as fingerprint and face recognition, to offer users secure access to Truist Financial's app, ensuring user identity protection.
Pair programmed the development of multi-factor authentication (MFA) solutions to further secure user logins, introducing additional layers of verification for enhanced protection.
Oversaw the implementation of encryption techniques to safeguard sensitive user data, both at rest and in transit, ensuring compliance with financial data protection standards and reducing the risk of unauthorized access or breaches.
Refined and refactored existing mobile projects to adopt Jetpack Compose, modernizing the UI to increase developer productivity and improve user engagement across platforms.
Leveraged various Android development tools and libraries, including Android Jetpack, Firebase, Google Maps SDK, Picasso, and ReactiveX, to enhance the app’s performance, security, and functionality.
Incorporated advanced security libraries like RootBeer and Mitek MiSnap to fortify the app’s defenses against potential security threats and fraudulent activities, ensuring users' financial data remained secure.
Employed Kotlin Flow and Coroutines API to implement reactive programming paradigms, optimizing asynchronous operations and improving responsiveness in key security-related functions.
Collaborated with backend developers to integrate server-side security protocols, ensuring that data integrity was maintained across all client-server communications and that Truist’s digital platforms adhered to robust security standards.
Worked closely with quality assurance (QA) engineers to define test cases, perform unit and integration tests, and conduct security penetration testing to identify and resolve potential vulnerabilities.
Managed composable lifecycle events using remember, LaunchedEffect, and DisposableEffect to handle side effects, optimize resource management, and ensure a seamless user experience within the Truist Financial app.
Collaborated with cross-functional teams to integrate permission-based foreground services, enabling uninterrupted essential background tasks for enhanced user experience and operational efficiency.
Integrated the Airship Performance Analytics library for Segment and Azure Event Hubs, supporting real-time analytics and insights that contributed to data-driven decision-making in Truist Financial’s mobile app development.
Operated in a DevOps environment with Agile methodologies, participating in daily stand-ups and two-week sprint cycles to ensure continuous improvement and timely delivery of features.
Jan 2021- Aug 2022 Sr. Android Developer (Flutter)
Virgin Atlantic, Atlanta
https://play.google.com/store/apps/details?id=com.vaa.runway&hl=en
Summary: As a Senior Android Developer with Virgin Atlantic, I led the implementation of dynamic badges to highlight key flight details and redesigned the app to consume real-time data from the backend. I enhanced user experience by integrating biometric login, pre-select meal functions, and A/B testing for personalized marketing campaigns. Additionally, I utilized Node.js for backend services, Firebase Crashlytics for app monitoring, and integrated Branch and Flutter for improved app functionality and cross-platform support.
Implementing and managing badges on product pages to highlight specific flight details, such as new airplane designs, using dynamic image-based badges.
Redesigning the app to consume data dynamically from the backend, including colour and text updates inside the badges.
Utilized the Sentry Flutter plugin to monitor and debug layout issues in the production app, ensuring a seamless user experience.
Executing A/B testing for marketing campaigns, enabling personalized sales strategies and data-driven decisions.
Integrating Firebase Crashlytics to capture and report app crashes, ensuring prompt bug fixes.
Redesigning flight information displays to align with new Brazilian regulatory mandates.
Developing cross-platform Android applications using Xamarin and C# to ensure compatibility across multiple devices.
Implemented comprehensive testing strategies, including screenshot testing with Flutter, to maintain high-quality standards in the app.
Integrating Branch for improved marketing campaign diversity and streamlining deep link functionality to work with Branch links.
Implementing a pre-select meal function for passengers, enhancing user experience by allowing advanced meal selection.
Integrating biometric login functionality for Virgin Atlantic, enhancing user security and convenience.
Troubleshooting and debugging app issues using Jira to maintain smooth app performance.
Creating and optimizing RESTful APIs with Node.js to deliver fast and efficient services to the mobile app.
Enhanced the app's security by implementing certificate pinning using the http_certificate_pinning Flutter package, safeguarding sensitive data during network
Fetching and parsing data from the server using JSON and RESTful web services and creating a JSON serializable interface for clear data management.
Designing and implementing user interfaces with Android UI components such as ViewFlipper, CustomViews, ImageViews, buttons, and dialog boxes to ensure an intuitive and engaging app experience.
Jan 2020 - Dec 2020 Sr. Android Developer
Mazda, Irvine, CA
https://play.google.com/store/apps/details?id=com.interrait.mymazda&hl=en
Summary: As a Senior Android Developer at Mazda, I led the migration of ReactJS components to native Android, utilizing tools such as Node.js, React Native CLI, and Android Studio. I architected scalable, maintainable applications using Android Jetpack and MVVM architecture while optimizing performance through OEM SDKs and integrating real-time data tracking. I ensured best practices in security and privacy, mentored junior developers, and contributed to high-quality code through rigorous testing and code reviews. My collaborative approach helped meet project goals, delivering efficient and user-friendly mobile solutions.
Led the migration of ReactJS components to native Android components, utilizing Node.js, React Native CLI, and Android Studio.
Architected scalable and maintainable mobile applications using Android Jetpack and MVVM architecture.
Applied Android Architecture Components like LiveData, ViewModel, and Room to implement MVVM pattern.
Optimized app performance by integrating OEM SDKs, improving real-time data tracking and device interactions.
Implemented Dagger 2 for modular architecture and feature separation.
Utilized RxKotlin with RxAndroid and RxBinding libraries for multithreading and asynchronous operations.
Designed efficient layouts using RecyclerView and ConstraintLayout to improve performance and reduce nesting.
Managed activity lifecycle events with AndroidX Activity, ensuring optimal resource and state management.
Used Android Jetpack Media API to implement features like audio/video recording, playback, and streaming for telemedicine and patient education.
Ensured adherence to best practices, security, and privacy regulations in healthcare app development.
Mentored junior developers and provided technical guidance on development best practices.
Participated in code reviews, testing, and debugging to maintain high code quality and stability.
Wrote unit tests using JUnit and Mockito to ensure quality and prevent regressions.
Monitored build statuses and deployment progress using Azure DevOps and tracked code quality metrics with dashboards.
Collaborated effectively with cross-functional teams to meet project goals and timelines.
Nov 2016 - Jan 2020 Android Engineer
US Cellular, Chicago, Illinois
https://play.google.com/store/apps/details/My_UScellular_Prepaid?id=com.prepaid&hl=en-US
Summary: As an Android Engineer at U.S. Cellular, I contributed to the full software development lifecycle of the company’s mobile application, from product vision and system design to coding and ongoing support. I utilized Java, Kotlin, and Android SDK to build the app, integrating features like advanced camera processing, seamless device-specific optimizations, and efficient data handling with RxJava and Dagger. I focused on enhancing performance, scalability, and UI responsiveness while maintaining high-quality code through rigorous testing and code reviews.
Contributed to all phases of software development, including defining product vision, gathering requirements, system design, coding, testing, release, and ongoing support for U.S. Cellular’s mobile application.
Implemented RESTful APIs to retrieve JSON responses, parsing the data with GSON for display within U.S. Cellular's app interface.
Built the U.S. Cellular app using Android SDK, coding in both Java and Kotlin within Android Studio.
Enhanced app behavior to adapt to device-specific capabilities using OEM SDKs, ensuring seamless performance across a wide range of smartphones and tablets used by U.S. Cellular customers.
Applied MVP UI architecture as the foundation for the app, transitioning from Dagger 1 to Dagger 2 for dependency injection to streamline U.S. Cellular's app structure.
Integrated advanced camera and image-processing features through OEM SDKs, improving documentation and claims processing functionalities.
Utilized the Picasso library to enhance image display functionality in the U.S. Cellular app.
Prevented memory leaks and ANRs using Leak Canary and memory monitoring tools, ensuring smooth operation of U.S. Cellular’s app, and employed Crashlytics for troubleshooting.
Managed asynchronous processes in U.S. Cellular’s app using RxJava 2, simplifying threading and ensuring optimal app responsiveness.
Employed Dagger subcomponents to create specific dependency graphs tailored to the app’s unique flows, improving the efficiency of the U.S. Cellular app.
Refined legacy code with Mockito to create reusable, testable, and interchangeable modules, ensuring the U.S. Cellular app remained scalable.
Integrated Data Binding library to support two-way data binding, facilitating dynamic interaction with U.S. Cellular’s app UI.
Designed multi-panel activities in U.S. Cellular’s app, utilizing Fragments to enhance compatibility with various screen sizes and form factors.
Implemented the Android Keystore to securely store cryptographic keys, ensuring sensitive data protection within the U.S. Cellular app.
Coded and tested U.S. Cellular’s app features using GitLab for continuous integration and various devices for testing.
Cached network data in the OrmLite local database and displayed it graphically using MPAndroidChart, optimizing the app’s performance for U.S. Cellular users.
Incorporated PDFViewer library to support viewing PDF documents with animation and zoom effects, enhancing U.S. Cellular’s app user experience.
Executed Espresso tests to quickly manipulate and assert U.S. Cellular’s app UI for better performance and functionality.
Conducted code reviews to maintain high-quality, reusable, and well-documented code, incorporating JUnit and automated tests with Robolectric for U.S. Cellular's app development.
Managed Git workflows by resolving merge conflicts and maintaining code integrity across branches, ensuring a smooth development process for U.S. Cellular's app.
June 2014 - Oct 2016 Android Developer
Dollar General, Goodlettsville, Tennessee
https://play.google.com/store/apps/details?id=com.dollargeneral.android&hl=en-IN
Summary: As an Android Developer at Dollar General, I contributed to the development of a seamless mobile experience by integrating VOIP functionality, optimizing real-time communication through push notifications, and implementing secure authentication. I played a key role in enhancing app performance through modular workflows, SQLite data storage, and dependency injection, while ensuring robust security measures and smooth user navigation. My work focused on streamlining the app’s architecture and improving overall efficiency.
Integrated VOIP functionality into Dollar General’s app using native Android and the VoCal VoIP SDK,
optimizing communication with standard algorithms in a modular design.
Developed modular workflows in the Dollar General app using Activities and Fragments to create a flexible user experience.
Implemented secure authorization and authentication tokens to control access to sensitive features within the Dollar General mobile application.
Enabled real-time communication through Google Cloud Messaging and Android Push Notifications, enhancing the Dollar General app's connectivity.
Applied Dexguard to protect the Dollar General app from reverse engineering and security vulnerabilities.
Utilized SQLite database schema for persistent data storage, especially for scheduling and customer preferences in the Dollar General app.
Refined and optimized the Dollar General app’s codebase to improve reusability, reduce size, and enhance overall efficiency.
Managed version control using private GitHub repositories, ensuring smooth collaboration and maintaining code integrity across teams.
Supported the design, development, testing, and deployment phases of the Dollar General mobile application, contributing to all stages of the project lifecycle.
Participated in Agile development processes, attending daily scrums and bi-weekly sprint planning sessions to ensure timely delivery of features for the Dollar General app.
Consumed backend services for communication using RxJava and Retrofit, enabling seamless data flow and connectivity within the Dollar General app.
Designed business logic using discrete modules and design patterns like Singleton, Builder, Proxy, and Visitor for improved functionality.
Used Dagger modules to handle dependency injection and class instance management, improving app architecture and performance.
Mocked JSON responses with Mockito to effectively test REST API calls, ensuring reliability and performance of Dollar General’s mobile app.
Enabled smooth navigation by creating dynamic menu items and integrating activities and fragments.
Implemented a collapsing toolbar in a drawer layout, improving the user interface by collapsing images upon scrolling up in the Dollar General app.
Leveraged GitHub Issues to track bugs and feature requests, ensuring efficient project management and timely resolution for Dollar General’s app development.
Education:
Bachelor’s in Computer Science
San Francisco State University