Post Job Free

Resume

Sign in

android developer

Location:
New York, NY
Salary:
85$ Hour
Posted:
December 09, 2020

Contact this candidate

Resume:

Craig Tatenda Vitirinyu - Senior Android Developer

Phone: 845-***-**** Email: adiifr@r.postjobfree.com

Professional Summary

* ***** ** ********** ** the IT field

5+ years of experience in Android Application Development

5 published apps in the Google Play Store

Strong knowledge and demonstrated experience with Android Architecture Components as well as design patterns like MVP, MVVM, MVC, Singleton, Builder, Factory

Experience with Android third-party libraries like Retrofit, Picasso, Glide, Location API, Google Maps, Stripe, PayPal, Dagger, Android Annotations

Well versed in newest patterns like reactive programming with RxJava and Dependency Injection

Strong understanding of OOP, software design patterns and SOLID design principles.

Experience with Agile and working in teams using Scrum

Hands-on experience with Java and Kotlin application development

Great team player with ability to work in both large size and medium sized teams.

Strong ability to work with teams from other departments to achieve cross-functional goals and meet the specified requirements

Strong written and oral communication skills

Excellent communication skills to ensure accurate translation from design to implementation.

Experience with Mockito, Junit, Espresso and simulated design patterns to test and develop applications using TDD approach

Hands-on experience with debugging and profiling Android applications

Ability to mentor less experienced team members on technical matters and implementations

Well versed in Material Design guidelines

Ability to problem-solve and manage multiple priorities in fast-paced, deadline driven environments

Ability to understand and interpret business requirements and effectively translate them to high quality, scalable implementations.

Android application performance testing utilizing Android Studio Profiler, Leak Canary etc.

Hands-on experience with continuous integration tools like Jenkins and Travis CI

Hands-on experience with RESTful API consumption using from RESTful web services

Adept with development/design standards and best practices in Android

Android Projects Summary

Healthfirst NY – New York, NY

Zillow - Seattle, WA

Kayak - Cambridge, MA

Marriot International Inc - Dallas, TX

Delivery.com - New York, NY

H&M - New York, NY

Skills Summary

Languages: Java, Kotlin, C++, HTML, CSS, JavaScript, Scheme

Databases: Room, MySQL, SQLite, Room, Oracle SQL, Firebase RealtimeDB

IDE: Eclipse, Android Studio, IntelliJ

Multimedia: Glide, Picasso, ExoPlayer, Videoplayer

Version Control: GitHub, GitLab, Source Tree, Terminal, Android Studio

Design Patterns: MVC, MVP, MVVM, Façade, Singleton, Observer, Factory, Builder

Development: TDD, JIRA, Continuous Integration, Git, Github, Bitbucket

Project Methodologies: Agile, Scrum, Waterfall

Android Dev: Espresso, BroadcastReceiver, ContentProvider, Moshi, Junit, Glide, Loopers, Loaders, AsyncTask, RxJava, GSON, LiveData, MVVM, MVC, MVP, Room, Dagger 2, Jenkins, Android Profiler, Coroutines, Layouts, Google Architectural Components, EventBus, RecyclerView, ListView, Services, LiveData, Google Maps API, Mockito, CustomViews, CompoundViews

UI: CardView, ConstraintLayout, Fragments, Activity, DrawerLayout, BottomNavigationView

Android Libraries: Retrofit, RxJava, Volley, ButterKnife, LeakCanary, Airship, RxAndroidBLE

Android Project Experience

Healthfirst NY

New York, NY

Senior Android Developer

May 2020 – Present

https://play.google.com/store/apps/details?id=org.healthfirst.android.member

Translated iOS application into android application for android-using customers

Used Git as a version control for managing and integrating source code with other team members.

Developed application features and modules in Kotlin

Worked on developing the Login Module using various tools for secure authentication and authorization.

Developed and gave maintenance using pair programming.

Used TDD approach for development to ensure maintainable and reliable code.

Implemented a swipe functionality for recycler views using ItemTouch helper.

Created unit test for all the code I implemented using Mockk as a means of TDD

Implemented Android UI test using Espresso for critical functionality.

Used Koin for dependency injection to accommodate dependency inversion in the application

Addressed PR comments of my code to ensure teamwork and coordination in development.

Helped new developers understand the codebase.

Participated in engineering meetings to determine technical decisions for the app

Created the functionality to help users change their personal information : username, email, etc

Utilized two-way data binding to communicate between ViewModel and xml files

Created Kotlin extension functions to make the code more readable and concise

Zillow

Seattle, WA

Senior Android Developer

September 2019 – May 2020

https://play.google.com/store/apps/details?id=com.zillow.android.zillowmap&hl=en_US

Refactored views to utilize constraint layout in order to make the UI more responsive to different screen sizes and resolution

Used Git for the applications Version Control System

Used LiveData to simplify data retention and updates during configurational changes

Used Moshi to populate data classes with data from JSON responses

Used Google’s Location API to simplify how the app gets the user’s current location, and to set up geofences around the user’s ‘favorite’ homes

Used MVVM application architecture to efficiently implement separation of concerns

Used Glide for improved loading of the user’s images of the houses/apartments from cache

Refactored the persistent solution of the application using SQLite Relational Object Mapping to Room in order to improve maintainability by taking advantage of Room’s abstraction, LiveData integration, and query validation capabilities

Worked in an agile environment using TDD approach to development

Utilized CompoundViews to create reusable components across the application.

Used Google Maps V2 implement 3D vector-based maps

Participated in all aspects of application development from planning to deployment

Utilized Espresso for UI automation testing

Providing maintainable and testable high-quality solutions for Android applications

Used JIRA for project management and backlog tracking

Kayak

Cambridge, MA

Senior Android Developer

December 2018 – September 2019

https://play.google.com/store/apps/details?id=com.kayak.android&hl=en_US

Reduced code footprint and increased reusability of logic by refactoring code from MVP to MVVM

Utilized background services in order to update locally stored JSONS

Involved in writing and developing new features in Koltin as well as translating some existing features from Java to Kotlin.

Used Dagger2 for dependency injection

Developed UI’s using wireframes provided by graphics team via Zeplin

Used the Room persistence library to save web service responses and to act as the single source of truth for the application data

Implemented UI Test Automation using Espresso as a testing tool to accomplish the task

Designed CustomViews to implement UX designs and for the reusability of the views created.

Used social media authentication such as Facebook and Twitter APIs for incorporating features such as logging in, liking items, and sharing product announcements

Used Jenkins for Continuous Integration and build creation on a private server

Created multi-purpose apps for debugging and production with the use of flavors implemented in the Gradle file

Analyzed and troubleshooted the application using tools like the Android Profiler, DDMS, debugger, and logging

Participated in scrum meetings to help with collaboration among the mobile team

Used Git with Bitbucket servers for the applications Version Control System

Used Coroutines for efficient and lightweight handling of asynchronous operations

Optimized layouts by refactoring layout code from using Relative layout to Constraint layout

Participated in code reviews and submitted constructive feedback to peers of all levels of development

Reduced the application size and increased efficiency of render basic images by utilizing the use of Vector drawables

Marriot International Inc

Dallas, TX

Senior Android Developer

November 2017 – December 2018

https://play.google.com/store/apps/details?id=com.marriott.mrt&hl=en_US

Refactored the code from using AsyncTask to using RxJava for more robust error handling on asynchronous operations

Handled fragment retention to ensure data integrity on screen rotations

Implemented lightweight image processing by using Picasso

Utilized layout qualifiers to allow for multiple screen resolution support

Implemented unit testing using Mockito and JUnit

Communication with back end team to collaborate on fixing rare server problems arising.

Worked in an agile environment to adapt the application to the different needs of the users

Analyzed and troubleshooted the application using tools like the Android Profiler, DDMS, debugger, and logging

Participated in estimation of duration of tasks and project goals.

Parsed JSON results from web resources into POJOs using third-party libraries like GSON

Implemented a background service for updating locally stored JSONs

Utilized Retrofit to make a parent callback interface to automatically handle the error function, caching and pagination to API

Handled proper implementation of MVVM arch design pattern in the application using Google Architectural components

Introduced type-safety for accessing views and made the codebase shorter, easier to read and maintain, by refactoring the code to utilize data-binding

Used Dagger2 for dependency injection

Delivery.com

New York, NY

Android Developer

December 2016 – November 2017

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

Used EventBus to pass event messages across multiple components in the application

Implemented ViewPager for scrolling between different fragments

Used custom markers with Google Maps API and Location manager for displaying store locations closest to the user

Utilized Crashlytics for Application Health analytics

Used JIRA for project management and backlog tracking

Debugged network calls using Charles Proxy

Developed a Navigation drawer for easier navigation for the user of the app

Implemented AB testing of features within the application to measure the users’ activity levels with different designs of UI elements

Used Espresso for UI automation testing

Implemented several design patterns such as MVP, Singleton, Builder and Observer

Incorporated payment methods using Stripe, PayPal, and cardio library to pay for products and securely store payment method information for future orders

Used Android studio for development of the application

Implemented 2-way data binding to communicate between views and view models

Implemented a rating system and user comments section using recycler view and real-time databases

Use of layout qualifiers to allow for multiple screen resolution support

The Home Depot

Austin, TX

Android Developer

November 2015 – December 2016

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

Developed UI’s using wireframes provided by graphics team via Zeplin

Used shared preferences for holding basic user defined configurations of the application

Implemented nightly updates of data using work manager

Implemented an abstraction layer for the locally persisted data using a Content Provider

Used built-in SQLite Database Schema for offline data persistence and for localized caching

Utilized System Broadcast receivers to optimize behavior of the app for events like low battery status and network connectivity

Implemented a custom ListView with lazy loading using Picasso and an LRU cache

Used Intent Services with OkHttp for making HTTP request

Used Loopers, Handlers, and Runnables to execute tasks away from the main thread

Implemented single and dual pane activities for fragments for both phone and tablet devices.

Cultivated an environment of excellence through code design and code reviews

Refactored un-optimized sections of code to maximize the use of resources

Used Parcelable to marshal data objects across different activities

Initialized runtime permissions requests based on the end user’s response to dialogs

EDUCATION

FORMAL EDUCATION

Tufts University

Bachelor of Science in Engineering



Contact this candidate