Post Job Free
Sign in

Nelson Martinez-Mojica - Senior Android Developer

Location:
New York, NY
Posted:
March 23, 2023

Contact this candidate

Resume:

Programming languages

Java, Kotlin, JavaScript, C, C++, C#, HTML5

IDE

Android studio, Eclipse, Visual Studio, NotePad++

RESTful Web services

Retrofit, RxJava, Volley, OkHTTP, REST, SOAP, JSON, GSON, XML

Threading

Event Bus, Intent Services,

Handlers, Loopers, Loaders

AsyncTask, Kotlin Coroutines

Architecture Patterns

MVC, MVP, MVVM

Design Patterns

Singleton, Builder, Decorator, Dependency Injection, Façade, visitor, Proxy, Mediator, Interpreter, Command

Project Tools

JIRA, Kanban, Confluence, Trello, Slack

Repository/Versioning

Git, GitHub, GitLab, Bit Bucket, sourceTree

Continuous Integration

Jenkins, Travis, Hudson

Database

SQLite, Firebase, Realm, MongoDB

JetPack Components

Room, VIewModels, LiveData, Download Manager

Leadership

Work closely with Project Manager, Product Manager, and Stakeholders to ensure the app mirrors the vision, successfully driving corporate strategy.

Work with cross-functional teams such as networking, Front-End Design and Stakeholder to ensure excellence in app performance and user experience.

Mentor developers on best practices, Material Design and in code Reviews to ensure high quality standards.

Ensure an efficient development process though use of development methods, standards and workflow, keeping sprints and projects on-track.

Programming Languages

Skilled coding new Android mobile apps from scratch as well as refactoring, transitioning and revising existing apps.

Demonstrated skill in Android mobile app IDE coding in Java and Kotlin.

Experience converting Java arrays to mutable and immutable lists to reduce code overhead and provide consistency.

Experience refactoring Java code to Kotlin, eliminating null pointer exceptions.

Experience implementing new features in Kotlin.

Back-End Communication

Expérience applying Retrofit and GSON to retrieve information from an internally programmed API and make the conversion between the JSON and POJOs using Gson Covertor with Retrofit.

Used RxJava to handle the responses from the web services.

Used sync adapters to load changed data from server and to send modified data to server from app.

Worked with GSON and Jackson library to parse JSON files on the Android project.

Used intent services and Retrofit with OkHTTP3 to handle calls and processed JSON objects with GSON converter.

UI/UX Front-End Development

Generated a Material Design ready code-base including views in the design support library.

Use of a variety of views: CardViews, RecyclerViews,

Implementation of Snackbars, Floating Action Buttons, Custom views, Navigation Drawer

Implemented LRU Cache to increase the performance of ListView scrolling.

Developing UI for both landscape and portrait Screen orientations using qualifiers.

Frameworks and Libraries

Use of Android JetPack for Data Binding to communicate between ViewModels and UI components.

Implemented JetPack LiveData to display most current data locally available.

Simplified database back-end using JetPack Room Database.

Use of Reactive-X RxJava and RxAndroid.

UX Design

Google Material Design, TextViews, WebViews, Navigation Drawer, Floating Action Button, Widgets, Compound View, Custom View, RecyclerView, View Pager and Tab Layout, Fragments

Work Experience

September 2021 – Present

Sr. Android Developer

Footlocker

Manhattan, NY

Mobile App:

Champs Sports:

https://play.google.com/store/apps/details?id=com.champssports.champssports&gl=US

Eastbay: https://play.google.com/store/apps/details?id=com.eastbay.eastbay&gl=US

FootLocker: https://play.google.com/store/apps/details?id=com.footlocker.approved&gl=US

FootLocker Canada:

https://play.google.com/store/apps/details?id=com.footlocker.canada&gl=US

FootLocker Europe:

https://play.google.com/store/apps/details?id=com.footlocker.europe.uk&gl=US

FootLocker: https://play.google.com/store/apps/details?id=com.footlocker.kids&gl=US

(The applications were designed to allow for the browsing and purchase of the products for their respective stores. The user may browse the selection of items, filter by need, such as filtering Men’s wear, or by brands such as Nike or Timberland. Users can also, make reservations for new products online, before they reach the shelves. Another option was that the users could chose to have the purchased item sent to them from the store, purchase the item in the app and pick it up in a store of their choice. One challenge was that I entered the project just as they were in the large undertaking of adding the Release Calendar feature while overhauling the UI for the Fragments into View Binding. Another challenge adapting to the large number of modules the app used due to its MVP design pattern)

Technology Used: Android Studio, Jira, Firebase, SCRUM, AppCenter, MVP, Model, Presenter, TextView, EditView, Bottom Sheet Navigation, Retrofit2, Activity, Fragment, RecyclerViewAdapter, Airship, Card.IO, Pay.Cards, Flipper, Timber, Urban Airship, Firebase Analytics, ViewBinding, Google Pay, Callback, Push Notifications, Microsoft Teams, GlobalProtect VPN, GitHub and Maven

Project Synopsis: Project works consisted of fixing issues in the current version of the applications, overhauling the UI existing features of the applications into newer forms for better customer experience and adding all new features into the applications.

Used MVP design pattern for the application, ViewBinding to create UI in Kotlin and Fragments for all views with Activities used as a base

Base classes were used to house apply standard functions to all Activities, Fragments, Presenters, etc.

Application data was received from an API and parcelized with model classes

Worked with Jira for work management

Used GitHub as a Repository for the code

Peer reviews were required to merge code into the main repository

Agile development using SCRUM with daily meetings in two-week sprints

Performed as a Feature Champion for the Online Launch Reservation story

Application was designed using the MVP design pattern

Retrofit was used to obtain and save the data for the application

Used Kotlin Analytics for tracing using Firebase

Team consisted of an average of 7 developers with 2 Senior developers

Worked with and offshore team for QA

Held bi-weekly meetings for various purposes, such as backlog refinement and estimation, future sprint planning or retrospective of the previous sprint

Weekly meetings held on Fridays for the Android team to discuss anything they would need or had to be informed about

January 2019 – August 2021

Sr. Android Developer

JPay

Miramar, FL

Apps: Lantern App / KA Lite / Ashland (private distribution only)

Manage the development of Android educational apps for prison inmates, leveraging prison-hosted Windows Kiosks, Wi-Fi and RESTful API calls/consumption. Given the nature of the app, security is essential. Work on many tasks involving encrypting downloads and implementing file signature to files to mitigate tampering.

Agile framework with daily SCRUMS.

Worked on a release base deadline.

Worked on JPay’s Lantern, Ashland app and KA Lite (Khan Academy).

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

Used Kotlin coroutines and RxJava for network communication with suspend functions.

Included Wi-Fi functionality to Lantern App.

Handled large amount of sequential file downloads through a local download manager.

Interacted with exposed Canvas Student APIs.

Updated UI and UX with help of a designer.

Implemented themes and styles in alignment with Android Material design standards.

Created new features from scratch using Android Jetpack components.

Worked closely with QA to ensure product quality.

Refactored old code to decouple views from business logic using MVVM.

Performed pair programming with tech lead to debug issues.

Used postman to test calls prior to implementing them in Android.

Used Collaborator and Bitbucket to perform and assign code reviews.

Used Git for source control.

Worked on a custom android ROM with security restrictions.

Improved background processing time by implementing concurrent threading libraries such has RXJava.

Implemented solution for large downloads via a URL through the Retrofit library.

Implemented file signature using a platform service to ensure file download authenticity and integrity.

Worked on a script that changed the file permissions of a folder’s content periodically in the tablet’s internal memory to allow for open accessibility amongst apps.

February 2017 – January 2019

Senior Android Developer

Forever 21

Los Angeles, CA

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

Forever 21 – in your pocket and at your fingertips. Use the app for receiving APP EXCLUSIVE PROMOTIONS - Get exclusive access to sales and discounts first! Shop. Explore. Browse. Swipe to view more images and buy on the go!

Worked in different phases of the project cycle such as design, development, and testing.

Developed Android Activities, fragments and display modes.

Involved in the software development processes for this Android application development projects including requirement specification, design, implementation, testing and maintenance.

Worked on UI and base Android framework issues.

Worked with RxJava using observable and subscriber classes.

Implemented fragments to make the app usable on both smartphones and tablets.

Developed Android applications using many components including Activities, Fragments, Broadcast Receivers and Services in Android.

Refactored Java code to Kotlin for existing Android application while using Kotlin to implement new features.

Used AsyncTask for multithreading on this mobile application.

Worked with other Android developers and assisted with code reviews and code refactoring.

Worked with Reactive-X in the form of RxJava and RxAndroid on Android applications.

Managed the implementation of dependency injection in Android with Dagger2 to speed up unit testing process.

Implemented multiple test cases using Espresso rules, view matchers, and view actions.

Performed simulated design patterns in Android to test and develop applications.

Managed continuous integration using Git and remote repositories on BitBucket.

Tracked issues in JIRA and assigned them to other developers.

Utilized multithreading and asynchronous tasks to manage concurrent communication while maintaining performance.

October 2014 – February 2017

Android Developer

OutDoors GPS - Offline OS Maps

San Francisco, CA

https://play.google.com/store/apps/details?id=com.roadtour.outdoorsgb

OutDoors GPS takes outdoors navigation to new heights:

- Hikers: Find or plan a route by choosing from over 200,000 free routes. Then

navigate using the built-in compass & simple direction view. Track your journey and

finally save and share favorite hidden by creating a ‘My Places” list

• Runners: Add variety to your running routes by searching our database of local

routes based on distance and elevation. Track your stats & save your favorite places

for great views, stretching, resting and water fountains

• Cyclists: Find a route that matches your level of intensity by searching entries by

distance and elevation. Or craft your own perfect biking path with the route builder.

Use the hands-free mode while biking and track your route statistics

• Photographers: Find beautiful landscapes by searching through over 250,000 points

of interests. Find or plan your route to get there by using distance markers and

confidently explore offline with Satellite, Terrain, Hybrid, and Road maps

Implemented several design patterns such as MVP, Singleton, Observer, Proxy, and Visitor in Android.

Collaborated with back-end development team to map the web services for the Android app integration.

Participated in defining application’s styles and themes, material themes and various resources.

Coded and later created a template for proper use of RxJava ensuring the tasks do not become orphaned if the orientation of the device changes using multiple operators.

Devised scalability, performance, and reliability of Android app development.

Implemented Android app user interface (UI) by using Custom Views, ListView, Relative Layout, Linear Layout, and Table Layout.

Applied fragments to minimize the activity count and simplify the navigation on the Android app.

Contributed to architecture and design of the Android app.

Performed extensive application testing with the Robolectric framework, and with JUnit to test functionality of the Android application.

Worked with JUnit to complete all test cases of the Android app.

Used Espresso & Mockito for testing Android app user interface (UI) and app functionalities.

Post Get/Post/Header HTTP asynchronous request to the backend API using Retrofit

Organized collaboration between onsite and offshore developers.

Monitored and participated in workflow tracking with JIRA.

Implemented Picasso to download the image from web services.

Experience in architecture and development of stable Android mobile applications.

Replaced the Google Maps API with Google Maps API V 3.15.

January 2013 – October 2014

Android Application Engineer

FXCM, Inc.

New York, NY

Worked on Forex Trading application in Android which allows users to manage their trading account, research market and stocks and to buy and sell stocks using the Android mobile device.

Forex Trading:

https://play.google.com/store/apps/details?id=air.com.fxcm.TSmobilePhone&hl=en_US

Worked on an Agile scrum software development team.

Worked with project manager and stakeholders to gather requirements and on sprint planning and sprint backlog.

Used Eclipse as the primary IDE since it includes all the tools needed to develop, test and deploy the Android application.

Tested using Espresso and Mockito for testing the UI and App functionalities.

Used Espresso for instrumentation testing using View Matchers, Matchers and Actions.

Used Intents and Intent Filters to initiate activities and pass information between Activities and Fragments.

Used GitHub private repositories with standard Workflows as a Version Control Software.

Used the JIRA bug tracking tool for quality control.

Used the SQLiteOpenHelper to connect with the local database and perform CRUD operations.

Applied Support Libraries from different API levels for backward compatibility.

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

Used Volley and GSON to retrieve information from an internally programmed API and make the conversion between the JSON and POJOs.

Worked with Android notifications to send the reminders to the user interface.

Worked with Content Providers to connect with and consume Android Contacts.

Worked with Dagger 1 for dependency injection to develop clean, maintainable code.

Worked with GSON and Jackson library to parse JSON files on the Android project.

Worked with JUnit to complete all test cases.

Education

Bachelor of Science in Computer Engineering – university of Puerto Rico



Contact this candidate