Ham Abbad Senior Android Developer
Anytime Fitness - Android Mobile App Developer
April 2020 – Present
Fragment, creating individual ViewModels.
Worked with remote peers managing work schedules and time zones and used Android Keychain to secure this information
Followed a modified form of material design guidelines set by internal standards
Used Dagger, Retrofit, Robolectric, Picasso and other third-party libraries.
Use Kotlin as the main code language for the Android application.
Executed Android Architecture Components to improve the user experience. This includes LiveData, ViewModel, and Room as the SQLite database to cache the Android app data.
Customized the UI by introducing custom views
Built Android app using MVVM architecture with a ViewModel inside every Activity and
Part of Agile methodology taking part in a sprint is held every 2 weeks.
Member of the Android team of 3 to 5 Android developers.
Target - Android Mobile App Developer
Sept 2018 – March 2020
Collaborated with backend and development team to develop an Android app that interacts smoothly with remote content and web services.
Communicated with RESTful web services to obtain information using Retrofit, OkHTTP and Jackson.
Closely worked with a testing team and used developer testing tools like Robotium in Android.
Cleaned up code to make it more efficient, scalable, reusable, consistent, and managed the code base with Git and Jenkins for continuous integration.
Attended SCRUM meetings, track progress of the sprints and was responsible for task planning.
Employed a test driven development methodology.
Created asynchronous operations using multiple strategies: AsyncTask, Handlers, Loopers, Intent Services, and Loaders for Android.
Created Compound views for a more attractive and efficient design.
Created custom and compound views to preserve the general look and feel specified by the client.
Created custom animation and transitions to improve the user experience following the Android material design principles.
Created innovative solutions in media streaming and mobile user experience by implementing the MediaPlayer and VideoView.
Created multiple scripts in the Gradle file for test automation, reporting, signing and deployment.
FedEx Office - Android Mobile App Developer
February 2017 – Aug 2018
Involved in all phases of software development lifecycle from planning to launch.
Contributed to app planning, architecture and design.
Helped prepare the implementation plan.
Worked in a small team of developers using Agile methodology and Scrum practices. Participated in Scrum meetings. Acted as Scrum master.
Organized and tracked tasks in JIRA.
Managed project backlog.
Set up a separate private Git repository.
Wrote unit and instrumentation tests using JUnit, Mockito and Espresso.
Offered several design elements that added great value to the application and improved UX while attaining to Google’s design guidelines.
Contributed value to a cross-functional engineering teams (back-end development, front-end development, UI/UX designers, QA, Product Management, etc.).
Applied Crashlytics for productive bugs detection and app crashes reporting to better refine the Android app.
Configured APIs to consume web services for integration with various repositories using Retrofit.
Integrated the PayPal Android SDK for making payments through the Android app.
Collaborated with Software Engineers for the design and development of back-end services.
American Airlines - Android Mobile App Developer
December 2015 – Jan 2017
Fort Worth, TX
Joined the effort to make major improvements and add features to the app to improve user experience.
Used Subversion repositories to have the software in a version control environment.
Employed TDD/BDD and Agile methodologies.
Implemented the user interface by using Compound View, Custom View, ListView, View Pager and Tab Layout.
Worked with Urban Airship for push notifications.
Tuned components for high performance and scalability using techniques such as caching, code optimization, and efficient memory management.
Use of Implicit Intents, ListViews, ActionBar tabs with Fragments.
Applied fragments to minimize the activity count and simplify the navigation.
Tested the application on various devices and emulators to determine compatibility.
Design and develop functionality between user’s interaction and delegating it back to the server using RESTful web services and JSON parsing.
Ability to deal with ambiguity, and willingness to help debug difficult issues.
Developed enhancements and improvements to the current Application.
Used the Android tool ecosystem for development, testing, debugging, and performance benchmarking.
Configured a Flurry account to retrieve analytics information from every device installation.
Designed and developed the Android app as simple as possible for quick user adoption.
Accessed internal file storage to save different configurations of the application.
The passing of data was made using bundles and serialized information among different activities.
Used the Dalvik Debug Monitor Server (DDMS) for debugging and testing.
Worked with the testing team and used developer testing tools like Robolectric.
Collaborated with the product team to identify, prioritize, and document detailed product requirements.
Used SQLite database schema to persistent data from users
Cox Auto Inc - Android Mobile App Developer
May 2014 – Nov 2015
Contributed with several projects across the organization. Worked on a team of 15 members including 4 QA, 6 android developers and 5 iOS developers
SnapLot/DigitalLot: Interactive inventory management app for used car dealers to better keep track of the vehicles they have on their lots. Vehicles can be added using the camera to scan the VIN of the car to auto populate the data. Other features include a 360 camera for both interior and exterior views of the vehicle
Provision/Stockwave: Another way to help manage inventory but also search for vehicles to buy and add to their lots. These apps have a few additional features that include pricing strategies for each vehicle based on mileage, vehicle condition, CarFax information, and even searching for ongoing auctions and vehicle locations at each auction for more opportunities to get vehicles to turn a profit on
Helped create new features/overhaul existing code to meet current standards of android development. Aided the team to help them bring quality products to consumers
Participated on code reviews strategies to ensure and stablish best practices and enforces code quality for new developers and Jr Developers across several projects
Implemented Material design to new activities/dialogs to keep the applications up to date with common android practices
Refactored code base to apply new architecture design patterns that follows best practices for Android applications
Worked closely with QA department to ensure uses cases scenarios completes on time
Migrated content provider to updated room databases
Closely worked with UI/UX designers to apply custom views and depending uses cases inflate programmatically views/layouts based on API responses
Integrated and consume firebase push notifications and hold a live database view
Collected information from Crashlytics to track crashes and fix bugs before they’re officially reported
Integrated several design patterns like DI with the implementation of Dagger framework
Implemented dependency injection to decouple the relationships in classes with dagger
Contributed with language localization using string resources Wrote scripts to aid in code generation/gather strings for translations
Debugged and tracked backend functionality with several team piers
Debugged API requests/responses through the Charles web proxy
Worked with Architecture components from Android Jetpack library like Room databases
CouchSurfing - Android Mobile App Developer
Feb 2013 – April 2014
San Francisco, CA
Methodology: Agile, continuous Integration with scrum
Divided the application into at least three different layers and take most of logic out from the activities so that we can test it without using instrumentation tests in MVP architecture
Provided migration from RxJava1.0 to RxJava 2.0 using Flowable, Disposable, Schedulers, Bi-functions, operators and other functions
Configured MixPanel with Firebase API to send push notifications, record events and stored User Profiles
Used Retrofit2, okhttp library to refine service layer and display local hosts offering a place to stay and fun events data in material designed Recyclerview
Independently worked and optimized on the feature `Easily create and manage a Couchsurfing profile’
Incorporated PhotoView imageView library to perform zooming, multi-touch, double-tap and update UI based on the current zoom/scroll position
Performed instrumentation/UI testing, simulated any kind of user interaction, and assert what happens after some kind of user interaction
Improved Payment module to allow consumers to pay via credit card, debit using Stripe and Braintree SDK
Pair programmed to implement 128-bit encryption to protect customer data in transit and on device using Java Cryptography Architecture and Android Crypto API
Created paid version product flavour and build variants for paid customers to expose advance features
Macy’s Star Gifts – Jr. Android Mobile App Developer
Mar 2011 – Jan 2013
San Francisco, CA
Worked with the Android SDK and implemented Android Bluetooth and Location Connectivity components.
Involved in implementing AsyncTask for background operations to reduce the load on the main thread.
Implemented a common interface for the application making it compatible with a desktop, web or mobile.
Worked on the navigation view to display the user profile and respond to user interaction and updating the server if views are changed
Worked on menu items to have smooth transition while creating respective activities and fragments
Implemented collapsing tool bar in a drawer layout to collapse the image on scrolling up
Worked on animations in the applications like view animations.
Used Android Studio to develop the screens for the application using MVC design pattern.
Constructed basic views and page designs based on the XML that was being parsed
Worked on innovative background reflecting the user account status that changes according to user's account.
Implemented SQLite database
Regular interaction of RESTful API design calls to populate the UI on the app using GET, PUT, POST and DELETE.
Worked on implementing content providers to store application related data in content providers and querying data using Async Task.
Designed the database model in SQLite.
Worked on local data storage using shared-preferences
Associate of Arts Degree, Valencia College, Kissimmee Florida
Bachelor's Degree in Computer Science, University of Central Florida, Orlando Florida