OSCAR GUSTAVO MORENO BAUTISTA
Email: *****************@*****.***
Phone: 612-***-****
Senior Android Developer
Android development experience: 9 years with 5 apps on Play Store.
Experience building Android apps from scratch as well as revision, refactoring, and transitioning architecture (MVC, MVP, MVVM) and code base (Java to Kotlin and Android versions).
Proficient in both Java and Kotlin
Android performance profiling, memory and power management and optimizations.
Native Android Development in Android Studio and Eclipse using Java and Kotlin.
Worked with all the latest Jetpack libraries including Compose.
Worked with Coroutines and Kotlin Flows.
Apply design patterns such as Singleton, Facade, Factory, Builder, Adapter.
Implemented the user interface by using Custom Views, RecyclerView, Constraint Layout, Linear Layout and Table Layout.
Improved the layout rendering by saving and optimizing the view hierarchy in all the resources.
Leveraged beautiful cleaner interface, plus design changes using Android material designs tools like CardView, Toolbar, RecyclerView, animations properties and support libraries for this Android mobile app.
Improved the performance and UX of several modules of the local Content management system.
Work with Shared Preferences, Cipher, Certificate Pinning, TrustManager, Bouncy Castle, Spongy castle, SQLCipher, KeyChain, Key Store.
Knowledgeable of the latest analytics tools for mobile applications such as Google Analytics, Localytics, Mixpanel, Answers, Flurry, Crashlytics, NewRelic, etc.
Experience in Git for code base and version control (GIT, GitHub, GitLab).
Experience working on Agile development teams using Scrum processes.
Used Android frameworks and APIs to efficiently load data and update databases: Loaders, AsyncTaskLoader and SyncAdapters.
Well versed in Android third-party libraries such as Volley, Retrofit, Picasso, YouTube, Location API, Maps View, Google View, Google Maps, PayPal, Stripe, Android pay, QR Droid, Butterknife, Dagger, Google Wallet payments, Android Annotations.
Skilled in consumption of RESTful web services (REST, HTTP-based, XML, SOAP, JSON, etc.) and use of Retrofit, Volley for Android back-end communications.
Practical implementation of Android Life Cycle, Fragments, Intents, and threads on Android; binding services, implicit and explicit Intents, background processes, sync adapters, activity, activities for Result, WebView, ImageView, TextView, RecyclerView, ListView, and Object-Oriented design and programming.
Skilled in leadership and able to work well with all people, mentoring developers, working with project managers, stakeholders, and cross-functional team members.
Technical Skills
Programming Languages & Tools: Java, Kotlin, C++
Database: SQLite, Mongo, Room DB, Firebase
Android Libraries: Retrofit, Room DB, LiveData, RxJava, Glide, Picasso, TextureView Video Player, RxAndroidBle, RxAndroid, EventBus, HttpLoggingInterceptor, Dagger2, Dagger1, Hilt
Version Control: GitHub, Git, Source Tree, BitBucket
Architecture & Design Patterns: MVC, MVP, MVVM, Singleton, Builder, Factory, Facade, Dependency Injection
Debugging & Testing: Jenkins, Leak Canary, Mockito, Espresso, JUnit, Monkey Runner, RoboElectric
IDEs: JCreator, Android Studio, NetBeans, Eclipse, Visual Studio, Gradle
OS: Windows XP/7/8/10, Mac OS
UI/UX Android: RecyclerView, Android ListView, GridView, CardView, ConstraintLayout, GuideLines, BottomNavigationView, LinearLayout, Vector Drawables, Animations, AnimationUtil
Scheduling: WorkManager, JobScheduler, Evernote Android Job, Handler, AlarmManager, Pending Intents
Issue Tracking: Jira, InstaBug
Professional Experience
Minneapolis, MN since March 2021 – Present
Android Mobile App Developer
Client: Target Corporation
Link: https://play.google.com/store/apps/details?id=com.target.ui
Experienced in Agile development: Participated in Scrums, Sprit Planning, Sprint Retrospectives and Backlog management.
Created supporting home screen widgets to display specials based on user preferences.
Used Glide libraries for image handling.
Used Retrofit in RESTful web service consumption with Coroutines for multithreading.
Supported multiple screen Android devices using Fragments and width-aware layouts.
Created animations for the Android apps (tween animations, view animations, frame animations)
Implemented Firebase using Firebase Cloud Messaging for user notifications.
Use of Crashlytics and Leak Canary in optimizing and debugging.
Created new features programmatically in Android Studio using Kotlin.
Implemented the user interface by using Compound View, Custom View, RecyclerView, View Pager and Tab Layout and basic use of Jetpack Compose.
Improved the layout rendering by saving and optimizing the view hierarchy in all the resources.
Integrated payment processing using proprietary APIs.
Used SharedPreferences to provide consistency with local key-value pairs.
GitHub and Git version control, merges and commits.
BitRise.io employed as continuous integration tool.
Refactored Android code base from Java code to Kotlin and created new classes in Kotlin using Android Studio.
Added Android Jetpack components (LiveData, ViewModel, Room).
Created custom List Views, custom Layouts, custom Action bars as per the mockups provided.
Integrated location-based services using Google Maps API to display locations of the nearest stores.
Use of Android Data Binding and Dependency Injection.
Created modules and views in MVVM design pattern.
Used Android Studio to develop the screens for the application using MVP and MVVM design pattern.
Unit Testing using Junit, Mockito with 75% coverage
Fazenda Rio Grande, Brazil Mar 2020 – Mar 2021
Sr. Android Developer
Client: Neto Applications Ltd.
Link:https://play.google.com/store/apps/details?id=com.shoutcast.stm.radioevangelizandoasnacoes&gl=US
Used Kotlin for writing code.
Collaborating with UI and UX Designers, as well as Software Testers, to ensure that each app is presentable and in perfect working order.
Creating app updates, including bug fixes and additional features, for release.
Design patterns used included Abstract Factory, Façade, Builder and Singleton.
Developed application using components like Activities, Fragments, Broadcast Receivers and Services in Android.
Following Agile Methodology for efficient project management.
Reviewing user stories and requirements, reviewing code, and communicating across the team.
Delivering quality software using the Collaborator tool and TeamCity CI/GitFlow.
Collaborating closely with the designers and updating team to determine and define requirements.
Developed new Kotlin modules and migrated existing Java code into Kotlin.
Implementing layouts using the latest RecyclerView and CardView combinations to improve the User Interface.
Developed database wrapper functions for data staging and modelled the data objects relevant to the application.
Programmed ‘Privacy policy’ and ‘Teams conditions’ page user interface using material design principles.
Implemented Disk-based LRU cache to target Android compatibility for accessing file system.
Used Fused Location API and Geocoder API to display real-time delivery location on Google Map.
Replaced Google Wallet API with the PayPal SDK to accept payment and tips.
Wrote barcode scanning code algorithm to support multi-format 1D/2D barcode image processing using ZXIng library.
Coded account management feature, including create, sign in, password recovery, retrieve, and update account details.
Created dynamic user interfaces without nesting multiple layouts using Constraint Layout and perform view optimization.
Edited/optimized view animations, frame animations, tween animations etc.
Applied Jenkins for continuous integration.
Used Jira for ticket, make sure dashboard everyone is assigned work and backlog defect tickets are single digits.
Mentored junior developers creating proper documentation files and define onboarding process for new developers joining the team.
Unit Testing using Junit, Mockito with 75% coverage
Mexico City Apr 2019 – Jan 2020
Android Developer
Client: Banco Azteca
Link: https://play.google.com/store/apps/details?id=mx.com.bancoazteca.bazdigitalmovil&gl=US
Worked with Android app development team to improve the performance of the app’s backend technology and enhance various features and functions of the app. Highlight technical work:
Developed highly efficient Java code and view layouts and the ability to diagnose performance bottleneck.
Worked with Android notifications to send reminders to the User Interface.
Implemented user login screens and designed context menus based on the Android Menu Navigation, Tabbed Navigation control, and Action Bar Control.
Used Kotlin and MVVM.
Worked in databases using native Android API and server-side MS SQL server database.
Responsible for developing the Android UI layouts (Linear Layout, Relative Layout).
Implemented Singleton Object class for managing 3rd party API to access the information in various modules of the Android application. Responsible for developing the Android UI layouts (Linear Layout, Relative Layout).
Boulder, Colorado Jan 2015 – Apr 2019
Android Developer
Client: Leverage Consultants Pvt. Ltd
App Name: Education Haward Media
Link: https://play.google.com/store/apps/details?id=co.haward.kwfsp&gl=US
App Description: Right from understanding the topics to clearing the exam, we offer you a one-stop solution for all your learning needs. Now learn with us, uninterrupted from the safety of your home.
With a simple user interface, design and exciting features, our app is the go-to solution for students across the country. Why study with us? Want to know what all you will get?
Used Kotlin for writing code.
Collaborating with UI and UX Designers, as well as Software Testers, to ensure that each app is presentable and in perfect working order.
Creating app updates, including bug fixes and additional features, for release.
Design patterns used included Abstract Factory, Façade, Builder and Singleton.
Developed application using components like Activities, Fragments, Broadcast Receivers and Services in Android.
Following Agile Methodology for efficient project management.
Worked with Android notifications to send reminders to the User Interface.
Implemented user login screens and designed context menus based on the Android Menu Navigation, Tabbed Navigation control, and Action Bar Control.
Unit Testing using Junit, Mockito with 75% coverage
Mexico City Jan 2014 – Jan 2015
Android Developer
Client: Business Consultant Learning
App Name: Fun with Learning
Link:https://play.google.com/store/apps/details?id=business.consultant.learning&gl=US
App Description: How to Become a Business Consultant and business consultant learning, Management consulting firms are being hired regularly these days as business leaders are attempting to avoid company failures. If you don't know how to become a business consultant, you can learn through an online training course. These courses can be completed in as little as five months and are very inexpensive at less than a thousand dollars. They are highly specialized and culminate in a comprehensive, qualifying exam. When the students pass the exam, they have earned a certification credential, such as Certified Business Consultant, or CBC. This credential is valuable for resumes, business cards, websites, and more.
Used MVP architecture and integrated third-party SDK and frameworks.
Worked with Butter Knife, Font Awesome, and GSON.
Used Loading Spinners while loading data.
Handled multithreads to receive and update calls from web server (Service and Broadcast Receiver).
Used Frame Layout method to show background images of the app.
Worked in an Agile environment delivering in short sprints.
Implemented local database using SQLite.
Designed user screens with Android UI design (including Custom Views).
Integrated Google Analytics into the application using Firebase Android to track the usage of application, number of people, number of downloads, etc.
Worked on embedded devices for power management, integrated their SDK into the app and worked on functionalities like WIFI, Bluetooth, and cellular data for data transfer.
Involved in designing the logical flow for the application for different components.
Followed up by testing user interface, errors with all possible inputs, debugging several applications using ADB.
Used Multi-threading to implement parallel processing.
Worked on Android.mk files to build Source Code as part of build environment.
Used BlackBerry JME JDE to test software on the device.
EDUCATION
Institute: National Polytechnic Institute
Bachelor’s degree: Informatics Engineering
Technical’s degree: Computer Technician