Post Job Free
Sign in

Android

Location:
Plano, TX
Posted:
May 27, 2021

Contact this candidate

Resume:

Yaury Orozco

Phone: 726-***-****

Email: **********@*****.***

SKILLS

Kotlin Android JetPack Google Maps API

RxJava Job Scheduler Room AsyncTask

Material Design Recycler View Firebase

Push Notifications TDD RoboGuice Junit

ButterKnife Dagger Mockito Google Analytics

WorkManager Wi-Fi Reactive Programming

Fabric Firebase Fragments Builder

Factory Adapter Singleton Timber Java

RxKotlin Okio Jenkins UrbanAirship

Multithreading Services Content Providers

LeakCanary Handler Loopers HandlerThread

OkHttp JetPack CustomViews Koin Loaders

SonarCube MVVM Profilers Gerrit

Flow API Multithreading Leak Canary

RESTful web services Bitbucket GitHub

Test Automation Mockito Espresso BLE

Dependency Injection MVP Socket Gitlab

SUMMARY

7+ years of solid native Android experience, in addition to a solid general software engineering background.

Experience of Java and Kotlin Programming language

Experience of using Git or other version control systems

Experience of writing unit tests, Android implementation tests, automated unit testing, UI automation and test-driven development

Experience of Agile methodologies, tools and understanding of the Scrum Development methodology

Exposure to mobile middleware and integration with different web services and message exchanges (e.g., SOAP, REST, XML, JSON) Experience with all the usual stuff (multi-threading, integration with REST APIs, view animations, custom transitions, multi-threading)

Understanding of HTML / JavaScript

Familiar with OOP design patterns such as Façade, Abstract Factory, Builder, Singleton, Observer, MVC, MVP, MVVM, Protocols & Delegation, etc.

An understanding of Android Auto, Android TV, BLE and Google Home API with third-party analytics services

Experience designing for Tablets and other big screen devices

Job Experience

LEAD ANDROID PROGRAMMER at JPMorgan Chase

Location: Plano, TX

Aug 19 – current

https://play.google.com/store/apps/details?id=com.chase.sig.android

App Description:

Bank from almost anywhere with the Chase Mobile® app. Manage your accounts, pay bills, pay people, deposit checks, transfer money, all safely and securely with your device. Whether you are on the go or curled up on the couch, day or night, with the Chase Mobile app, you are in control of your accounts.

Role and Responsibilities:

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

Make app adaptable to new Android O for Notification channels and background limits for account Alerts and set notification preferences to keep tabs on your account activity

Improve Android Keystore program to store cryptographic keys in a container and protect key material from unauthorized use

Authenticate users via Fingerprint scan API and implement the user interface for the fingerprint authentication flow

Make sure Realm data persisted to disk is transparently encrypted and decrypted with standard AES-256 encryption Pair program to work on the feature “Transfer money” between your Chase accounts’ in a TDD way

Develop a library that abstracts the core banking business rules and defines the business objects to provide interface for GUI. This layer implements core banking RESTful services, Executors/JobIntentServices for multithreading

Use RxPS, RxJavaPriorityScheduler, RxAndroid library in Reactive environment to parse multiple streams of data concurrently for Account API, Balances API and Nearest Banks API

Write testcases for list of acceptance criteria in Business layer using Mockito and on presentation layer using Espresso (UI)

Use CharlesProxy API to determine if SSL Pinning was functioning correctly (as part of Secure Coding Practices) so that man in the middle attacks would not be possible

SR ANDROID DEVELOPER- at Juno - A Better Way to Ride

Location: New York, NY

June 18 – Ago 19

https://play.google.com/store/apps/details?id=com.gojuno.rider

App Description:

Juno is the reliable way to ride in New York City. With our easy-to-use app and highest passenger-rated drivers in the city, getting to your destination has never been easier. And with 30,000 active drivers in New York City, the average pick-up time is less than 4 minutes.

Role and Responsibilities:

Refactored legacy codebase using TDD, Dagger2 dependency injection, RxJava, Retrofitted in MVVM design pattern using data-binding library

Applied unit testing using Mockito and set up jaCoCo to check my code coverage of new code

Worked with new Google Play Services library to use Route API, load Map styles from JSON and create custom markers for nearest ride and user location

Worked on AWS Mobile Hub Cloud Logic mobile backend service feature to add business logic functions in the cloud and communicate with RestFul API from backend

Implemented RxJava2 for multithreading with Retrofit, OkHttp caching and functional operators(flatmap/map/zip/flowable/disposable) to make API calls to display list of cars in RecyclerView with custom header

Integrated payment methods such as Stripe SDK, Visa API, card.io to make and schedule payments for the rides

Created Dagger components, scores, modules, and subcomponents to inject the needed dependencies into different app fragments, services, view models and activities

Created Schedulers mock using RxJava TestScheduler in unit tests and trigger TestScheduler to drive function behavior as expected

Used Atlassian Bamboo as Continuous integration system to track released versions with all of fixes de-tailed in a changelog and code backup

Stored previous ride history information using GreenDAO with SQLCipher library and secure shared preferences to persist data securely inside the application

MID-LEVEL MOBILE APP DEVELOPER at Livestream

Location: Brooklyn, NY

July 17 – June 18

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

App Description:

Download Livestream’s Android app to search, explore and stream your own content live. Explore events from hundreds of thousands of broadcasters around the world. Follow your friends and favorite accounts to get notified when they go live.

Role and Responsibilities:

Coverted MVC to MVP architecture along with SOLID principles, singleton, builder, facade, factory, and observer design pattern

Worked with Google Cast SDK TO enable Google Cast device to cast videos to a TV and asynchronous callback design to inform the sender app of events and to transition between various states of the Cast app life cycle

Played live videos in ExoPlayer to support features like Dynamic adaptive streaming over HTTP (DASH), SmoothStreaming and Common Encryption

Independently worked on the feature to dimply ‘hundreds of thousands of broadcasters around the world’ in RecyclerView using Volley and Glide library

Pair Programmed to work on Apache Commons Codec software to provide implementations of common encoders and decoders such as Base64, Hex, Phonetic and URLs.

Configured MixPanel backend with GCM key to send push notifications for live events, news, and available downloadable videos

Fixed a bug causing draft events to become public after skipping the prompt to publish

Debugged and fixed access to Bluetooth settings, network connectivity, Wi-Fi Multicast reception, connect and disconnect from Wi-Fi, run at startup, and prevent phone from sleeping features

Performed Code reviews using Collaborator tool and merged pull request using source tree in GitFlow process

Utilized Facebook Stetho, Debug tools, TraceView, Lint, Android Monitor, and Android Profiler to identify issues and enhance the performance

ANDROID DEVELOPER at MEITU

Location: County of New Castle, Delaware

May 16 – July 17

App Description:

BeautyPlus offers simple, yet powerful photo editing tools, artistic effects, augmented reality (AR) filters and so much more to take your selfie game to the next level. So, let us get ready to post the best selfie to your social media account!

Role and Responsibilities:

Fixed critical hardware related issues logged in JIRA respect to network connections, Wi-Fi connections, full network access, Google Play billing service, record audio and control vibration

Integrated AppsFlyer and MoPub SDK to support viewability measurement, and flexible Ad Network mediation

Fixed camera distortion issues when in AR Mode which affected some devices (i.e., Nexus 6)

Worked on Camera2 API for image capture with different resolutions, PEG Image Capture, YUV Image Capture, Camera Change option and exposure properties

Used uCrop Android Image library to rotate, crop images for 4x6, 11x14 and 12x18 sizes and image compression format (e.g., PNG, JPEG, WEBP), compression

Used Butterknife injection for non-Activity binding in adapters and fragments/activities

Refactored code with EventBus to simplify communication between Activities, Fragments, Threads and Services

Worked on JUnit testing framework for testing network modules and APIs

Include Google In-App Purchasing API to offer for purchase digital content and subscriptions.

Incorporated online/offline sync mechanism to ensure seamless transition between connectivity states using ORMlite db

Polished the user interface by using RecyclerViews, NestedScrollViews, CardViews, CoordinatorLayouts, constraint layouts with in-house custom views and the new ConstraintLayout

NATIVE APP CODER at Mindframe Design, LLC

Location: Boston, MA

May 15 – May 16

App Description:

ChefTap's recipe clipper clips recipes from any website and saves them in your own permanent archive so you will never lose another recipe again.

ChefTap is grocery lists let you create grocery lists out of the ingredients in your recipes.

Role and Responsibilities:

Worked on large complex existing codebase in latest Android SDK, Android Studio and APIs using TDD, MVP and dependency injection design concepts

Replaced bitmaps implementation code with Glide image loading library for animated GIF support and handle image loading/caching

Implemented Loaders and AsyncTaskLoaders to perform asynchronous data loading in the custom list view for grocery lists and recipe scaling

Worked on memory management, push notifications, multiple screen support, data offline usage, content providers and sync

Worked on Sorting algorithm to sort recipes by favorites, new recipes, recently prepared, recently viewed or alphabetically in a list view

Synched data from backend locally to SQLIte database and external storage in a file to save up to 100 recipes

Used WebViews for loading external websites and automatically import entire recipe box from allrecipes.com or Epicurious in the app

Incorporated Google Analytics to create Content reports to focus future development efforts

Imported device specific content-providers and build own custom content providers based on client requirements

Created several compound views to match the UI provided by the UI team using Zeplin

Jr. Android Programmer At GoBank

Location: Pasadena, CA

Ago 14 – May 15

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

App Description:

Join small team of 6 developers, 2 testers and 2 designers in BDD workplace. Worked with team in relation to improving process related app development and deployment

Role and Responsibilities:

Worked on “Find ATM’s nearby” user-story using Google Maps SDK and Places API

Displayed Privacy Policy and Terms of Use webpage in WebView with additional JavaScript cookies feature

Integrated MVP design architecture maintainability of UI and creating almost no dependency on business logic

Utilized SQLite for data persistence and Shared Preferences to preserve the app configuration settings

Added ACRA library to automatically post-crash reports to a GoogleDoc form

Implemented multithreading through AsyncTaskLoaders, allowing different UI components to operate and refresh independently

Used Android's EventBus 3rd party library for sending messages between components

Debugged mobile applications using debuggers included in common integrated development environments (Eclipse, and Visual Studio), as well as using standalone debuggers

Assisted the QA team during the testing activities, write necessary unit tests and UI testing scripts

Technical Support Representative AT Rise Broadband

Location: Englewood, CO

Oct 2013 – Ago 2014

Role and Responsibilities:

Provided technical support for VoIP, Internet, Web Hosting services, Email, Ethernet connections, Digital Subscriber Line

Resolved DSL and Dial-Up end-user home network issues and worked with routers

Assisted with IP address schemes, network fundamentals, network hardware and Wi-Fi networks, Email concepts and configuration

Configured IP pools and Switch tables to configure Virtual LANs and efficiently reduce traffic between networks

Troubleshot systems, software, and any potential obstacles that prevent the end user from utilizing the company’s product effectively

Education

Brigham Young University, Bachelor of Science, Applied Physics, Computer Science Emphasis



Contact this candidate