Post Job Free

Resume

Sign in

Android Mobile Developer

Location:
New York, NY
Posted:
June 04, 2021

Contact this candidate

Resume:

JEFFREY ZACAL G:admw47@r.postjobfree.com P: 646-***-****

Android Mobile Developer

13+ years’ experience in Android Development

* ********* ****

SUMMARY

A sound understanding of HTTP and REST-style web services.

Real world OO design experience and knowledge of design patterns, combined with an ability to convey design information succinctly using suitable tools (UML, BPMN).

Experience with network programming and consuming third-party APIs.

Experience evaluating and integrating 3rd party APIs, including SDKs for social networks, advertising, and analytics.

Knowledge of NoSQL datastores (MarkLogic, MongoDB, Datastax, Apache Cassandra, Redis, etc.).

Designed the schema for and deployed SQL and MySQL servers.

Managed the decision-making process of critical situations, with different variables taken into account.

Understanding of Android's concurrency models including the design of long running services.

Comfortable with version control tools such as GitHub and SVN.

Expertise in the implementation of persistent data for mobile devices applications, web-based databases and use of the cloud.

Work with elements of Kotlin Flow such as coroutines to interact with databases and networking operations in repository layer in Clean code architecture.

Refactor MVP in a MVVM architecture in presentation layer with a repository, fragment, ViewModel, Work Manager, Navigation components, Paging Jetpack components.

Apply sound mobile security practices such as Obfuscation, Encryption, SSL, Certification Pinning, Tokens.

Use Mockk library to Mock a call that uses coroutines, capture and replay an argument, perform integration test cases using Robolectric and generate global coverage report using JaCoCo plugin.

Mastery of the Android development and hardware ecosystem, from devices to the Play Store.

Experience developing highly efficient Java code and view layouts and the ability to diagnose performance bottleneck.

Ability to debug and fix complex issues.

Build new features to enhance the UX for consumers.

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

Worked with an internal QA team on system, performance, and acceptance testing.

Effectively communicate coding solutions and articulate the reasons for your decisions.

Self-motivated and proactive with demonstrated creative and critical thinking capabilities

Experience with messaging related technologies like GCM, SMS, MMS, XMPP, SMTP.

Guide decisions on architecture and technical strategy.

Good knowledge OS fundamentals with the ability to apply it in the context of modern operating systems (Linux, OS X, Windows Server 2008/2012).

Solid background in OOP and knowledge of software design patterns/best practices.

Supervised the production of new screens that followed Material Design guidelines.

Mentored Junior Developers to fulfill goals and have a constant development growth.

Follow the best practices for requirement gathering, design documentation, code review, testing, and defect fixing.

Implemented Dependency Injection frameworks to optimize the unit testing and mocking processes (Dagger, ButterKnife, RoboGuice).

Strong knowledge in Android multithreading frameworks: AsyncTaks, IntentServices, Handlers, Threads, Runnables, Loopers.

Strong knowledge in Agile development environments, having a SCRUM Master role in multiple meetings.

Use of the Android frameworks to load data asynchronously like Loaders and SyncAdapters.

Capable of analyzing complicated architectures and layouts and translating that analysis into efficient technical strategies and code.

Continuously delivered a complete analysis regarding problems on the client’s side, having in mind various factors like deadlines, budget, scope, and risks.

Understand the importance of implementing a user-friendly and pleasing user interface.

Experienced working with third-party app tracking libraries

Experienced integrating Mobile applications with web-based content via Web Services.

ANDROID:

Dependency Injection, Push Notifications, SyncAdapters, ProgressBar, Glide, Git, Mockito,

Loopers, Libphonenumber, SSL, Retrofit, uiautomator, Gradle, Parceler, GSON, Dagger, Subversion, Espresso, Kickflip, FloatingActionButton, Jenkins, SonarQube. Mockk

Android Studio, REST, RecyclerView Animator, Support Libraries, Clean Code Architecture, Multi-Window, Cordova, Material Dialogs, Maven, MVP, Volley, Parse, Moshi, GPS, Robotium, Google Analytics, Realm, RxJava, EventBus, Loaders, Samsung MVVM, Bluetooth Low Energy, Material Design, Google Places, JobScheduler, SDK, JUnit, RoboGuice, Firebase, OkHTTP, Volley, Nougat, LeakCanary, JIRA, Google Cloud Messaging, ExoPlayer, Fragments, MediaPlayer, Mixpanel, OpenBank, Roboelectric

PROGRAMMING LANGUAGES:

Kotlin, C++, Java, JavaScript, Servlets, Applets, JQuery, PHP, HTML, HTML5, CSS,SQL, PL/SQL (Oracle), ABAP, SAP, Microsoft Visual Basic.

OPERATING SYSTEMS:

Linux: Ubuntu, Mandriva, Mandriva Server, Ubuntu Server, Asteriks on Ubuntu.

UNIX: Solaris, Solaris 10 (server).

Windows: XP/Vista/7, Windows 2003/2008server.

Mac: Leopard X.

PROFESSIONAL ANDROID DEVELOPMENT WORK

Lead Android Developer

Bloomberg, New York, NY

June 2018 – Present

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

The Bloomberg app provides comprehensive access to global business, stock market and finance news, and trending topics like bitcoin and cryptocurrency. You can customize the app to monitor your personal portfolio and receive continuous alerts on global stock positions and summarized financial, economic, and corporate information that meets the needs of the global business and financial professional.

Responsibilities:

Implementing Android Architecture lifecycle aware components and use LiveData to build data objects that notify views when the underlying database changes.

Programming in Kotlin supported by RESTful services.

Programming in Java supported by RESTful services.

Designing/developing apps using API/SDK and business embedded logic to achieve mobile app’s desired functionality.

Applying Android JetPack components such as Room, LiveView and LiveData.

Participating in software design, estimation of development tasks, testing, QA process, pair programming, troubleshooting and code debugging.

Downloading initial settings data using RESTFul WS and posting values to API server.

Implementing TDD using Mockito and Espresso testing tools to test uses cases in business and abstract layer of the architecture.

Creating Custom Views for Scrolling, Customised items, Customised label, Event listeners.

Applying Apache Commons Codec software to provide implementation of common encoders and decoders such as Base64, Hex, Phonetic and URLs.

Configuring a new Android wear application using Node API and Watch Viewstub UI.

Applying Kanban and Scrum using Target process management software.

Replacing SQLIte with Realm database.

Mentoring a junior developer.

Senior Android Architect/Engineer

Excentus Corp., Dallas, TX

March 2017 – June 2018

https://play.google.com/store/apps/details?id=com.excentus.frn.android&hl=es

The app is a digital punch card for fuel rewards. I was brought onto the project to give the app a new look and feel, and to provide support. I created a new framework that translates JSON to IOS and Android. The design was complex and the pattern was hybrid. Also, the app was originally based on the MVC architectural pattern and there was no documentation on the old design to facilitate my investigation of the app.

Upgraded the new app based on new Android Versions.

Developed new features based on requirements and information gathered in meetings with stakeholders about needs and feedback.

Used JIRA for tracking of stories, epics and tasks, as well as managing the backlog and tracking issues and bug fixes.

Participated in and helped facilitate and document Agile Sprint Planning sessions.

Worked closely with UI/UX designers in design sessions, and then implemented new designs per specifications.

Programmed in Kotlin supported by RESTful services.

Programmed in Java supported by RESTful services.

Designed/developed apps using API/SDK and business embedded logic to achieve mobile app’s desired functionality.

Provided support for the new app which included performing crash testing and diagnostics.

New implementations developed to provide new features in accordance with the specifications provided.

Designed new custom views as part of the whole new look and feel.

Consumed RESTful web services to communicate with back-end sources, working with Retrofit, and custom framework that translated JSON objects.

Provided QA support for testing teams to ensure continuous improvement.

Created custom libraries to facilitate new frameworks.

Followed architecture plans and layout diagrams to implement new interface look and feel which afforded improved user experience, functionality, and performance.

Suggested and implemented Improvements to the testing processes, combining Unit Testing with Junit with Automated Testing using Espresso and Robotium.

I was able to optimize the development process to make the best use of our tight deadlines by speeding up execution through procedures.

The new technology in the market will be deployed based on this new framework.

Bar code implementation managed using XZing.

Implemented methods for linking and unlinking credit cards.

Implemented analytics using Firebase analytics framework.

Upgraded app UI views from ListViews to RecyclerViews.

Implemented Esteto framework for tracking web services and storage in real time.

Used MAT to search for memory leaks.

Implemented Google Maps Custom Views for fuel locations.

Designed the architecture for the JSON object to Android translation framework.

Senior Android Developer

NBC NEWS, SEATTLE, WA

February 2016 – June 2018

https://play.google.com/store/apps/details?id=com.zumobi.msnbc

Using the NBC News app gives you breaking news, the latest headlines and live 24-hour news when you need it. Get in-depth coverage of US news and world news with exclusive reporting, analysis, and perspectives from award-winning journalists. Watch live video and livestream events in politics, national news, and international news. Enjoy your favorite NBC News and MSNBC programs all in one place.

Coded using ReactiveX programming to compose asynchronous and event-based programs, avoided intricate stateful programs, using clean input/output functions over observable streams

Wrote test cases using JUnit /Mockito testing frameworks for model and ViewModel layer

Collaborated in refactoring architecture from MVP to MVVM.

Implemented LiveData lifecycle observable to communication layer between View and ViewModel

Refactored views to utilize constraint layout to make the UI more responsive to different screen sizes and resolutions

Converted the data model, API communication service layer and view UI layer to Kotlin programming language and JetPack library

Implemented data classes to replace Java Pojo classes

Used the Data Binding Library to support two-way data binding to receive data changes to a property and listen to user updates to that property at the same time

Created custom and compound views and replaced Relative Layouts with Constraint Layout to follow Material Design to show Breaking News and live video alerts data returned after parsing

Worked with external client to incorporate FreeWheel SDK and Nielsen proprietary measurement SDK for monetization features. Also imported the assets correctly through Invisio and Zeppelin web platforms

Improved live video playback performance and fixed some display issues with the widget within the application

Pair-programed to use Urban Airship SDK to incorporate messaging and content delivery tools, including Push Notifications, Rich Media Messaging, In-App Purchase and Subscriptions

Streamed favorite NBC News and MSNBC shows using ExoPlayer MediaPlayer API for adaptive playback, media composition and caching

Senior Android Developer

DirecTV Now

Los Angeles, CA

April 2014 – February 2016

https://www.amazon.com/AT-T-Services-Inc-DIRECTV/dp/B073PLVJ1P

https://play.google.com/store/apps/details?id=com.att.mobile.dfw

DIRECTV NOW is your NEW standalone streaming service for Live TV and On Demand entertainment. Enjoy local news, sports, events, and shows as they air. Your favorite TV series and movies can be accessed anywhere, anytime. DFW (Don’t Fight Web) is a supporting DIRECTV App where the user can download the app and enjoy a variety of entertainment. Using this App, the user can watch Live TV, catch up on the latest movies, TV Shows on demand, and schedule recordings on their DVR. The user can use Mobile devices, Tablets, FireTV, Apple TV to pause, play and rewind a program in progress.

Implemented the app in Android Studio working in pairs, using a pair programming methodology.

Responsible for supporting the development of the feature/functionality of the app.

This included retrieving, saving and updating the playlist i.e., DVR (Dynamic Video Recording) to and fro from the cloud for mobile, tablet and Fire TV.

Used Volley for back-end network calls and SQLite Database for caching.

Developed unit test cases for functional testing of the Android app.

Used Android Studio for Android app development, and Junit and Mockito to write unit test cases.

Created the UI for the CDVR (Cloud DVR) recordings for DVR, tablet and FireTV using RecyclerView, TextView, and custom views from Android Framework.

Created code fixes for the defects working in pair programming and merged the changed to the code base after quality testing unit and functional tests using Test-Driven Development (TDD) and Continuous Integration on Jenkins server, merging the code using Git version control tool.

Made enhancements to DVR recordings.

Enhanced navigation to detail page (Common Info) so that when the recording title is clicked, the user can see a description of the recorded content.

Enhanced the playing of the content so that when user taps on the recording image (one touch play)

Enhancement that enabled user to click “Work” on the record series options to record the entire series from Common Info/ Video Player by using EventBus which triggers the network calls.

Participated in cross-functional team meetings, contributing with exchange of information among the teams for better and robust quality software products.

The team used HipChat for team communication and Confluence for documentation purposes.

For work tracking purposes and for development of related tickets and acceptance criteria the team used JIRA and Kanban boards.

The team used Agile Scrum as our development methodology.

Used Google Location API to access the user’s current location.

Used Dagger for Dependency Injection, and Android Binding for two-way binding.

Based development of the Android application on MVVM architectural pattern.

Used Jenkins for continuous integration and continuous delivery.

Used Leanback Library’s Widgets (VerticalGridView, ControlBar,TitleView)in developing the UI for TV.

Senior Android Developer

CASH APP, SAN FRANCISCO, CA

March 2011 – April 2014

https://play.google.com/store/apps/details?id=com.squareup.cash&hl=en

The Cash App mobile app is a secure instant money transfer application. The application allows users to send and receive money, as well as make payments online. The app can also connect to the user’s bank account or chosen credit card(s).

Participated in application planning, architecture, and design

Executed Android performance tuning and crash reporting applications.

Implemented Android services to synchronize the latest news, getting them from RESTful web services.

Attended SCRUM meetings to track app development progress.

Developed rich application layouts following Material Design.

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

Implemented EventBus to facilitate the communication between processes in the Android app.

Supervised the creation of testing suites developed with Espresso and Mockito.

Added push notification features with Firebase Cloud Messaging for Android.

Consumed REST API to display user history on the user interface.

Developed test cases using Junit and tested the User Interface using Espresso.

Implemented dependency injection using Dagger2 for object references.

Followed Test-Driven Development (TDD) approach while developing the application.

Identified issues by root cause analysis during test cycles.

Mentored Product and QA team on the nuances of Android devices.

Diagnosed and fix bugs that cause unintended product behavior.

Designed URIs needed to access and modify the exported Content Provider data.

Created Material Design layouts with different animations optimized for the ultimate User Experience.

Maintained high unit test coverage and continuous integration principles.

Android Engineer.

Ookla, Seattle, WA

February 2009 – March 2011

https://play.google.com/store/apps/details?id=org.zwanoo.android.speedtest

Use Speedtest® by Ookla® for an easy, one-tap connection internet performance and speed test —— accurate anywhere thanks to our massive global server network. Explore mobile network coverage maps based on real-world data gathered by the Speedtest app.

Worked on an Android team of six developers.

Participated in planning meetings for the app and the overall system.

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

Prototyped two candidate activities to facilitate decision making regarding features and flow to be implemented in the new module.

Made a distinction between development and production versions of the app each with their distinct credentials and settings in the backend using Urban Airship.

Implemented services running in the background for processing in different activities.

Implemented binding services from activities and the use of communication with services using Java threading for background processes and sync adapters.

Performed/managed code reviews.

Consumed web services to display user history on the user interface.

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

Configured relational databases (Oracle, MS SQL Server, MySQL, PostgreSQL, etc.).

Gathered requirements and generated detailed technical documentation.

Used Itext to generate pdf files from a controller.

Configured the Mobile Back-End services using a Firebase instance building the database and setting the code cloud.

Tracked incident reports with JIRA

Implemented animations based on the Material Design guidelines like rotation, fading and translation.

Used navigation drawer to provide quick and easy access to the menu items.

Usage of core Android resources like Fragments, Styles, Themes, 9-Patch Images.

Implemented new custom views to replace old ones from the previous version.

Supervised the task reporting of all the team members.

Used Picasso to display images obtained from URL

Mobile Developer

American Express

New York, NY

June 2008 – February 2009

https://play.google.com/store/apps/details?id=com.americanexpress.android.acctsvcs.us

Access your American Express® account from virtually anywhere with the American Express® App. Take advantage of what your U.S. Personal, Small Business, and Corporate accounts have to offer: Track spending and rewards, find offers, pay your bill, add your card to your mobile wallet, and enjoy features available only in the app.

Worked in Eclipse to add functional improvements, review code, and debug code.

Implemented changes to UI/UX design as presented in wireframes from the design team.

Used the Support Libraries from different API levels for backward compatibility.

Improved the UI with custom views and icons for navigation.

Incorporated tab navigation over the application using the View Pager Indicator third party library.

Parsed JSON files with Google GSON.

Attended daily Scrum meetings and worked in two-week Sprints.

Contributed to test planning and test design for the application after each Sprint.

Wrote Unit Tests and ensured that all code commits were bug-free.

Created scenario tests and tracked results in JIRA.

Used Jenkins for Continuous Integration with Git as the code repository.

Implemented the “start activity for result” flow, for multiple features within the application.

Devised creative, technical solutions to resolve performance bottlenecks.

Added encrypted environment configuration with sessions and user login using SharedPreferences.

Estimated time and effort needed to perform a user story for UX design on the Android mobile app.

Added Push Notifications with Urban Airship.

Contributed to code reviews and assisted in documentation and Sprint planning.

Leveraged core Android resources like Fragments, Styles, Themes, 9-Patch Images.

Added services and AsyncTasks to download PDF files without freezing the UI.

Applied multi-tier web architectures, OO design patterns, and concepts to the app development.

Used Crashlytics to troubleshoot issues, utilizing crash reporting to isolate root causes.

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

EDUCATION

BACHELOR OF SCIENCE IN COMPUTER SCIENCE from UNIVERSITY OF SAN CARLOS (Philippines)



Contact this candidate