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