Post Job Free
Sign in

Senior Android Developer

Location:
Philadelphia, PA, 19019
Posted:
April 16, 2024

Contact this candidate

Resume:

MARK DAWES

Skilled Senior Android Developer with rich and qualitative experience in building, integrating, testing, and supporting Android applications with proficiency in Java and Kotlin programming languages.

267-***-****

ad41ng@r.postjobfree.com

PROFILE SUMMARY

•A result-oriented professional with 11+ years of extensive Global experience in Android SDKs, Android Studio, and Eclipse

•Expert in Kotlin and Java with experience in memory management and caching mechanisms specific to mobile devices and embedded systems

•Resourceful in managing projects from conceptualization, and visualization to technology mapping and final execution of projects

•Excel in designing adaptive UI components and widgets for Android devices with varying screen resolutions

•Expertise in implementing various architectural patterns such as MVC, MVP, CLEAN, and MVVM

•Worked with back-end teams to ensure effective connections and responsiveness in RESTful web service calls

•Expertise in mapping clients' business requirements & translating these requirements into functional specifications, custom designing solutions (process/product)

•Proven success in migrating applications to the latest Android JetPack components like ViewModel and Navigation Component

•Possess a deep understanding of mobile software lifecycle development practices and possess extensive experience with SQLite, Room DB, CoreData, and Firebase real-time databases for data persistence

•Proficient in tools like Git, GitHub, GitLab, SVN, SourceTree, and Gradle, ensuring smooth code management and collaboration

•Proven track record of leveraging analytics tools and integrating third-party libraries to enhance the functionality and user experience of Android applications

•Implemented cleaner interfaces and design changes using Android Material Design tools, resulting in enhanced user experience.

•Improved the performance and user experience of several modules of a local Content Management System

•Leveraged multithreading frameworks such as Work Manager, IntentServices, Handlers, Threads, Runnables, and Loopers to optimize application performance

•Strong background in business process analysis, data modeling, and ability to proactively identify and manage the mapping of requirements to business processes and the underlying data

CORE COMPETENCIES

Kotlin

JAVA

Linux OS

MySQL

MVP

MVVM

Unit Testing

Groovy

Coroutines

Junit4

Springboot

Google Cloud Messaging

TECHNICAL SKILLS

•Programming Languages: Java, Kotlin, XML, Groovy / DSL

•Android Development: Android SDK, Android Studio, Eclipse

•Architecture Patterns: MVC, MVP, MVVM, MVI

•Android JetPack: ViewModel, Navigation Component, Live Data, Camera X, BLE, HILT, Paging

•Memory Management and Caching: Room, Shared Preferences, Datastore

•RESTful Web Services: Effective connections and responsiveness

•Mobile App Database Frameworks: Firebase real-time database, ROOM, SQLite, Realm, OrmLite

•Mobile Software Lifecycle: Android Studio, Android NDK, API design, SDK architecture

•Code Management: Git, GitHub, GitLab, SVN, SourceTree

•Continuous Integration: Jenkins, GitLab, Circle CI, TeamCity

•Web Services: REST, HTTP-based, XML, SOAP, JSON, GraphQL

•Design Patterns: Singleton, Facade, Command, Builder, Integrator, Visitor, Proxy, Singleton

•Security: Shared Preferences, Cipher, Certificate Pinning, TrustManager, SQLCipher, KeyChain, Key Store

•Analytics Tools: Google Analytics, Localytics, Mixpanel, Answers, Flurry, Crashlytics, NewRelic, Firebase products

•Third-Party Libraries: Volley, Retrofit, Picasso, YouTube, Location API, Maps View, Google View, Google Maps, PayPal, Stripe, Android Pay, Google Wallet Payments, Android Annotations

•User Interface: Android Material Design, CardView, Toolbar, RecyclerView, animations properties, support libraries

•Performance Optimization: Improved performance and UX of modules

•Multithreading: AsyncTasks, IntentServices, Handlers, Threads, Runnables, Loopers

•Data Persistence: SQLite, Room DB, CoreData

WORK EXPERIENCE

Senior Mobile Engineer – Android

Philadelphia, PA

Comcast

Since October 2023

https://play.google.com/store/apps/details?id=com.xfinity.digitalhome HYPERLINK "https://play.google.com/store/apps/details?id=com.xfinity.digitalhome&hl=en&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.xfinity.digitalhome&hl=en&gl=US"hl=en HYPERLINK "https://play.google.com/store/apps/details?id=com.xfinity.digitalhome&hl=en&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.xfinity.digitalhome&hl=en&gl=US"gl=US

Improve your online journey with the versatile Xfinity app. Experience the potency of the Xfinity 10G Network at your fingertips. Seamlessly handle account management, bill payments, network enhancement, and elevate your overall interaction with the Xfinity app. All these benefits are available at no cost to Xfinity customers.

•Utilized MVVM architecture pattern, integrating both Jetpack Compose for UI and XML views for enhanced flexibility and maintainability.

•Implemented comprehensive testing strategies including unit testing, snapshot testing, integration testing, and end-to-end testing using Espresso, ensuring robustness and reliability of the application.

•Enforced SOLID and CLEAN principles throughout the development process to enhance code readability, maintainability, and scalability.

•Leveraged Dagger and HILT for dependency injection, while employing ANVIL, MockK, and Mockito for effective testing. Incorporated SIFT logging for streamlined debugging. Utilized Kotlin Redux, Retrofit, and KTOR for efficient API communication.

•Employed Coroutines and RxJava for asynchronous programming, coupled with Robolectric and OkHttp3 for seamless networking operations.

•Managed a team comprising 3 Android developers, 4 iOS developers, 3 QA engineers, along with a project manager and an engineering manager.

•Utilized Jira for project management, Confluence for collaboration, and Charles Proxy and Network Inspector for debugging. Integrated Sonarqube, GitHub Actions, and Jenkins for code quality assurance and continuous integration.

•Adhered to a 2-week sprint cycle, ensuring iterative development and timely delivery of features.

•Successfully migrated APIs from a GitHub Enterprise server repository, incorporating KTOR in place of Retrofit. Additionally, designed and implemented the '10g Explainer' widget to educate users about the Xfinity 10g network.

•Designed the Xfinity Assistant widget, enabling users to interact with an AI chatbot seamlessly within the application.

•Converted the Wi-Fi tab to MVVM architecture and integrated a novel framework, Velox (developed by Meta), for widget rendering. Created an alternate version of the Wi-Fi tab tailored specifically for prepaid 'Xfinity NOW' users.

•Redesigned the Wi-Fi tab of the Xfinity app, involving the migration of APIs spanning hundreds of files, without introducing any bugs, marking a substantial achievement in the project.

Senior Android Developer

Philadelphia, PA

Client: Lowe’s Company Inc.

Nov’21-Sep’2023

https://play.google.com/store/apps/details?id=com.lowes.android HYPERLINK "https://play.google.com/store/apps/details?id=com.lowes.android&hl=en_US&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.lowes.android&hl=en_US&gl=US"hl=en_US HYPERLINK "https://play.google.com/store/apps/details?id=com.lowes.android&hl=en_US&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.lowes.android&hl=en_US&gl=US"gl=US

The Lowe's Android app is your ultimate home improvement tool. Shop thousands of products, access weekly deals, find nearby stores, read customer reviews, and utilize custom widgets for easy shopping. With order history and digital receipts, it's your one-stop solution for all your DIY needs.

•Led the revamp of legacy code architecture from MVP (Model-View-Presenter) to MVVM (Model-View-ViewModel) using the JetPack Architectural lifecycle components, including ViewModel, Room, and Flows and resulted in improved code organization, separation of concerns, and maintainability

•Develop a new Login screen with Compose and gradually migrate UI components with material design 3 components, Hilt Dependency injection, and Figma

•Pair program to perform React Native migration of components to native components 2 sprints to code Android login component, Payment components and membership modules components

•Used Relay with components that contain variants in Figma and adding dynamic data to the component using content parameters and incorporated first Figma component into a Jetpack Compose app

•Coded security modules to send end encrypted user data with RSA/ESA asymmetric algorithm to backend and orchestrate API request to generate the token request

•Approve/reject pull requests and ensures the integrity of the codebase and the adherence of established coding standards and implement detekt library which checks for lints

•Orchestrated multiple async operations to regular suspend functions using Koltin corotuines Flow API

•Performed code reviews on the work of other team members

•Utilized Swagger for API call verification and maintenance allowing seamless integration and ensuring API contract adherence, promoting consistency and reliability in network communication

•Design common networking payment module for iOS using Kotlin Multiplatform with Ktor, SQLDelight, Kotlin serialisation libraries

•Modularized the existing customer payment authentication flow and integrated/implemented an additional external SDK which helps authenticate customer's payment details

•Integrate Lottie animation library for Loading an Animation, download animations from the network, Dynamic playback speed and manually set progress to hook up an animation to a gesture

•Created custom views for the interface to improve the user experience

•Conducted interviews and meetings with stakeholders and test users

•Used GIT for source control management and continuous integration with Travis for CI.

•Used Navigation Drawer and Tabs to provide easy navigation of the Android interface

•Perform automated UI Accessibility checks of a certain type, such as those that check for touch target size, evaluate a particular UI element, Content labeling, Low contrast and suppress subsets of results.

Senior Android Mobile App Developer

Kroger (remote)

Aug’20-Nov’21

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

The Kroger app offers a faster, more rewarding shopping experience. Users can shop online, access digital coupons, refill prescriptions, check fuel points, and find nearby stores. It's a convenient way to save time and money with personalized offers and exclusive promotions.

•Work on Apollo Kotlin (formerly Apollo Android) GraphQL client to generate Kotlin and Java models from GraphQL queries, executes queries and mutations against a GraphQL server and return results as query specific Kotlin types in clean code architecture implementation.

•Work on the authenticated services (post-login) such as Edit User Profile, and Get Card Details, had to be onboarded via a networking security library (proprietary) and point the app to new (protected) endpoints which were accessed through methods provided by the library, forgoing the need for retrofit at that stage. This required me to create a sound structure where the two networking packages didn’t conflict with each other.

•Developed innovative and impactful features for Android applications using Java and Kotlin to deliver high-quality solutions that met or exceeded client expectations.

•Optimized application performance by refactoring existing Java code to Kotlin and improved code readability and maintainability.

•Worked on animations in the applications like view animations, frame animations, tween animations, etc.

•Collaborated on ItemsCart feature to selectable collect items from user preference to prepare payment process one and initialize purchase process.

•Convert webviews components to native app implementation.

•Use Firebase Realtime Database for data synchronization and Firebase Remote Config to update configuration values in Product Fragment and User Account Fragment

•Use Android X Roboelectric to test fragment using FragmentScenario Util and test ViewModels using the buildViewModel function to create a new ViewModel for each test.

•Integrated Stripe Purchases SDK to unlock access to the same subscription content.

•Followed Agile methodology for implementing the Application.

•Embedded Google Maps API, and GPS Location Data into the app with zooming controls.

•Maintained code quality by actively participating in code and design reviews.

•Analyze multiple user interface platforms and consulted with clients.

•Execute maintenance procedures (user interface, errors with inputs, debugging, publishing) apps.

•Successfully deployed an app on the Android App Store and supported the app for multiple Android OS releases.

•Injected essential app code protections and threat detection sensors into CI/CD cycle after code development, without disrupting the DevOps process.

Android Application Developer

Berkshire Hathaway, Omaha Nebraska

Jul’19-Aug’20

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

With the Berkshire Hathaway Travel Prot, filing a travel insurance claim is quick and easy. Now you can check claim status and choose fast, secure claims reimbursement methods right form the app. This app also initiates an electronic First Notice of Loss and selects specific travellers and flights on our claim.

•Collaborated in the design and development of user interaction functionality, facilitating communication between the user and the server through RESTful web services and JSON parsing.

•Implemented the Android application in Eclipse, utilizing the MVP (Model-View-Presenter) architecture for improved code organization and separation of concerns.

•Incorporated design patterns such as Singleton and Decorator to enhance the application's structure and maintainability.

•Integrated third-party libraries like Mix Panel and Flurry analytics to gather valuable insights and track user behavior.

•Upgraded the JSON parsing mechanism from Volley to Retrofit, resulting in faster and more efficient parsing of JSON data.

•Utilized the Otto Library to establish seamless communication and decoupling between different parts of the Android application.

•Introduced Broadcast Receiver logic to listen for events that trigger local database updates in Android mobile applications.

•Improved image loading performance by utilizing libraries like Nostra universal image loading and Picasso for optimized image loading and caching.

•Integrated the Facebook API within the application, enabling seamless integration with Facebook's social media platform.

•Utilized continuous integration tools such as Jenkins and Travis CI for automated builds and testing processes, ensuring a streamlined development workflow.

•Performed Android performance profiling, focusing on memory and power management optimizations to enhance overall application efficiency.

Android Application Developer

DSV Air & Sea Inc., Clark, NJ

May’17-Jul’19

https://play.google.com/store/apps/details?id=com.dsv.mobileplatform.dsvdriver HYPERLINK "https://play.google.com/store/apps/details?id=com.dsv.mobileplatform.dsvdriver&hl=en&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.dsv.mobileplatform.dsvdriver&hl=en&gl=US"hl=en HYPERLINK "https://play.google.com/store/apps/details?id=com.dsv.mobileplatform.dsvdriver&hl=en&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.dsv.mobileplatform.dsvdriver&hl=en&gl=US"gl=US

Welcome to our game-changing transportation and shipment management app! Designed for DSV drivers, it streamlines operations and simplifies Proof of Delivery (PoD) management. Embrace efficiency and seamless logistics with our user-friendly solution.

•Developed customized Android-based software solutions for supply chain operations, with a focus on warehouse staff applications.

•Refactored large of codebase to Kotlin like remove RxJava implementations with coroutines for asynchronous calls, include Koin dependency injection and include null safety checks with extension functions in login, network modules

•Utilized Kotlin and Java for Android app development, ensuring timely delivery of robust solutions.

•Led the development of the DSV Driver application, handling both front-end and back-end tasks for seamless functionality.

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

•Included Knox Standard SDK to provide comprehensive management of mobile devices and Knox ISV SDK to check for device rooting and enable Sensitive Data Protection

•Performed Encryption key discovery and API manipulation, reverse engineering, debugging, and code tampering using Arxan SDK

•Employed SQLite database for effective data management, providing a smooth user experience for warehouse operations.

•Collaborated with teams to create an Android application for warehouse inventory tracking.

•Integrated barcode scanning functionality using ZXing library, improving inventory management accuracy and efficiency.

•Implemented push notification functionality using Firebase Cloud Messaging, enabling real-time updates for warehouse operations.

•Successfully migrated legacy applications to the latest Android SDK versions, leveraging new features and enhancements.

•Followed agile development methodologies for efficient project delivery, including sprint planning and daily stand-ups.

Android Developer

Copart, Dallas, TX

Sep’15-May’17

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

The Copart Mobile App offers a wide selection of 250,000+ vehicles, including cars, trucks, SUVs, and more. Basic and Premier Members can easily bid and win vehicles from any mobile device, participate in insurance auto auctions, and access essential features like vehicle recommendations and history reports. Whether you're a Copart Member or new to the platform, it's your hassle-free solution for online auto auctions.

•Implemented financing and online payment features in the MVVM architecture, focusing on the data and presentation layers.

•Developed a networking module using Retrofit, OkHTTP, and Executors to filter cars based on price, mileage, colors, and transmission, and displayed the results in a RecyclerView on the View layer.

•Integrated Amazon Pinpoint service to enable push notifications, delivering instant price drop alerts to users when their favorite listings changed price.

•Create a signup flow and improved app performance, check memory leaks, OOM exceptions and perform static code analysis.

•Utilized the Realm Database library to save recent searches, replacing the SQLite database.

•Optimized stream operations using RxJava operators, reducing, mapping, and expanding data efficiently.

•Implemented concurrent HTTP requests using schedulers.

•Collaborated in pair programming to perform binary encoding and decoding of data using Google Protocol Buffers.

•Followed the TDD (Test-Driven Development) Red-Green-Refactor pattern, employing Mockito for unit testing on the data layer and Espresso for UI View layer testing.

•Implemented various Kotlin libraries such as RxKotlin, Kotlin-kapt, and Android KTX to enhance development efficiency.

•Implemented network traffic security through Certificate Pinning, verifying the identity of the Host via SSL handshake, and applying AES encryption principles.

•Enhanced runtime permissions to grant security permissions on a case-by-case basis at runtime.

•Upgraded to the latest Google Play services SDK, gaining access to a wide range of APIs for building ads, collecting analytics, authenticating users, and integrating maps.

•Integrated biometric library to enhance the login feature of the app, providing additional security measures.

•Supported the design, development, testing, and implementation of new updates and support applications.

Android App Developer

Cencora Inc., Conshohocken, Pennsylvania, United States

Jan’13-Sep’15

https://play.google.com/store/apps/details?id=com.mwiah.mobile HYPERLINK "https://play.google.com/store/apps/details?id=com.mwiah.mobile&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.mwiah.mobile&gl=US"gl=US

Cencora, Inc., formerly known as AmerisourceBergen, is an American drug wholesale company that was formed by the merger of Bergen Brunswig and AmeriSource in 2001

•Worked on an Agile dev team and participated in scrum events, planning and estimation meetings, sprints, and retrospectives.

•Architected the app using Data Binding Library to bind UI components to data sources using a declarative format rather than programmatically.

•Created Schedulers mock using Rx Java Test Scheduler in unit tests and triggered Test Scheduler to drive function behaves as expected.

•Persisted cookie store and saved cookies into the app's Shared Preferences.

•Utilized Rx PS and Rx Java Priority Scheduler library in a Reactive environment to parse multiple streams of data concurrently.

•Created/configured a real-time database system and generated custom analytics reporting system using the Firebase library.

•Programmed a custom remainder feature to identify unknown pills by colour and shape features.

•Established effective front-end and back-end communication through RESTful services.

•Exposed data via a Content Provider using Room to access contacts and gallery.

•Implemented beta test coverage, distributed beta versions, collect live crash reports, and gathered feedback from real users using Hockey App.

•Made asynchronous HTTP requests and handled responses in anonymous callbacks and multi-part file uploads with Android Asynchronous Http Client library.

•Conducted integration testing with the Robolectric framework and behavioural testing with the Robotium framework.

•Collaborated with product designers with a focus on new feature design and prototyping.

EDUCATION

Bachelor of Science (Computer Science)

Montclair State University, Montclair, NJ



Contact this candidate