Professional Highlights
Implementation of Android mobile apps using MVC, MVP, MVVM, and various design patterns such as Abstract Factory, Builder, Façade, Command, Observer, Visitor, Proxy, Singleton, and more.
Ensure effectiveness of SCRUM related meetings for Android app team.
Expert in the interaction between various devices and different versions of Android.
Experience with network programming and consuming third-party APIs.
Experience with audio features, video features, graphics design, interactive design and animation, and Android Multimedia Framework.
Developed application using components like Activities, Fragments, Broadcast Receivers and Services in Android.
Experience in creating Android mobile apps in both Java and Kotlin using both Android Studio and Eclipse.
Stays current on technology and new developments in Android and mobile app industry.
Adept at UI implementation based on design specifications following Material Design guidelines, and using animations and UX optimization techniques, Fragments, Layouts, Compound Views, Custom Views, ListView and RecyclerView.
Skilled in use of navigation drawer, floating action button, widgets and various UI techniques.
Hands-on experience developing stable, reliable and backward compatible mobile applications.
Setup proper interactions of the front-end design and implementation with backend servers.
Proficient in Working with different Android frameworks(Bluetooth, Location, Camera, Notifications, Maps).
Experience with SQLite Database, Google Maps API, GPS Location data, Camera and Push Notifications.
Responsible for the Android business logic that uses Json queries for getting data from the backend systems using Retrofit, Volley, RxJava and AsyncTask.
Threading with loopers, loaders, and handlers.
Applies Google’s best practices for mobile environments, i.e., networking, memory management, battery status, responsive and intuitive design, managing multiple screen sizes, identifying app installations, internationalization.
Utilized Espresso, JUnit, Mockito and simulated design patterns to test and develop applications.
Contact
Heiner Bauza
Phone: 408-***-****
adh4jx@r.postjobfree.com
Education
Bachelor of Science in Computer Engineering
Universidad Nacional Experimental de Guayana (U.N.E.G)
Bolívar, Venezuela
Experience
Application Development
5 years Android Dev
5 years Software Dev
Professional Experience
April 2020-Present Senior Android Developer
Walmart
San Jose, CA
New Walmart App
Still not available
Participate in architecture migration from MVP to Kotlin based MVVM architecture using lifecycle aware components like LiveData, ViewModel, Room and ViewBinding
Implement Jetpack Compose such as composable functions, setting the content to the screen, and updating content
Wrote test cases across multiple features for ViewModels using KotlinMockk, Espresso for automated UI and Robolectric integration testing framework
Construct complex modules, components, reusability of classes and decoupling of dependencies using Dagger2 dependency injection
Resolve major bug relating Firebase push notification implementation by configuring certain interfaces to receive latest offers and discounts information from backend
Implement BrainTree SDK to use credit card tokenization to save customer card information and accept more payment types for PayPal, Apple Pay, and Android Pay
Work on Get, Post, Put HTTP API request, parse XML data using XML Serialization library and display in custom list view with headers
Measure CPU, memory, network, and battery resources performance with Android Profiler (Energy Profiler, Network Profiler, CPU Profiler)
Work with UX, UI, Content researchers, architecture and other delivery teams to help develop right solutions looking from technology and also from client's perspective
Participate in code reviews and contribute to raising the quality of the product using best coding practices, static code analysis and material design principles
Help to build and define the API contracts between applications and middleware systems using Swagger, Mockserver API
Apply bridge design pattern to decouple the interfaces from implementation and hiding the implementation details from the client programs
Configure GCM with MixPanel SDK to enable push notification services to receive alerts
Integrate End of List Listener for use of detecting when the user has scrolled to the bottom and Pull-to-Refresh functionality
Write code to synchronize backend data locally in SQLite database for offline usage and develop Preferences setting fragment
Work closely with other developers and end users to ensure technical compatibility and user satisfaction
Optimize for code size by applying custom ProGuard shrinking and optimize minimal allocation of objects and bytes
June 2018-March 2020 Senior Android Developer
BERKSHIRE HATHWAWAY
Omaha, NE
Berkshire Hathaway Home Search
https://play.google.com/store/apps/details?id=com.smarteragent.android.bhh
Developed in Android SDK (Android 5.1 - 8.1) in Android Studio, coding exclusively in Kotlin, using the latest version of Android Studio.
Developed modules in Kotlin using MVVM app architecture for ease of maintainability and extensibility, as well as improved quality testing.
Converted from Rx1 to Rx2 including support for both Java and Kotlin
Converted old responses into using Rx2 error handling methods
Worked in 2-week sprints beginning with Sprint Planning and ending with Sprint Retrospective.
Used Android JetPack’s LiveData to simplify data updates across the lifecycle and configuration changes for the UI.
Collaborated with the web application development team to ensure proper integration between mobile application and web application.
Also used GSON converter to convert the retrofit JSON response to the java object.
Worked with Git and I managed the Git repository, multiple branches.
Helped mentor junior developer in adapting to Android from his background in Java.
Working with data binding with Android JetPack, and custom attributes to format and process data contained in model resources.
Used Retrofit and RxJava to consume RESTful web services and handle multithreading on background for smooth performance.
Implemented Firebase for a real-time database, and Firebase Push Notifications.
Worked with source code interoperability, coding in both Java and Kotlin with development in Android Studio IDE.
Configured multiple analytic tools to get valuable information on a post-install state: Crashlytics, Mixpanel, Flurry, Answers.
Used lazy loading of heavy resources; caching images on LRU cache as well as files on worker threads for performance.
Developed Android app screens and its workflow using Activity and Fragments.
Implemented updated views for UI using Recycler View, View Pager and Navigation Drawer.
March 2017-June 2018 Android Developer
OVERSTOCK.COM
Salt Lake City, UT
Overstock eCommerce App
https://play.google.com/store/apps/details?id=com.overstock&hl=en
The Android development team used Slack, Skype, Jira, Bitbucket, and Git as team project tools.
The Android team was an Agile environment with Sprint planning, Sprint Retrospective and Sprint backlog.
Performed code reviews and supported team made in reviewing and refactoring Java code for maintainability, testability and reusability.
Provided task estimations including time, resources and effort.
Used OkHTTP, Retrofit2, and GSON to make REST calls and parse json from APIs
Set-up build flavor for using a mock service for integration testing
Worked on migrating financial services offered on website to Android app
Consumed REST services to bind data to views
Used MVP architecture as the basis for the Android app with design patterns for specific modules such as Decorator, Visitor, Façade, and Singleton.
Created generic custom views that were reusable across all screens
Used material design principles and followed style guides to create UI
Used lazy loading of heavy resources; caching images on LRU cache as well as files on worker threads for performance.
Worked in layouts and UX design and layout using both XML, and custom Android views.
Implemented Challenging UX components with browser top/bottom pane animation on scrolling the web content.
Flattened existing nested layout hierarchies using Constraint Layout
Used Dagger 2 and Butter Knife for dependency and view injection
Integrated Firebase Crash Reporting for event logging and monitoring
Used Google Analytics crash reports to improve app performance/ratings
Conducted daily scrums to discuss app ratings and possible improvements
Integrated deep linking between Android and Website
Junit and Mockito for unit and instrumented tests.
Implemented data persistence using SQLite and SQLiteOpenHelper.
Used faster image loading libraries of Glide to manage bitmaps to improve Android app performance with Picasso for product images for high resolution.
June 2016-March 2017 Android Developer
ORBITZ, INC.
Chicago, IL
Orbitz Travel
https://play.google.com/store/apps/details?id=com.orbitz
Implemented EventBus to facilitate the communication between processes in the app.
Used Android Annotations for dependency injection
Working with Android Device Monitor for monitoring CPU load, heap size and memory usage
Supervised the creation of the testing suites developed with Espresso and Mockito.
Used APIs from different API levels to support backward compatibility.
Used Butter Knife for view dependency injection
Refactored un-optimized pieces of code to guarantee maximization in the use of resources.
The program was developed in Java using the Eclipse IDE and the Android Development Tool (ADT).
Use of services to run Java classes for the back work.
Build new features to enhance the UX for consumers.
Used Volley library for asynchronous requests to the server, and GSON to retrieve information from an internally programmed API and make the conversion between the JSON and POJOs.
Added selectors and animation effects on UI/UX elements to enhance the User Experience.
Extensive use of Fragments to enhance user interface experience.
Efficient and clean code integration and backup using Jenkins CI server and Git for code base and version control, commits and merges.
Debugged and tested the application using Logcat, DDMS and TraceView on different devices.
Implemented Crashlytics to monitor crashes and exceptions and user app analytics data.
August 2015-May 2016 Android Developer
SPRINT
Overland Park, KS
My Sprint
https://play.google.com/store/apps/details?id=com.sprint.care
Dalvik Debug Monitor Server (DDMS) for debugging and testing.
Constructed the user interface by using list view, custom view, compound view and various layouts.
Used the Fragment capabilities to handle multiport views and different screen size devices.
Tested the user interface implementing Espresso.
Implemented Material design feature of RecyclerView, toolbar, CardView
Tested the application on various devices and emulators to determine compatibility.
Incorporated the communication between the application and the other Android applications backed by the customer.
Implemented full social network integration with Facebook, Twitter, and YouTube SDKs.
Created Widgets to help customers manage the launcher.
Debugged and tested the application using Robolectric
Including support for backward animation using NineOldAndroids library.
Created multiple Content Providers with a native approach to handling UI asynchronous updates.
Enhance the User Experience with the implementation of the Tab Navigation.
Implemented Dagger to work with a Dependency Injection environment to help with the unit testing.
Attended the SCRUM meetings and met deadlines.
July 2014-July 2015 Android Developer
SEEMLESS
New York, NY
Seamless Takeout Delivery
https://play.google.com/store/apps/details?id=com.seamlessweb.android.view
Tested the application using Robolectric.
Build Activities using compound and customized views.
Tracked issues and tasks in Jira and documented the app in Confluence.
Implemented automated testing with Robotium and tested with continuous integration on Jenkins with emulators.
Use of social media libraries, Facebook, Twitter and Google Plus.
Implemented several design patterns such as MVP, Singleton, and Observer.
Enhanced the UI/UX by adding custom views and compound views and Navigation Drawer.
Upgraded the app UI with Google’s Material Design new specifications.
Used support libraries to ensure backward compatibility with older OS versions.
Integrated payment methods such as Android Pay, Visa API, MasterCard API.
Under limited supervision, responsible for developing mobile applications and software components.
Participated in requirements definition, design, and reviews.
Enforced Object Oriented Principles in Android.
Developed the act in Eclipse IDE and integrated dependency injection with Dagger.
Implemented the best practices for Android mobile development with their main components: Activities, Services, Content Providers and Broadcast Receivers.
Worked with the UI/UX team for the new app skin redesign.
Worked closely with the back-end team to implement the electronic payment capabilities.
Created small testing suites with JUnit and the Eclipse IDE capabilities.
Used Picasso to display images obtained from URL
Professional Skills
Android Development-Misc
RecyclerView Animator, JobScheduler, MPAndroidChart, PhoneGap, Location Services, Push Notifications, Content Resolvers, Broadcast Receivers
Continuous Integration
Jenkins, Travis CI and Hudson
Dependency Injection
Dagger 1, Dagger 2, Butter Knife, Android Annotations, RoboGuice
Programming & Scripting
Java, Kotlin, C/C++, PHP, PostgreSQL, CSS
IDE and Tools
Android Studio, Eclipse, IntelliJ, NetBeans
Database
SQLite, Firebase, Realm, Mongo
Version Control & Build Tools
SourceTree, GitHub, Git, Tower, BitBucket, Gradle,
Testing and Debugging
JIRA, DDMS tool, LeakCanary, JUnit, Espresso, Robotium, MonkeyRunner, Mockito, Fabric Crashlytics, Firebase Crashlytics
Data Management
SQLite, MongoDB, NFC, Firebase
RESTful Web Services
Retrofit, AsyncTask, OkHTTP, XML, SOAP, JSON, GSON, REST
Primary Frameworks
RxJava, Firebase, Google Services
Architecture and Design Patterns
Material Design Guidelines, MVC, MVP, MVVM, Builder, Façade, Decorator, Observer, Proxy, Visitor, Singleton, Bridge, Adapter, Prototype, Mediator, Command, Interpreter, Thread Pool
Threading & Back-End Services
Retrofit, Handlers, Loopers, Loaders, AsyncTask, Volley, RxJava
Push Notifications
Urban Airship, Firebase Cloud Messaging (FCM), Google Cloud Messaging (GCM)
Image Handling
Picasso, Glide
Media Libraries
ExoPlayer, Media Player
Dependency Injection
Dagger 1, Dagger 2, Butter Knife, IcePick
Security/Authentication
SpongyCastle, Key Store, Certificate Pinning, Shared Preferences, Key Chain
Misc
Retrolambda, NineOldAndroids, Parse, Parceler, Bluetooth Low Energy, Answers, EventBus
JetPack: Room, VIewModels, LiveData, Download Manager