Post Job Free
Sign in

Senior Android Developer

Location:
Manhattan, NY, 10018
Posted:
December 09, 2024

Contact this candidate

Resume:

Abena Adu

Lead Android Developer

Phone: 929-***-****

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

Profile Summary

Android Developer with 12+ years of experience delivering high-performance, user-centric mobile applications across diverse, fast-paced environments. Proven track record in native Android development, design pattern implementation, and application architecture, with expertise in optimizing app performance, integrating cloud services, and ensuring robust security for mobile solutions.

Professional Highlights:

App Development & Launch: Successfully published five Android applications on the Google Play Store, driving user engagement and maintaining high ratings.

Technical Proficiency: Extensive experience with native Android development using Java and Kotlin within Android Studio and Eclipse environments.

Design Patterns: Skilled in implementing a range of design patterns, including Singleton, Facade, Factory, Builder, and Adapter, enhancing code modularity and maintainability.

UI/UX Expertise: Proficient in Android UI/UX design, leveraging Jetpack Compose, ConstraintLayout, fragments, navigation components, and Material Design principles to create intuitive and responsive user interfaces. Enhanced layout efficiency through optimized view hierarchies.

Performance Optimization: Adept at Android performance profiling and optimizing memory and power consumption, ensuring smooth app performance.

Architecture Design: Deep understanding of Android architectural patterns, with experience in both MVP (Model View Presenter) and MVVM (Model View ViewModel) frameworks for scalable and maintainable applications.

Web Services & API Integration: Skilled in web services integration using Retrofit, Volley, Kotlin Coroutines, and OkHTTP to ensure seamless data flow between Android apps and server backends.

Version Control: Experienced in source control management using Git, GitHub, GitLab, and SourceTree for efficient versioning and collaboration.

Mobile Security: Strong knowledge of mobile security practices, implementing measures such as Cipher, Certificate Pinning, SQLCipher, and Key Store for secure data handling within mobile applications.

Analytics & Monitoring: Proficient in integrating analytics tools like Google Analytics, Mixpanel, and Crashlytics for data-driven insights and proactive app monitoring.

Agile Development & Collaboration: Active contributor within Agile environments, applying Scrum methodology to meet project milestones.

Frameworks & Libraries: Proficient in Android frameworks such as Loaders, AsyncTaskLoader, and SyncAdapters, as well as third-party libraries like Retrofit, Picasso, and Dagger.

Testing & Quality Assurance: Strong focus on testing, with experience developing unit and integration tests using JUnit, Mockito, and Espresso to ensure code quality and reliability.

Cloud Integration: Configured cloud-based services, including Firebase and Google Cloud Messaging, to support real-time app functionality and enhance the user experience.

Team Collaboration & Leadership: Effective communicator and collaborator, working with cross-functional teams, and serving as the main point of contact for Android development in partnership with Product and Marketing.

Technical Skills

Programming Languages: Kotlin, Java, C++, Python, C#/Sharp, TypeScript, HTML, CSS, JavaScript, NodeJS, Groovy, XML

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

Frameworks/APIs: Firebase Push Notifications, Firebase Firestore, Google Places, Google Play Services, Google Maps API, Volley, Retrofit, Junit, Kotlin Coroutines, Kotlin Flow, Glide, Picasso, Coil, Custom Android Views, ListView, RecyclerView, Widgets, Fragments, Bundle, Intents, Runtime Permissions, MVVM, MVP, Repository Layer, Single Source of truth, Cache, Offline Mode, Glide, Google Console APIs, Samsung SDK, Logger, Dagger, Moshi, Robolectric, LeakCanary, Robotium, NFC (Near field communication) technology, Retrofit, OkHttp, Http Logging Interceptor, Certificate Pinning, Camera API, Maps

IDEs: Android Studio, IntelliJ, SourceTree, Visual Code, Figma

Issue Tracking & Testing Development Tools: JIRA, Jenkins, Junit, Unit Testing, Agile, Scrum, Git, SVN, GitHub, BitBucket, GitLab, Travis, Confluence, GitHub Actions, Circle CI, Travis CI

Tools: DDMS, ADB, LeakCanary, Firebase, Firebase Crashlytics, ART, Bluetooth Low Energy, Test Driven Development, Continuous Integration, Docker, InstantLink integration, Jenkins, Firebase Console

Database: MySQL, RoomDB, Sqlite, FireStore, RealtimeDB, MongoDB

Web Integration: REST, SOAP, JSON, GSON, MOSHI

Design Principles: MVP, MVVM, MVC, CLEAN, MVI, Singleton, Adapter, Factory

Multimedia: Picasso, Glide, Fresco, ExoPlayer

Push Notifications: Urban Airship/Firebase Cloud Messaging (FCM), Google Cloud Messaging (GCM)

Professional Experience

StubHub, New York, NY August 2021 – Present

Lead Android Developer

App: https://play.google.com/store/apps/details?id=com.stubhub&hl=en_IN&gl=US&pli=1

Summary: As Lead Android Developer for StubHub and Viagogo, I spearheaded the rebuild of StubHub’s app following its re-acquisition, launching a hybrid app with a combination of native Jetpack Compose and WebViews to meet an aggressive migration deadline in June 2022. Post-migration, we aligned the tech stack with Viagogo's web-focused framework and initiated a full transition to React Native in 2023. Currently, I am leading efforts to convert key app screens within the six main tabs—Home, Explore, MyTickets, Favorites, Sell, and Profile—from web views to fully native implementations, enhancing user experience and performance.

Led a team in maintaining app compatibility with the latest Android framework and webviews post-migration, ensuring continuous functionality while adhering to Kotlin MVVM Clean Architecture.

Leveraged the latest Kotlin Android tools such as Jetpack Compose, Kotlin Coroutines, Dagger Hilt, and Kotlin Multiplatform (KMM) to build high-performance applications.

Successfully migrated Java legacy code to a new Kotlin repository while addressing bugs, improving code maintainability by 35%.

Designed and launched a favorites tab feature that allows users to sync favorite events and performers from music platforms, increasing user retention by 15%.

Created an interactive map interface using Google Maps API for the Explore screen in Jetpack Compose, enhancing user navigation and engagement by 30%.

Developed robust webview functionalities in Kotlin Jetpack Compose, improving content accessibility and user experience.

Improved the Home view layout by transitioning from a carousel format to a vertical layout, resulting in a 25% increase in user interaction.

Integrated Kotlin Flow API (Stateflow and Sharedflow) for handling asynchronous data streams, ensuring responsiveness and efficient data handling while maintaining clean architecture principles.

Implemented a secure authentication screen with Google and Facebook sign-in options, later integrating biometric and PIN login features to enhance security and user convenience.

Oversaw CMS tools for localization, backlog tracking, pull request reviews, and release documentation updates, ensuring seamless collaboration across teams.

Proactively monitored bug reports and crashes using App Center and App Insights, reducing crash rates by 40% through timely fixes.

Planned and managed release pipelines using Bitrise for efficient deployments.

Maintained app performance by managing code quality, conducting regular code reviews, and fixing bugs using crash analytics from Google Play Store and App Center.

Built customizable React Native components for efficient reuse across multiple screens, streamlining the development process and reducing time-to-market by 20%.

Implemented React Query API for fetching, caching, synchronizing and updating server state

Used Axios library for Promise based HTTP client process and utilize the Fetch API for networking needs.

Performed Snapshot testing with Jest and utilize Detox tool for E2E tests to cover authentication flow, core functionalities and payments.

Tech Stacks: Jetpack Compose • React Native • CLEAN Architecture • Kotlin • Java • Typescript • Javascript • Ktor • GraphQL • Dagger Hilt Project Points Document • Jira • KMM • Google play services • Solid Design principles • Design Patterns • Bitrise • AzureDevop • GitHub • Trello • Figma • Coroutines- state flow and flows • OAuth • Biometrics • Facebook and google auth

Enterprise Holdings Inc., Maryland Heights, MO Jan 2020 – Jun 2021

Sr. Android Developer

Gameplan and Dashboard – Internal Applications used by employees

Assisted in the development of the Gameplan/Dashboard BFF, optimizing data retrieval processes for the Android application.

Configured an IP filter for the application to blacklist certain devices/locations, enhancing security and access control.

Worked on existing multi module Java project with MVVM Clean Code architecture.

Designed and programmed a feature to track vehicles outside of hub locations using geofencing, improving operational efficiency.

Integrated Soathree to add a user-friendly tray feature on the Electric Vehicle Trip Planner, enhancing user interaction by providing quick access to trip details.

Developed a feature to check feature flags that throttle data access based on location, effectively reducing server load during peak times.

Independently worked on Customise gradle tasks to generate diverse set of APKs based on customised build variants

Refactored parts of codebase to Kotlin like remove RxJava implementations with coroutines for asynchronous calls and include null safety checks with extension function

Test coroutines calls, leverage Dependency Injection and fake or mock to make code highly testable using Mockk and TDD techniques

Added WorkManager to project to periodically sync application data with a server and send logs, analytics to backend services.

Utilized Retrofit to consume RESTful APIs, facilitating seamless data exchange between the Android application and backend services.

Encrypted and decrypted the shared preference data with the Crypto Security Library from Android Jetpack

Maintained internal analytics SDK to post and keep track of the KPIs

Involved in continuous service improvement with proactive monitoring of app store reviews, AppCenter crashes (Firebase Crashlytics and Analytics), SDK updates

Worked on Dagger2 dependency injection to add bindings from known components, inject view models, manage modules, and provide test bindings

Add Accessibility Services like Switch Access, Talkback and use Accessibility Test Framework to test content labels, clickable items, contrast, voice access and user testing service

Worked on custom dialogs to make the app easier to understand

Implemented XML parser and JSON to retrieve data using Jackson library

Implemented TDD by creating unit tests for all development using Mockito and Espresso for testing.

Staples, Cambridge, MA May 2018 – Dec 2019

Sr. Android App Developer

App: https://play.google.com/store/apps/details?id=app.staples&hl=en

Participated in the full lifecycle development process from product definition through design, development, test, release, and maintenance.

Attended SCRUM meetings and met deadlines.

Understood requirements, implemented solutions, and provided administration tools and documentation.

Analyzed and determined the time and effort needed to perform a user story.

Utilized Confluence for project documentation.

Implemented MVVM architectural design pattern, transitioning code from MVP to MVVM.

Worked with source code interoperability, coding in both Java and Kotlin with development in Android Studio IDE.

Used RxKotlin in conjunction with RxAndroid, RxBinding libraries to make app multithreaded and perform asynchronous operations.

Integrated NuData SDK to manage data volume and send it to servers via header.

Fixed issues caused by large and variable-sized data by using Post.

Implemented analytics frameworks such as New Relic, Tune SDK, NuData, MParticle, and some like Facebook and Google Analytics via MParticle.

Created over 30 automation test cases with Robotium.

Created consistent, reusable code using compound views and custom views to produce features and functions which could be easily reused.

Created Compound views that were more attractive and efficiently designed.

Implemented new user-friendly view designs using ViewDragHelper.

Applied fragments to minimize the activity count and simplify navigation.

Built Activities using compound and customized views.

Designed the UI layout with Balsamiq Mockups wireframe tool for the apps look and feel

Supervised the creation of the unit, integration, and stress test cases with JUnit, Espresso, and Monkey runner.

Used JIRA for new requirements, issues, bug tracking, and project planning.

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

BMO Harris Bank, Chicago, Illinois May 2016 – Apr 2018

Android Mobile Developer

App: https://play.google.com/store/apps/details?id=com.bmoharris.digital&hl=en-US

Participated in the entire software development lifecycle from conception, through planning and to deployment to the Google Play store.

Engaged in architecture, and design using tools for information architecture, and wireframing.

Worked closely with UX designers to plan implementations that would deliver the best user experience.

Effectively communicated how development efforts fit with requirements and reasons for development decisions.

Effectively used Activities, Services, Broadcast Receivers, SQLite and preferences Android components.

Embedded local storage solutions such as SQLite.

Employed unit-test code for robustness, including edge cases, usability on the app project.

Enhanced Android user experience with the implementation of a customized Tab Navigation.

Enhanced the network module which communicated with the various back-end services.

Enhanced the module that communicates with the Java Web Services with Retrofit.

Enhanced the UI/UX with expertise of well-designed UX/UI and by adding custom views and compound views. Also collaborated with designers on the Android look and feel.

Enhanced the user experience by validating first the network state before calling a web service.

Ensured backward compatibility by using Android support libraries.

Ensured effectiveness of SCRUM related meetings (planning, retrospective) and discussions, assisted with project planning and ensured deadlines were met.

Ensured code was well-documented.

Ensured display and on-screen rotation worked well on all devices and screens, ensuring integrity with the on Save Instance State and on Restore Instance State methods.

Established communication with back-end server to consume Restful API using core Android classes.

CarMax, Parkway Richmond, VA Apr 2014 – Apr 2016

Android Mobile App Developer

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

Coded ‘car financing and make payments’ feature in Uncle Bob Clean code MVP architecture on data, presentation layer

Built networking module to filter cars by price, mileage, colors, transmission, and display in Recycler view(View Layer) using Retrofit, OkHTTP and executors.

Enabled Push Notifications backend services using the Amazon Pinpoint service to send instant price drop alerts when one of favourite listings changes price.

Saved the recent search using Realm Database library and replaced old SQLIte database.

Transformed one type of data to another, reduce map or expanded streams using RxJava operators and performed concurrent l HTTP requests using schedulers.

Pair-programmed to perform binary encoding and decoding of data using Google Protocol Buffers.

Followed TDD’s Red-Green-Refactor pattern to developer a new feature using Mockito unit testing for data layer and Espresso for UI View Layer.

Worked on securing the network traffic with Certificate Pinning to verify identity of the Host via SSL handshake along with AES encryption principle.

Enhanced Runtime Permissions to approve security permissions on a case-by-case basis at run time.

Upgraded to Google Play services SDK to access a range of APIs (Application Programming Interface) for building ads, collecting analytics, authenticating users, and integrating maps.

Integrated cwac-saferoom library and cwac-provider library for making files, resources, and assets available to other apps via a Content Provider.

Upgraded the login feature of the app by integrating to Fingerprint API.

Developed and produced functional solutions in accordance with architecture design standards and code standards.

Wrote and maintained existing unit tests (TDD) and helped drive forward BDD.

Nokia Wireless, Dallas, Tx Jan 2012 – Mar 2014

Android Developer

App: https://play.google.com/store/apps/details?id=com.nokia.fwa.nokiawireless&hl=en_IN

Developed in-house applications for Nokia using C# and SQL on the .NET platform, providing a solid foundation for backend functionality aligned with Nokia's business requirements.

Conducted rigorous quality testing of image data to ensure adherence to Nokia’s standards for data integrity.

Operated within an Agile development environment, collaborating closely with peer engineers to deliver a user-centric software experience that met Nokia’s product strategy and market demands.

Designed and implemented custom and compound views to meet Nokia’s UI/UX guidelines and implemented transitions to enhance user interaction.

Debugged and optimized the app’s navigation speed, integrated new sections, and improved existing functionalities to elevate the user experience.

Coordinated with Nokia’s testing teams to address feedback promptly, resolving issues and improving app stability and usability.

Collaborated with Nokia's software engineers on backend services, tracked project quality with JIRA, and actively contributed to requirements gathering to ensure alignment with Nokia's specifications.

Contributed to Nokia's UI/UX design by utilizing Custom Views, Fragments for navigation, and SharedPreferences and SQLite for secure data storage.

Transitioned Nokia’s Android project codebase from Eclipse to Android Studio in 2014, implementing MVC, MVP, and MVVM design patterns to enhance modularity and maintainability.

Identified and addressed memory leak issues, optimized power management, and performed Android performance profiling to ensure efficiency on Nokia devices.

Proposed and implemented a front-end architecture using the MVVM pattern to streamline development and improve code modularity.

Conducted code reviews to uphold Nokia’s coding standards and ensure the proper application of OOP principles.

Migrated RESTful API calls from Volley to Retrofit and RxJava, utilizing GSON for efficient JSON parsing, tailored to Nokia’s infrastructure.

Utilized Git and Hudson for continuous integration in Nokia’s TDD Agile environment, ensuring consistent and high-quality code deployments.

Managed inter-activity data serialization with Parcelable and streamlined HTTP request handling and JSON parsing, which improved data communication across Nokia’s apps.

Actively participated in Agile/Scrum activities, leading Agile sessions, removing development roadblocks, and fostering a productive team environment in alignment with Nokia’s project

Education

Bachelor's in Computer Science - Adelphi University



Contact this candidate