Energetic and highly motivated Android Senior Developer with 6+ years of experience building rich native Android application. Expertise working as a stand - alone developer. Hands-on experience developing stable, reliable and backward compatible Android mobile applications. Highly experienced in implementing rich applications and state-of-the-art practices on native Android SDK.
Confidential, New York, NY
Senior Android Developer
- Proposed and Productively set an asynchronous stand up meetings for the offshore team.
- Liaised as a Point of Contact for offshore team and helped them to resolve and remove any blockers and provide them enough intel from testers and designers.
- Refactored several Asynctask and Bus event third party tool with Coroutines and RxAndroid.
- Contributed with translation to Spanish and Japanese version in the app using translations editor.
- Created qualifiers to modify layout definition according to locale of the device.
- Implemented crash report system, detecting common exceptions inside of the app and create a on the flight email reporting when an exception occurs.
- Collaborated with federated authentication system using the most popular app in the market like Facebook and Google Apis.
- Connected with Urban Airship to define push notifications when a new channel or PPV event.
- Customized Exoplayer and refactored from previous VideoView custom implementation.
- Refactored background operations in the form of foreground services and define custom schedules with Workmanager.
- Enforced the implementation of MVVM design pattern along with databinding and ViewModel architecture components.
- Refactored LiveData observable pattern to exploit the coroutines suspended operations.
- Created match reminder inside of the application using coroutines with foreground services.
- Created notify your friends feature using a default content provider and discover accounts registered in base of numbers and emails.
- Implemented customizable permissions and in-device discovery to increase the privacy of sensitive data from the user.
- Defined an incremental strategy to require sensitive runtime permissions like using default content providers and WiFi connection with DVR system.
- Worked in a TDD and pair programming approach, rotating roles between sprint cycles and playing part of Approval Team to enforce quality code.
- Defining BLE connection between DVR system and device user depending on the package acquired by the user.
- Defined several flavors on app release according to business profitable grades using the same code and limit features depending on the package acquired by the user.
- 5 applications published in Google Play Store.
- Successfully translated applications to native Spanish and Japanese language.
- Guided decisions on architecture and technical strategy in mobile app and Android development.
- Passionate implementing and exploring top and experimental technologies in the mobile environment.
Confidential, Irving, Texas
Senior Android Developer
- Worked closely with a TDD environment implementing several unit testing and instrumented test.
- Defined utility classes for easy to test functionality like account details, account authentication and several validations steps.
- Created static implementation to overcome limitation on mocking libraries, defined spy objects for better testing implementation.
- Refactored several class implementations for easing the testability across the application.
- Analyzed app components for implementation of dependency inversion libraries.
- Defined components, modules and scopes for dependency library in the entire application.
- Increased the testability of the app with the use of Dagger2 library.
- Defined reactive subjects to create producers inside of implementation of observable objects.
- Utilized RxJava and MVVM architectural pattern, with various design patterns such as Abstract Factory, Builder, Observer, and Singleton.
- Used Android Device Monitor for monitoring CPU load, heap size, and memory usage.
- Efficient and clean code integration and backup using Jenkins for continuous integration with Git for version control repository.
- Collaborated with quality assurance testers to make incremental improvements.
- Developed update patches, modules and components to mitigate security risks using AES encryption and Keystore.
- Worked along with UI/UX design team to implement new look and feel in the application.
- Used design tools like Zeplin and Sketch for easy to follow new look and feel for the visual upgrade across the application.
- Defined animations, transitions and motions layouts accordingly to UI requirements.
- Debugged several endpoints closely with backend developers for fast integration with several custom SDK for fetching user data.
- Defined security strategy with certificate pinning for preventing attacks of man in the middle.
- Integrated Paypal sdk for flexibility for non-Citi accounts service.
- Used RelInker library to call native C/C++ functions.
- Created different version product flavours to support different level accounts customization.
- Implemented Material Design components along with predictable animations like Swipe to delete and long press animations, making more user-friendly the application.
- Created future and suspended functions for making more responsible and efficient the application.
- Elaborated proper data structures for easy implementation MPAndroidChart for detailed portfolio visibility.
- Created CustomViews with Custom attributes to handle visibility of the login feature to reveal the password with transformation method.
- Created custom PDF viewer for several reports from portfolio accounts with PDFview and Imageview implementation.
- Established AES encryption for linked accounts feature.
- Defined token lifetime with proper strategy for continuously ask renewing account authentication.
- Implemented Barcode Api and removing Zxing library implementation.
Confidential, Portland, Oregon
Senior/Lead Android Developer
- Defined language translation for all the application.
- Created qualifiers on several layouts to implement master detail flow.
- Defined specific resource folders with the current language identifier and monitoring all the proper translation to Spanish.
- Removed hard coded string references inside of xml layouts.
- Defined placeholder on English words references and avoid translation reference for the Spanish version of the app.
- Helped to define pixel perfect layouts along with Material design implementation components, like Tablayouts, Botton Navigation, Card View and Recyclerview.
- Implemented AnyChart third party library on "Measure Yourself" feature and tracking progress updates with real time databases.
- Contributed on the implementation for Firebase library.
- Refactored and removed GCM implementation on push notification base options in the entire application.
- Created multiple Notification channels to support user preferences on groups notifications.
- Defined Workmanager along with Job Schedulers to create schedule-base notifications for personal goals inside of the app.
- Refactored users personal account to identify goals and track performance history.
- Refactored Asynctask and Volley libraries with Retrofit and RX implementation calls.
- Removed several callbacks with Rx Java and Rx Android implementation.
- Fully implemented MVVM architecture design pattern from previous MVP implementation.
- Tracked bugs fixes with Crashlytics tools in Firebase and have a constant bugs and crash reduction in the application.
- Implemented Room DB and refactored previous SqlLite Open helper implementation.
- Mentored and documented new Architecture Components from Android Jetpack lifecycle aware components.
- Reduced app size with the implementation of ViewModel components and removing old presenter-view implementation.
- Defined Prove of Concept of TDD methodology, created documentation and mentored lead developers from other teams to follow the Red-Green-Refactor strategy.
- Explored the Kotlin language for coming features in the application.
- Designed and developed functionality between user interactions and delegated back to the server using RESTful web services and JSON parsing.
Confidential, Dallas, TX
Senior Android Developer
- Created a proper documentation on existing endpoints and Utility Classes to ease the on-boarding process.
- Elaborated a test for possible candidates to join to the IT team.
- Used management tools like jaCoco and crucible for approving Pull Request on a git fashion version control system.
- Used Jackson library for parsing JSON files coming from web services.
- Used Leak Canary to manage, trace and fix memory leaks issue within the Android app.
- Established a standard for PR for the entire AN team request following best practices in the market like SOLID principles.
- Refactored multiple callbacks in the form of Asynctask with RX extensions.
- Implemented RX Java and RX Android and facilitated the learning curve to this technologies for Jr developers.
- Debugged trip cost closely with backend teams and refactored endpoints to eliminate recursive and duplicated trips on users accounts.
- Implemented Android KeyStore to consolidate security in app.
- Preventing attacks of man-in-the-middle with storing a local public certificate used to identify interaction between client and server.
- Increased security in local Sqlite databases with SQLCipher encryption and decryption.
- Defined deep links with account details and third party implementation.
- Debugged interaction with third party application like Uber at the moment of requesting ride inside of the application.
- Debugged runtime permissions for fine location in LG devices.
- Configured Urban Airship third party service with push notifications in app to deliver friendly message about trip details.
- Schedule trip notifications with Alert Manager and Job Schedulers to notify the user about incoming trips.
- Refactored UI layouts and implemented Constraint Layouts with Coordinator layouts along with chains and guidelines.
- Refactored timer in app for a shorter time at the moment of activating new tickets from the user.
- Debugged several errors on barcode implementation.
Confidential, San Francisco, CA
- Implemented BLE pairing with customize headset for special video audio material.
- Created out of the box Exoplayer customization and branding to follow the principles for the company.
- Implemented media sessions and debugging audio issues on LG devices when playing audio files material.
- Creating settings support in the form of Preference Fragment.
- Designed and developed a new login system to control multiple users into the same device.
- Configured SQLite database to control user access and hold progress in course material.
- Participate in several meetings to define the look and feel with the new Layout implementation.
- Implemented Tab layouts, to visualize multi-layouts and increase the attraction from the students.
- Handled the lifecycle of the fragments and creating headless fragment strategy to fast load course data.
- Designed and collaborated with UI/UX team for the new branding in the application using new UI components from Material Design.
- Customized ripple effect on the button for the look and feel design.
- Created navigation and refactoring static fragments with Fragment Transaction and handling the backstack for a better experience.
- Defined multiple View Holders for in app communication.
- Refactored fragments with RecyclerViews so can handle different types of incoming and outgoing messages.
- Added a DrawerLayout to handle external and constant menu items related to the app's current Activity and extra features.
- Maintain 100% code coverage by including JUNIT test cases for written code
- Simplified the usage of threading by implementing RxJava for most of our asynchronous processes.
Confidential, San Francisco, CA
Jr Android Developer
- Joined an ongoing app as a Jr Android developer. Being part of a 5 AN developers, 5 iOS developers, 4 testers and 5 backend developers.
- Implemented SQLite implementation and upgrades strategies to user configuration security (PIN) as part of the Create New Document feature.
- Contributed with design and implementation of Accounts tables and User table following the normalization best practices.
- Debugged along with backend developers’ new endpoints to generate paths from file server and in corporate the linking process of documents inside of the app.
- Formalized links to avoid meta problems configurations.
- Ensure application is backwards compatible and provides a quality experience on all common OS/device combinations
- Configured long running services to trigger time out sessions for users.
- Implemented persistence of data before a retry session is in place.
- Enforced permission access to saving documents internally and externally.
- Created background operations in the form of Asynctask operations to perform users’ details in documents.
- Use SharedPreference to contain user customization preferences, like current location, saving data transaction for the user.
- Prove of Concept for Content providers with a third party application to visualize documents outside of the application.
- Completed the implementation for federated login inside of the app.
- Established the use of instance handlers for Java threading separated from the user's interface thread.
- Created cloud connection with REST client calls, GSON and OkHTTP.
- Implemented secure data encryption using an SQLCipher instance.
- Collaborated with UI/UX designers to develop a user-friendly application.
- Decoupling our Main UI thread with background tasks and download music files using DownloadManager.
Confidential, Miami, Fl
Web Developer/Android Jr Developer
- Designed, developed, and update responsive Websites for small businesses.
- Provided guidelines for branding strategy for small businesses.
- Created a marketing scoped strategy for companies to initialize and increase the digital marketing on their business.
- Running meetings with entrepreneurs to consolidate ideas and landing on real opportunities that reflect on profitable solutions.
- Created portfolio solutions including branding, web presence and mobile presence.
- Refactored React implementation to Android native components like TextViews, ListViews, Spinners.
- Refactored ViewManager with Custom Views that extend functionality and keeps the branding look and feel for the client.
- Implemented support for tablets on Jelly Bean android version.
- Right to left implementation for our clients application on Asia market, improved the readability and friendly ease to use application.
- Implemented language support on applications, specially focus on Japanese language.
- Use of GIT for source control management and continuous integration with Jenkins.
- Proven abilities to work closely and effectively with engineering and non-engineering teams.
- Used Android Studio, Java, AsyncTasks, Google Maps, RESTful, JSON, SQLite, Servlets, Tomcat, MySQL, SVN, 9Patch.