Post Job Free

Resume

Sign in

Android Developer

Location:
Tappahannock, VA, 22560
Posted:
August 22, 2023

Contact this candidate

Resume:

James Henry Haisten

Senior Android Application Developer

Phone: 941-***-****; Email: ady4kc@r.postjobfree.com

Profile Overview

•13+ years developing Android applications.

•9 Android apps published on Play Store: 8 currently active.

•Skilled in requirement gathering and analyzing technical documentation.

•Solid background in Android User Interface (UI), Android SDK, Google Material Design, and architectural and design patterns in Android development such as MVC, MVP, MVVM, dependency injection, and more.

•Work well with stakeholders and my team.

•Knowledge of the latest Material Design guidelines, including animations and User Experience optimization.

•Experience troubleshooting back-end communications, in-app functionalities, and 3rd-party frameworks.

•Proven ability in prototyping and profiling Android applications.

•Experience with Android performance profiling, memory, and power management, including optimizations.

•Ability to manage competing priorities in an Android development environment while maintaining high productivity.

•Considerable experience debugging and profiling Android applications, writing unit tests using JUnit, and tracking in JIRA.

•Experienced in code merges, builds, deployments, and ensuring Android mobile app stability.

•Able to architect, design, develop, and test Android mobile applications from scratch.

•Able to maintain high unit test coverage and continuous integration principles in Android mobile development.

Technologies

Programming Languages: Kotlin, Java, C#, C++, Functional Programming, Object Oriented

Programming (OOP)

Version Control: Git, SVN, GitHub, GitLab

Databases: SQL, MySQL, Room DB, SQLite

IDE: Eclipse, Android Studio, Arduino, IntelliJ, PyCharm, WebStorm

Cloud Platforms: Firebase Console

Design Patterns: MVC, Singleton, MVP, MVVM, Builder, Factory, Façade, Publishers/Subscribers, Observer Pattern

RESTful API: REST, JSON

Testing: Unit Testing, TDD, TestFlight, CXTest, Instrumentation testing, Functional testing, Stress testing.

Android Development: Handlers, RecyclerView Animator, Material Design, EventBus, Content Resolvers, Bluetooth Low Energy, RxJava, GPS, GreenDAO, Volley, Multi-Window, Cipher, Services, Mixpanel, Jackson, REST, Glide, GSON, animations, Fragments, Firebase, Jetpack, Firebase Cloud Messaging, MVP, Espresso, Eclipse, Location Services, JIRA, Android Studio, Loaders, WorkManager, Git, Retrolambda, Urban Airship, Retrofit, ProgressBar, Push Notifications, NFC, LeakCanary, AsyncTask, Dagger, Samsung SDK, Certificate Pinning, Jenkins, PushBots, Dependency Injection

Professional Experience

Senior Mobile Application Developer

Expedia, Punta Gorda, FL

Apr 2022 – Present

https://play.google.com/store/apps/details?id=com.expedia.bookings HYPERLINK "https://play.google.com/store/apps/details?id=com.expedia.bookings&hl=en_IN&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.expedia.bookings&hl=en_IN&gl=US"hl=en_IN HYPERLINK "https://play.google.com/store/apps/details?id=com.expedia.bookings&hl=en_IN&gl=US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.expedia.bookings&hl=en_IN&gl=US"gl=US

•Develop a Kotlin library to handle communication with a chatbot.

•Create a UI for the chatbot using Server Driven UI principles and in-house libraries of Jetpack Compose components.

•Queried GraphQL endpoints using Apollo Studio.

•Converted (Transcribed) code from JavaScript and Swift to Kotlin.

•Developing solutions and writing code using Android Studio to resolve the issues in the project.

•Implemented a speech-to-text activity using Google's Speech Recognizer.

•Implemented Credit Card Number masking using Luhn's algorithm and Regex.

•Implemented a manager class for connecting with and interacting with the Ably Realtime messaging platform.

•Collaborating with UX/UI designers to design and create user interfaces that are functional, visually appealing, and easy to use.

•Implementing best practices in user interface design, including accessibility, usability, and user experience.

•Writing efficient, scalable, and maintainable code.

•Investigating solutions to problems and documenting findings, including the pros and cons of each solution by researching potential solutions.

•Analyzing logs to identify issues and errors in the project and fixing issues & errors in the code.

•Implementing shared components of JetpackCompose that are proprietary to the company, creating and maintaining reusable components that are specific to the company's product or service.

•Ran Lint checks and Kover on code before committing.

•Documenting code changes, project progress, and any other relevant information in Confluence.

•Sharing knowledge and experience with team members to improve their understanding of Kotlin, Android Studio, and best practices.

•Creating and maintaining a Logger object that logs project events to Splunk.

•Ensuring that the Logger object is efficient, scalable, and easy to use.

•Refactoring sections of code to improve the performance and maintainability of the project.

•Ensuring that the code is easy to understand, modify, and extend.

•Conducting manual testing of code by creating runnable main programs in IDEs and observing console output.

•Developed manual tests using the IDE and observed the console output to ensure that the code is functioning as expected.

•Conducting manual testing of code using Android test apps running on emulators, physical devices, and via Browser Stack.

•Writing automated tests using frameworks like Espresso or Robolectric to ensure that the code works across different devices and configurations and using Browser Stack, a cloud-based testing platform, to test the code on a variety of devices and browsers.

•Collaborating with other teams to ensure that project requirements are met and providing regular updates on project progress, challenges, and solutions.

•Creating and maintaining Jira Stories and subtasks to manage project tasks.

•Ensuring that the tasks are clearly defined, prioritized, and assigned to the appropriate team members

Senior Android Application Developer

Beachbody, Santa Monica, CA (performed work remotely)

Mar 2021 – Mar 2022

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

•Member of cross-functional/cross-platform team which included Android, iOS, Web, and API) that combined technical development on a health and fitness app that allows users to watch workout and nutrition videos.

•Worked on Android technical development with a focus on re-designing and adding new features to the BODi section of the FireTV app (BODi is a section of the app with scheduled live and prerecorded classes. A core element of this feature is BODCast which allows users to turn on their cameras and be seen on the live screen. Users can track the progress of their fitness goals and interact with other users in group messaging).

•Programmed in Kotlin with MVVM architecture.

•Employed Android Studio IDE.

•Used Slack and Zoom as team communications tools.

•Implemented several libraries for Kotlin efforts such as RxKotlin, Kotlin-kapt, and Android KTX.

•UsedRxKotlin in conjunction with RxAndroid, and RxBinding libraries to make the app multithreaded and perform asynchronous operations.

•ReplacedRxJava implementation with Kotlin coroutines and dispatchers to make asynchronous Network requests, JSON parsing, reading or writing from a database

•Worked closely with Product and Design.

•Attended daily SCRUM DSU and Dev Sync meetings.

•Implemented analytics for new features using an existing Tealium framework.

•Worked with GraphQL queries using Altair and Apollo.

•Worked with Algolia search implementations.

•Received tasks through JIRA tickets utilizing the Fibonacci pointing system.

•Communicated with multiple teams using Slack.

•Worked with testers and provided assistance writing Functional, Unit, and Instrument tests using Mockito and Espresso.

•Created Pull Requests and performed code reviews on GitHub.

•Used Curl and Postman to check API responses and create test users.

•Worked with Feed.fm API implementation.

•Attended scheduled and impromptu meetings via Zoom.

•Worked with teammates around the world.

•Utilized Charles proxy to analyze network communications for FireTv and Android devices.

•Implemented Bluetooth Kit and Bluetooth Low Energy (BLW) to manage the connection with the device.

•Implemented and debugged dynamic and complex views.

•Layered and arranged images and icons in dynamic and complex views.

•Worked with RecyclerViews to display list data effectively and with custom adapters.

•Worked with overlays and dialogs stacked on the video player requiring changes on the screen of focus to update the other views in real-time.

Senior Android Developer

Aetna Health, Denver, CO

Aug 2020 – Mar 2021

https://play.google.com/store/apps/details?id=com.aetna.aetnahealt HYPERLINK "https://play.google.com/store/apps/details?id=com.aetna.aetnahealth"h

•Worked in Android Studio and coded the Android app using Java and Kotlin.

•Extensively used Dagger 2 for dependency injection and RxJava for high performance with multithreading.

•Architected the app with MVVM architectural patterns, and various design patterns such as Abstract Factory, Builder, façade, and other behavioral patterns as well.

•Implemented LiveData using the observer pattern to provide data to the UI.

•Implemented inline input validations and custom error messages natively in Android.

•Implemented the new fingerprint login library, which was provided by our vendor Acceptto.

•Attended design meetings to review UI/UX flows for the new TouchID (fingerprint login) library

•Redesigned the splash screen flow; signup/ login items are now separate from the splash screen logic.

•Assisted web with automatic/ manual QA, and helped QA write Cucumber/ Ruby tests for web as well as for Android.

•Designed the UI enabling fingerprint registration to the user account and displaying the confirmation "enrollment success" screen.

•Trained a new Android dev concerning the TouchID stories I worked on.

•Collected defect information for future sprints and concerning the library from Acceptto.

•Used Timber for error handling and logging. Used Leak Canary and AppBoy, but all the logs were added to tech debit which was never touched.

•Filtered Bluetooth devices by device name.

•Filtered Bluetooth devices by a software set manufacturer data to filter our own devices only.

•Appium and SauceLabs are used for UI/UX tests.

•Use of Regex for Java and Cucumber/ Ruby.

•The project team used Rally for storyboards.

•Rubymines are used to aid in the development of making/ debugging tests.

Senior Android Developer

Norton, Culver City, CA

Oct 2019 – Jul 2020

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

•Search and implementation of possible areas of improvement to deliver better production in Android app development.

•Translated features from Java to Kotlin.

•Implemented new features in MVVM and refactored older features from MVP to MVVM.

•Mentored three junior programmers familiarizing them with our Android App structure and codebase.

•Implemented LiveData in the application as well as MediatorLiveData.

•Followed development/design standards and best practices in Android app development.

•Applied creative and critical thinking capabilities to Android app development.

•Programmed the locale to support different languages in the Android app.

•Used Code management using Git and Bitbucket for various parts of this Android project.

•Contributed to a team of engineers in cross-functional teams (including QA, Product Management, etc.).

•Identified issues during the Android test cycles.

•Developed custom components for graphic interface to improve the user experience.

•Used native Android and third-party technologies to optimize the app functionality including, Material Design, Firebase Cloud Messaging, Espresso, JUnit, SQLite, Glide, Shared Preferences, Java, MixPanel, EventBus, Travis., and RxJava.

•Assisted the Android team meetings for designing the graphic User Interface & implementation of the app, according to Android Design Guidelines.

•Used restful calls in the app to gather information.

•Built and delivered a highly scalable and maintainable Android application.

•Experience using Source Control (Git,).

Senior Android Developer

Fidelity Investments

Smithfield, RI

Apr 2018 –Sep 2019

https://play.google.com/store/apps/details?id=com.fidelity.wi.activity

•Worked in Android Studio IDE for application development with Java and Kotlin coding and added new features in Kotlin as well as transitioned Java arrays to Kotlin.

•Used ConstraintLayout for to support multiple form factors.

•Refactored code to change a previous MVP implementation to an MVVM design pattern.

•Implemented asynchronous communication with back-end services using RxJava and Retrofit to call RESTful web services and to manage threading working with the backend team on connectivity.

•Used SharedPreferences to store custom key-value pairs.

•Utilized JUnit and Mockito to write test cases, and tested with Robolectric, as well as automated testing with Espresso.

•Applied design patternsFactory, Builder, Publisher/Subscriber, andObserver.

•Implemented Firebase Analytics, Firebase Crash Reporting, and FirebaseRealtime Database to extend the functionality of the app.

•Used Git code repository and version control for Android code base.

•Created branches and merged code with Gradle.

•Implemented JetPack Download Manager services for downloading large files such as multimedia (images, video, audio), and resources.

•Implemented the cipher method for the storage of sensitive data such as passwords within the Android application.

•Used Parcelable to serialize Java objects from Activity to Activity in android.

•Implemented Google Messaging services for Push Notifications.

•Self-motivated, productive, and works well even with/without a formal structure.

•Utilized Android and third-party frameworks to use the multithreading capabilities of the physical devices: AsyncTasks, IntentServices, Handlers, Threads, and RxJava instances.

•Designed/developed an app using API/SDK and business-embedded logic to achieve the mobile app's desired functionality.

Android Developer

JCPenney, Plano, TX

Oct 2016 –Mar 2018

https://play.google.com/store/apps/details?id=com.jcp HYPERLINK "https://play.google.com/store/apps/details?id=com.jcp&hl=en_US"& HYPERLINK "https://play.google.com/store/apps/details?id=com.jcp&hl=en_US"hl=en_U HYPERLINK "https://play.google.com/store/apps/details?id=com.jcp&hl=en_US"S

•Performed test builds using Jenkins continuous integration server.

•Managed the Android code repository based on Git/Stash.

•Implemented returns for Adobe Analytics.

•Notification Center Redesign.

•Used Urban Airship to receive notifications with bundles.

•Used Picasso to load images from URL sources found within a JSON string.

•Used a Swipe Layout within a Recycler View.

•Customized the Action Bar and Menu using different modes.

•Designed a tooltip message popup that displays after a defined amount of time if conditions are met.

•Created AB testing utility for Apptimize.

•Created a custom TextView for collapsing/expanding text.

•Created a message filer that suppresses old-format messages.

•Designed icon layout with dynamic elements.

•Synchrony Financial Integration into Payment methods views for Client Cards.

•Retrieved callback objects to define layouts and populate information.

•Used EventBus to pass information between several elements within the project.

•Initialized Runtime Permission request based on end-user responses.

•Dynamically controlled ViewPager based on end-user responses and process progression.

•Implemented multi-layered drawable vectors.

•Created switch using Google Tag Manager.

•Implemented dynamic landing fragment based on the network connection.

•Implemented a custom Arc Progress bar with animations.

•Used Async http request/responses to retrieve information needed to populate views.

•Wrote custom utility classes for data presentation and formatting.

•Implemented ViewPager for multi-fragment layout.

•Implemented views based on information provided by responses.

•Change views based on real-time responses from the user.

•SQLite Database was used for local storage of user info.

•Shared Preferences are created and implemented to store default values.

•Animations are implemented based on changes in activities and fragments.

Android App Developer

3D Robotics, Berkeley, CA

Jan 2015 –Sep 2016

App no longer supported.

•Used Espresso & Mockito for testing the UI & App functionalities.

•Used native and third-party technologies to optimize the app functionality including Android Studio, Java, Android Wear, Crashlytics, TestFairy, Espresso, Picasso, Custom Views, Facebook API, Twitter API, Google Maps API, SQLite, Dronekit-Android, Dagger, ButterKnife.

•Created new general views for different Fragments used on the application.

•Shrank and secured the code of the application with ProGuard.

•Solid background in Android UI, Android SDK, and Android design patterns.

•Refactored and redesigned multiple modules for reusability purposes.

•Used Google GSON to parse JSON files.

•Maintained technical documentation of each project.

•Handled fragment data retention to ensure data integrity during on-screen rotation with the set Retain Instance method.

•Consulted on the technologies being used.

•Improved the user experience by modifying the app navigation, replacing activities for Fragments when possible, and adding tabs and navigation drawers.

•Used Fabric Crashlytics for real-time bug and crash reporting.

•Developed enhancements and improvements to the current Application.

•Worked in a team of 10 members with 4 Android developers on-site and 2 offshore, in an Agile/Scrum environment.

•Established the use of instance handlers for Java threading separated from the user's interface thread.

•Simplified the usage of threading by implementing RxJava for most of our asynchronous processes.

•Familiarity with agile/iterative development methodologies (XP, SCRUM, etc.).

•Experience with network programming and consuming third-party APIs.

•Used GitHub private repositories with standard workflows as a version control software.

•Implemented an internal library to manage the process of logging responses from the Web Service.

•Utilized Native Development Kit (NDK) libraries.

Android Developer

DTE Energy, Detroit Michigan

Feb 2013 – Nov 2014

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

•Local persistence of data using SQLite and shared preferences.

•Applied Crashlytics to bugs and app crash reporting.

•Implemented HTTP client (GET, POST, DELETE, PUT) to consume RESTful web services.

•Utilized SVN as a source control management system.

•Contributed to the technical documentation for multiple corporate applications.

•Guide the Product and QA team on the nuances of Android devices.

•Implemented an Android service to synchronize the latest news from RESTful web services.

•Used the View Pager Indicator to provide feedback to the user about the background processing status.

•Reskinned the entire app implementing the Material Design specification.

•Used APIs from different API levels to support backward compatibility.

•Acted as project coordinator by meeting with stakeholders, external teams, and product managers. Good at asking the right questions and providing feedback to stakeholders. I also helped break down tasks and create workflow plans.

•Experience in architectural pattern design & implementation.

•Created report on possibilities created by the introduction of Android Jellybean: Improved Wi-Fi, Nested Fragments, Open GL.

•Worked on migrating the existing Nine Old Androids library to modern Android SDK with property animations.

•Conducted frequent code review activities with the members of the development team.

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

•Designed the architecture for the app following proven design patterns such as MVC and SOA.

•Used Git as the source control tool to manage the application development.

•Implemented Otto library for decoupling different parts of the application.

•Designed the application with an MVP approach, setting up all the interfaces and decoupling the classes.

•Used Crashlytics to track user behavior and obtain mobile analytics.

•Participated in the full lifecycle development process from product definition.

•Researched, tested, and implemented new techniques, frameworks, and utilities.

•Automated payment integration using Google Wallet and PayPal API.

•Created small testing instances with Android Wear and Android Auto.

•Added Android wear compatibility for actions and notifications.

•Implemented a Navigation Drawer for quick access to different activities and a better User Experience.

Android Developer

Loren Cook Company, Springfield, MO

Engineering Cookbook

Oct 2010 – Jan 2013

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

•Wrote Javadoc to document the different modules, hardware & software features.

•Managed code review sessions to always have high-quality (reusable, simple, documented) code.

•Implemented Google Analytics for app analytics proposes.

•Great understanding of when to let the team work through a problem and when to help them.

•Added value encryption in SharedPreferences using AES 128 with the Secure-preferences Library.

•Implemented the RESTful data consumption using Retrofit with an OkHTTP client, a GSON converter, and a custom interceptor.

•Interfaced with multiple web services SOAP and RESTFul from data providers.

•Implemented RadaeePDF SDK Android for reading, viewing, and modifying PDF files.

•Planned and conducted the requirement gathering sessions

•Implemented Push Notifications to notify the users when there is a new price update.

•Used ButterKnife for view dependency injection.

•Introduced Fragments for the first time to this app based on the new navigation specification.

•Proposed a front-end architecture using the Model View View Model design pattern.

•Mentored Junior Android Developers during the development cycle and process.

•Implemented a Content Provider with an SQLite database as a cache with Schematic.

•Implemented Flurry analytics for mobile app stats.

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

•Implemented the User Interface with a TabLayout and a ViewPager, using multiple Fragments.

•Added Localytics for in-app behavior tracking and usage, including location, gender, preferences, and interests.

•Developed the back-end services with Java technology including Servlets, Tomcat, etc.

Academic Credentials

Bachelor's degree, Technology Management, State College of Florida

Associate, Computer Programming and Analysis, State College of Florida

Associate, Fine/Studio Arts, General, State College of Florida



Contact this candidate