Christopher Dang
Lead Android/ React Native Developer
Email: ************@*****.***;
Phone: 447-***-****
Profile Summary:
● Experienced Lead Android Developer with 10+ years of expertise in building, integrating, testing, and maintaining Android applications for mobile and tablet devices. Proficient in using RxJava and Kotlin coroutines for multithreading and seamlessly consuming RESTful web services. Demonstrates strong debugging skills, diagnosing performance bottlenecks, and resolving complex issues in Android applications.
● Hands-on experience in building cross-platform mobile applications using React Native, leveraging JavaScript and TypeScript to deliver performant and feature-rich applications for both Android and iOS platforms.
● Expertise in integrating native Android features into React Native apps, bridging the gap between platforms and maximizing user experience.
● Highly skilled in developing mobile apps that utilize web services (REST, HTTP-based, XML, SOAP, JSON) while adhering to best practices for clean, efficient, and reliable code. A collaborative leader who actively contributes to Android teams through mentoring, development, and thorough code reviews, with a commitment to enhancing overall application quality.
● Adept in using various testing frameworks, including Robolectric, Cucumber, Mockito, Espresso, MockK, and Junit. Constantly exploring new technologies like Smart Watches, Chromecast, and Smart TV devices, showcasing adaptability and a proactive learning mindset.
● Expert in Android UI/UX best practices, implementing fragments, animations, custom views, and Material Design elements. Proficient in designing applications using modern architectural patterns such as MVC, MVP, and MVVM. Extensive experience with integrating Android apps with web services using Retrofit, Volley, OkHTTP, JSON, and GSON.
● Hands-on experience with Android Jetpack components such as LiveData, DataBinding, Dagger, Navigation, ViewModel, and Paging. Versatile in managing source control using Git, GitHub, GitLab, and tools like SourceTree, and working with continuous integration servers like Jenkins, Hudson, and Travis.
● Expertise in Android automated testing frameworks, continuous integration pipelines, and implementing solutions that enhance app performance across multiple devices. Skilled in using third-party libraries like Firebase for notifications and image loading and experienced in managing embedded local storage solutions like SQLite, RoomDB, SharedPreferences, and cloud storage with Firebase.
Technical Skills
PROGRAMMING LANGUAGES Kotlin, Java, JavaScript, TypeScript, Flow
IDE Android Studio, Eclipse, IntelliJ, VSCode, XCode, Expo SnackDev, StackBlitz
THIRD-PARTY LIBRARIES Coroutines, RxJava, RxAndroid, Firebase, Fabric, Reactive-X, C standard Library, MPL and MECL libraries, Ksoap2 library, Jersey Library, Java Swing, Ajax Swing, GWT, Retrolambda, Axios, ApiSauce, TanStack Query (React Query), RN Firebase, RN MMKV, Victory Charts, Stripe, Zendesk, React Navigation, Redux
PERFORMANCE Bluetooth Low Energy (BLE), Leak Canary, ProGuard, Dalvik, Memory Mapping, ART, Flipper, Reactotron
DATABASES SQLite, Firebase, Room DB, Realm, WatermelonDB
BACK-END Consumption of RESTful web services, Connection to database endpoints, Use of REST, SOAP, JSON, XML
ARCHITECTURE & DESIGN MVC, MVP, MVVM, Singleton, Dependency Injection, Builder, Factory, Façade, Proxy, Command, Observer, Visitor, Flux
PUSH NOTIFICATIONS Google Cloud Messaging (HCM), Firebase Cloud Messaging, AWS Amplify
DEPENDENCY INJECTION Android Annotation, RoboGuice, Dagger 1, Dagger 2, Hilt
CODEBASE MANAGEMENT Git, SVN, SourceTree, BitBucket, Jenkins, Hudson, Travis CI
PROJECT Agile, Scrum, pair Programming, Xtreme Programming, JIRA, Confluence, Javadoc, Slack, Trello, KanBan, Atlassian, Requirements Gathering, Daily Scrums, Sprints, Sprint Planning, Sprint Backlog, Sprint Retrospective, Scrum Master, Code Reviews
Professional Experience:
E-Trade
Lead Android Developer
Chicago, Illinois
Oct 2021 – Present
https://play.google.com/store/apps/details?id=com.etrade.mobilepro.activity&hl=en-IN
Project Summary: As a Lead Android Developer at E*TRADE, I spearheaded the design and development of a seamless, user-centric mobile app for investors of all levels. I modernized the UI by transitioning from XML layouts to Jetpack Compose, enhancing scalability and performance. I also implemented critical features such as real-time transaction tracking, options trading, and tax document access while ensuring data security and regulatory compliance. Additionally, I integrated Firebase Analytics and Localytics for personalized user engagement and insights.
● Lead the design, development, and implementation of the E*TRADE Android app, ensuring a seamless user experience for investors of all levels.
● Reengineered the app’s user interface (UI) by converting traditional UI layouts (XML-based) into modern Jetpack Compose implementations, enhancing the flexibility and scalability of the UI.
● Developed a feature to display real-time transaction activity, allowing users to track market movements and trades as they occur. Ensured optimal performance and responsiveness to handle large volumes of data without compromising app speed.
● Integrated the ability for users to buy and sell options within the app, ensuring compliance with E*TRADE’s financial regulations and providing a smooth, intuitive user experience for advanced traders.
● Enabled users to access and download tax-related documents (e.g., 1099 forms) directly through the app. Worked on ensuring data security and the proper presentation of complex financial data to the user.
● Lead the implementation of advanced security measures to protect user data, particularly for sensitive financial transactions and investment portfolios.
● Ensure compliance with industry standards and regulatory requirements such as SIPC, NFA, FDIC, and other governing bodies related to securities, futures, and banking products.
● Utilized Jetpack Navigation to create intuitive, flexible navigation patterns within the app, making transitions between screens smoother and managing complex navigation flows more effectively.
● Designed and implemented Android applications using the MVVM architecture to enhance code modularity, testability, and maintainability.
● Developed robust ViewModels to manage UI-related data, ensuring separation of concerns between the UI (View) and business logic (Model).
● Applied Jetpack Security features to ensure sensitive user data, such as login credentials, financial information, and personal preferences, were stored and transmitted securely.
● Implemented Jetpack Compose for building responsive UI components, handling state efficiently, and managing complex layouts dynamically with fewer code lines.
● Integrated Jetpack LiveData and ViewModel to handle lifecycle-aware data flow, ensuring seamless updates to the UI in response to backend data changes or user actions.
● Integrated Firebase Analytics to track user interactions and engagement within the app, gathering insights on user behavior such as trade executions, portfolio views, and options purchases.
● Integrated Localytics to manage and deliver personalized push notifications, ensuring timely and relevant communications with users about trade updates, stock alerts, or account information.
● Kotlin: Used extensively for the core Android app development, leveraging Kotlin’s null safety, coroutines, and extensions to improve code readability, reduce bugs, and enhance asynchronous operations within the app.
● Java: Maintained legacy code written in Java, ensuring compatibility with new features implemented in Kotlin. Collaborated with the backend team for API integration and data flow management.
● Worked with XML layouts for maintaining compatibility with traditional UI components alongside Jetpack Compose, especially in cases where Compose couldn’t be fully adopted across the app.
● Built the app's user interface, focusing on dynamic components, seamless layouts, and performance.
● Implemented secure data storage and authentication mechanisms (e.g., encrypted shared preferences) using Jetpack Security.
● Managed complex screen transitions and back-stack handling, ensuring a smooth user experience across the app’s various features.
● Designed, developed, maintained Android SDKs to integrate with third-party services and APIs.
● Developed modular, reusable, and high-performance SDK components for Android apps using Java and Kotlin.
● Ensured backward compatibility of SDKs across different Android versions and devices.
● Optimized SDK performance, ensuring minimal impact on app memory and CPU usage.
● Used for tracking user behavior and engagement patterns, integrating data into business decision-making to optimize the app’s user experience and performance.
● Managed in-app messaging and push notifications, ensuring personalized communication with users based on their engagement history.
● Led a team of Android developers, ensuring efficient collaboration and adherence to best coding practices, design patterns (e.g., MVVM, MVP), and architectural principles.
● Provided mentorship and guidance to junior developers, fostering their growth through code reviews, pair programming, and knowledge-sharing sessions.
Robinhood Wallet
Sr. Android/ React Native Developer
Menlo Park, California
June 2019 – Sep 2021
https://play.google.com/store/apps/details?id=com.robinhood.gateway
https://apps.apple.com/us/app/robinhood-wallet/id1634080733
Robinhood Wallet is a self-custody crypto wallet app built with React Native, allowing users to securely store, send, and swap cryptocurrencies across multiple networks like Ethereum, Bitcoin, and Polygon.
● Worked with a cross-functional team of 5 React Native developers in an Agile environment, collaborating closely with iOS and Android teams to implement new features and enhancements for the Robinhood Wallet app.
● Migrated and refactored significant portions of legacy JavaScript code to TypeScript, improving type safety and reducing runtime errors across the application.
● Implemented a custom navigation flow using React Navigation to manage multi-network support (Ethereum, Bitcoin, Dogecoin, etc.) and decentralized exchange (DEX) aggregation seamlessly within the app.
● Refactored architecture design patterns from Redux to Recoil for state management, enabling a more lightweight and flexible approach to managing the complex decentralized wallet state.
● Developed and integrated secure storage solutions using React Native libraries to securely manage users’ private keys and secret recovery phrases, ensuring decentralized control over crypto assets.
● Managed version control for libraries like ethers.js and web3.js, ensuring smooth blockchain interactions and supporting transactions on networks like Ethereum, Arbitrum, and Polygon.
● Utilized React Query for efficient data fetching, caching, and real-time updates to track crypto assets, balances, and swap statuses.
● Implemented deep linking and WalletConnect support to allow users to interact with decentralized apps (dApps) and external wallets, improving the app's interoperability with the broader Web3 ecosystem.
● Integrated Exchanges API to provide real-time swap functionality between thousands of tokens on Ethereum, Polygon, and Arbitrum using decentralized exchange (DEX) aggregators.
● Collaborated with blockchain engineers to develop smart contract interaction components, ensuring seamless token swapping and secure transaction management across multiple blockchain networks.
● Implemented data persistence using AsyncStorage and SQLite for caching blockchain transactions and account balances, ensuring fast and reliable access to user data.
● Developed comprehensive unit and integration tests for blockchain transactions using Jest, React Native Testing Library, and mocking tools like Mock Service Worker (MSW) to simulate API and blockchain responses.
● Collaborated with UI/UX designers to ensure smooth interaction flows for managing crypto assets, sending/receiving tokens, and swapping crypto while maintaining a consistent look and feel aligned with Material Design guidelines.
● Utilized Fastlane for automating builds and deployments across both iOS and Android, ensuring consistent and efficient delivery of updates and fixes.
● Integrated Google Drive Backup API to allow users to securely back up their secret recovery phrases, improving user experience while maintaining decentralized security principles.
● Implemented biometric authentication (Face ID, Touch ID) for additional security layers, enabling users to secure their crypto assets directly through the device's hardware.
● Set up continuous integration (CI) pipelines using Bitrise for testing and deploying the app to both the Apple App Store and Google Play Store.
● Participated in regular code reviews, ensuring adherence to best practices, including SOLID principles, DRY, and KISS, while maintaining high code coverage with automated tests.
● Led discussions around optimizing performance and scalability for features like token swaps and multi-network support, ensuring that app performance remained smooth despite complex backend interactions with multiple blockchains.
● Worked closely with the QA team to refine and implement test cases for key wallet features, ensuring high reliability and security in handling user funds and data.
Milecatcher, Inc.
Senior React Native Developer
Redmond, WA
September 2018 – June 2019
https://play.google.com/store/apps/details?id=com.milecatcher.milecatcher
MileCatcher is an automatic trip-logging app built with React Native, designed to help users track mileage for business and personal purposes, providing IRS-compliant reports.
● Worked with a React Native team in an Agile environment, collaborating with iOS and Android developers to implement and optimize features for automatic trip logging and mileage tracking.
● Migrated legacy code from JavaScript to TypeScript, improving type safety and reducing bugs during runtime, enhancing overall code quality and maintainability.
● Implemented React Navigation to manage multiple user flows such as trip classification, report generation, and subscription management, improving app navigation efficiency.
● Refactored app architecture from Redux to Context API, optimizing state management for handling large datasets related to users’ trip logs and vehicle information.
● Integrated Mapbox for real-time mapping and route tracking, allowing users to view the actual route taken with each trip, complete with detailed start/end addresses and mileage deductions.
● Developed multi-format export functionality (PDF, CSV, Excel) for trip reports, ensuring compatibility with different tax authorities in over 20 countries, providing IRS-compliant mileage documentation.
● Collaborated with backend engineers to implement RESTful APIs for trip data synchronization and online backup, ensuring users’ trip logs are securely stored and retrievable from any device.
● Implemented automatic trip classification based on recurring patterns using machine learning libraries, allowing users to auto-classify frequent trips as business or personal, significantly reducing manual input.
● Built custom rate calculation features, allowing users to apply personalized business mileage rates, improving flexibility for users with different business needs.
● Integrated in-app subscription management using the React Native IAP library, enabling users to manage monthly and yearly subscription plans directly within the app with seamless auto-renewal functionality.
● Developed and tested user-friendly interfaces for handling multi-company, multi-vehicle, and multi-rate reporting, providing comprehensive support for businesses and team accounts.
● Led the integration of Work Hours scheduling to automatically categorize trips during work hours as business trips, saving users time in manual classification and improving workflow automation.
● Utilized React Query for efficient data fetching and synchronization of trip logs and reports across devices, ensuring seamless access to trip data even when offline.
● Created an address library feature allowing users to store frequent locations, streamlining trip classification and improving the speed of report generation.
● Implemented push notifications to alert users of unclassified trips and reminders for generating trip reports, enhancing user engagement and ensuring timely report submission.
● Developed unit and integration tests using Jest and React Native Testing Library to ensure robust app functionality across various platforms and scenarios, achieving over 90% code coverage.
● Managed continuous integration (CI) pipelines using Bitrise for automated testing and deployment, ensuring quick and reliable updates to both iOS and Android platforms.
● Worked closely with UI/UX designers to enhance user experience, implementing Material Design elements to ensure a clean, consistent, and intuitive interface for navigation and trip management.
● Implemented Google Maps API for enhanced accuracy in route tracking, allowing users to visualize their trips and gain insights into their mileage and routes taken.
● Led sprint planning sessions and contributed to the team's retrospectives to improve workflow, reducing sprint rollover and increasing feature velocity.
Armor Games, Irvine, CA
Sr. Android Developer
Atlanta, GA
September 2017 – September 2018
App: Soda Dungeon 2
https://play.google.com/store/apps/details?id=com.armorgames.sodadungeon2&hl=en-US
Project Summary: As a Sr. Android Developer with Armor Games, I designed and maintained core gameplay features for a turn-based dungeon crawler, focusing on custom AI behavior scripting and cross-platform save functionality using Kotlin and Java. I implemented engaging UI components for managing adventurers and loot while ensuring smooth, AFK-compatible gameplay with optimized in-game mechanics like crafting and upgrading. I collaborated with designers and backend developers to refine game systems, ensuring a balanced experience with in-game currency earned without paywalls, and conducted extensive testing for bug-free, cross-platform compatibility.
● Design, develop, and maintain core gameplay features such as turn-based dungeon crawling, custom AI behavior scripting, and cross-platform save functionality using Kotlin, Java, and Android SDK.
● Implement the "Play While AFK" feature, ensuring players can earn battle credits and loot when the app is inactive.
● Create a visually engaging and intuitive UI for managing adventurers, viewing loot, and upgrading the tavern, town, and armory.
● Design customizable AI behavior patterns (Soda Script) to allow users to create automated actions for their teams.
● Build and optimize in-game mechanics such as crafting gear, upgrading buildings (blacksmith forge, wizard’s shop, etc.), and completing side-quests for NPCs.
● Ensure smooth functionality of optional auto-combat systems for player convenience.
● Implement in-game currency systems that allow players to earn everything without paywalls, while also providing optional, fair monetization for faster progression.
● Work closely with designers and backend developers to refine game mechanics, loot systems, and upgrade paths.
● Gather and incorporate player feedback to ensure game balance, performance, and enjoyment without the need for in-app purchases.
● Collaborate with QA teams to test features across various Android devices, ensuring compatibility and bug-free experiences.
● Address issues related to cross-platform saves, AI behavior, and game mechanics to ensure smooth user experiences.
● Managed caching between network connections with a Content Provider.
● Utilized Android’s BLE library and geofences to update local location data based on iBeacon devices.
● Participated in meetings with managers and stakeholders to gather and process requirements.
● Developed Custom Views to persist user data.
● Utilized JIRA for project management and backlog tracking.
● Implemented ViewPager for smooth scrolling between fragments.
● Used Vector Drawable to minimize the app's footprint and optimize image rendering.
● Implemented push notifications to keep users informed about updates and promotions.
● Designed and integrated a robust error handling system to manage and log application issues effectively.
● Developed and maintained unit tests to ensure the reliability and stability of the application.
● Optimized application performance by analyzing and improving code efficiency and memory usage.
DirecTV
Android Mobile Developer
El Segundo, CA
August 2016 – September 2017
DIRECTV: https://play.google.com/store/apps/details?id=com.directv.dvrscheduler
Download the DIRECTV app, a companion to your DIRECTV service, and enjoy a world of entertainment. Watch Live TV and recorded shows, catch up on the latest movies and shows with On Demand, and schedule recordings on your DVR—no additional equipment needed, at no extra cost.
● Added several animations and transitions without of the box features and third-party libraries.
● Improved the search navigation Activity to find out station names.
● Experience working on-site and off-site teams and management.
● Integrated Java Guava Libraries for string processing, concurrency libraries, I/O functions.
● Development of quality code using cutting-edge techniques, tools, and utilities.
● Improved the layout rendering by saving and optimizing the view hierarchy in all the resources.
● Used private Git repository with BitBucket for development project.
● Participated in code review sessions to always have high quality (reusable, simple, documented) code.
● Assisted the build creation with a Jenkins instance hosted on a private server.
● Created the database using SQLite local file and a Firebase implementation.
● Used native and third-party technologies to optimize the app functionality including Java, Parse, Volley, SQLite, Fragments, Picasso, Android Studio, JSON, SQLCipher, Spongy Castle, Git, Jenkins.
● Use of Implicit and Explicit Intents.
● Created custom views to present data as it was needed.
● Use of SharedPreferences.
● Generated the application with a Model View Presenter architectural design pattern to help with the modularity and maintainability.
● Successfully executed test cases and fixed bugs.
● Integrated third-party APIs and services into the Android SDK, ensuring seamless communication between apps and external platforms.
● Created comprehensive and user-friendly SDK documentation, including setup guides, API references, and sample code.
● Part of Agile team consisting of 3 Android developers, iOS developers, web services, UI/UX designers and front-end developer.
● Used the Parcelable interface to serialize the objects.
● Performed automated testing by using Robolectric.
● Eliminated the use of external libraries by consolidating the use of OKHTTP and GSON.
● Implemented List View using the View Holder pattern to improve the performance.
● Worked with a SCRUM (Agile) methodology.
● Used advanced networking, multithreading and image loading libraries for efficient communication like Volley and Picasso.
● Experience building high volume consuming facing applications at massive scale.
● Ensure effectiveness of SCRUM related meetings (planning, retrospective) and discussions.
● Worked closely with the Android and iOS development teams for the web service API definition.
● Worked on making sure RESTful web services adhered to Android Best Practices
Ace Hardware Corporation
Android Application Developer
Oakbrook, IL
Jan 2014 – Jul 2016
https://play.google.com/store/apps/details?id=com.acehardware.rewards&hl=en_CA&gl=US
Take your Ace Hardware shopping and rewards experience to the next level and get a $5 bonus* available the day after you download the app.
● Built an application in Eclipse using Java.
● Managed the app builds using Jenkins on a private server.
● Made REST API calls using OkHTTP to fetch web data.
● Handled JSON responses from the API and displayed the data to users.
● Used Dagger 2 for dependency injection to manage code components.
● Passed data between activities using Parcelable objects.
● Saved user preferences, like favorite stores, using Shared Preferences.
● Used Location Services to find the nearest stores for users.
● Updated product and coupon lists with RecyclerView for endless scrolling.
● Integrated Barcode API to let users scan product barcodes and check prices.
● Used Picasso to load and process images.
● Displayed nearby store locations with Google Maps and GPS.
● Tested and debugged the app using Robolectric.
EDUCATION
Bachelor of Science - Computer Game Science - University of California (Irvine)