SUMMARY Android development experience: **+ years with 6 apps published to Play Store.
Overall software/IT and Android experience covers 16 years.
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).
Familiarity with push notifications, APIs, and cloud messaging.
Android performance profiling, memory and power management and optimizations.
Experience working on Agile development teams using Scrum processes.
Native Android Development in Android Studio and Eclipse using Java and Kotlin.
Apply Java patterns Singleton, Facade, Factory, Builder, Adapter.
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.
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).
Used Android frameworks and APIs to efficiently load data and update databases: Loaders, AsyncTaskLoader and SyncAdapters.
Skilled in consumption of RESTful web services (REST, HTTP-based, XML, SOAP, JSON, etc.) and use of Retrofit, Volley, AsyncTask Android back-end communications.
Expertise in 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 using designs tools like CardView, Toolbar, RecyclerView, animations properties and support libraries for this Android mobile app.
Used the UI toolkit for building native Android user interfaces. UI framework, part of the Android Jetpack libraries.
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.
Hands-on with testing tools such as Mockito, Espresso, Robotium, etc.
Implement full life cycle of SDLC from Analysis, Design, Development, Deployment and Testing of Application.
Proficiency in CI/CD Tools, CI/CD tools: Jenkins, Travis CI, CircleCI, GitLab CI/CD, Azure DevOps
Proficiency in Qt Framework: Qt framework,
TECHNICAL SKILLS
Technical Skills
Languages: Java, Kotlin, .NET, C#, C++, HTML, CSS, JavaScript, Git, .NET MVC, Visual Basic, Windows Batch & Shell Scripting, Java EE, JavaBeans Databases: SQLite, Firebase DB, MongoDB, T-SQL, MS SQL, My SQL
IDE: Android Studio, Eclipse Design Standards: Material Design Architectural Patterns: MVP, MVC, MVVM
Design Patterns: Abstract Factory, Adaptor, Bridge, Builder, Command, Decorator, Interpreter, Monitor Object, Observer, Proxy, Singleton, Visitor Project Tools: JIRA, Kanban, Trello, Slack, Confluence, VSTS
Methods: Test-Driven Development (TDD), Continuous Integration, Agile, Scrum, Pair Programming
Version Control: Git, GitHub, Bitbucket RESTful Web Services: REST, SOAP, XML, JSON, GSON, Moshi, Retrofit, Volley, OKHTTP
Threading: Loopers, Loaders, Handlers, Async Task, Intent Service, Rx Java, Coroutines
Data Binding: Android Data Binding Library, Butter Knife
Frameworks: Firebase, Reactive-X, JetPack
Android Security: Spongy Castle, Certificate Pinning
Profiling: Bluetooth Low Energy, Leak Canary, Crashlytics
Media: Expo Player, Media Player, Picasso, Glide, Fresco
Testing: Junit, Espresso, Mockito, Robotium
Analytics: Mix panel, Flurry Dependency Injection: Dagger 1, Dagger 2
Push Notifications: Google Cloud Messaging (GCM), Firebase Cloud Messaging (FCM)
UI Implementation: Navigation Drawer, Widgets, UI Automator, Floating Action Button
Misc Libraries: Job Scheduler, Event Bus Continuous Integration: Bitrise.io, Jenkins, Hudson, Travis
Build: Gradle
Reactive-X: Rx Android, Rx Java, Rx Cache, Rx Bluetooth
JetPack: Live Data, Room, View Model, Download Manager
Misc: Schematic, Monkey Runner, Sync Adapters, Ion, Kickflip, Parse, Parceler
EXPERIENCE Android Lead Developer, 07/2022 - Current
Blue Shield, Houston, Texas
BLUE SHIELD
https://play.google.com/store/apps/details?id=com.blueshieldca.prod&hl=en_U S&gl=US
Programmed in Kotlin with MVVM architecture.
Implemented new features in MVVM and refactored older features from MVP to MVVM
Architected the app with MVVM architectural patterns, and various design patterns such as Abstract Factory, Builder
Separated business logic (Model), UI components (View), and control logic (Controller).
Achieved modular and maintainable codebase by adhering to MVC principles.
Blue Shield of California app is a member facing application that allows members to find doctors, view claims, pay
premiums. This app is adding features and capabilities to better give the member the information on their health insurance.
Code Contribution:
Implement and mentor the team on efficient asynchronous programming models using Kotlin Coroutines, emphasizing best practices for managing complex operations and concurrency.
Champion the development and maintenance of a robust suite of unit tests, ensuring high-quality, reliable code. Promote test-driven development (TDD) practices.
Oversee the creation of comprehensive UI tests to ensure application interfaces meet design specifications and function correctly across devices.
Product Owner directly involved with creating Jira Stories for features in development.
Added enhancements to existing features like dental and vision benefits and added new features to the app such as
Authorizations and new plan types
Used Android Studio for a native Android app
Security of transmitted Personal Health Information secured by token-based authentication and SSO to follow HIPPA
standards
Used Google libraries including Jetpack and first-party libraries like Volley
Agile development methodology with a strong Scrum Master
Sprints lasted 2 weeks with a release every 4-6 sprints
Utilized Bitbucket with code reviews and release branches
Utilize Mockk for mocking dependencies in Kotlin unit tests, ensuring tests are focused, fast, and reliable.
Promote the Model-View-ViewModel (MVVM) architecture within the team for a scalable, maintainable, and testable codebase.
Challenging Git commit strategy that did not utilize the Pull Request for approvals
Challenge working with third-party authorization/pre-authorization provider. Working to improve performance with the
query of their API
Used JIRA for tracking stories and the story progression through the Development, QA, and Acceptance Testing
Role:
Small team of mobile, responsive web, and service layer/server (Approx. 18 including QA and UX)
I worked with adjusting UI elements for the new enhancements to Dental and Vision claims.
Worked with team adapting UI elements for the different types of plans being integrated with the app
Worked establishing a entire new feature for authorizations. Including new services and UI elements
Senior Android Developer, 09/2020 - 07/2022
First Midwest Bank, Chicago, IL
Start banking wherever you are with First Midwest Mobile! Available to all First Midwest Bank online banking customers. First Midwest Mobile allows you to check balances, make transfers, pay bills, make deposits, and find locations. https://play.google.com/store/apps/details?id=com.mfoundry.mb.android.mb_6 42&hl=en_CA&gl=US
· Improved Android Keystore program to store cryptographic keys in a container and protect key material from unauthorized use.
· Authenticated users via Fingerprint scan API and implement the user interface for the fingerprint authentication flow.
· Persisted Realm data to disk and 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.
· Migrated to Jetpack Compose by adding Compose to an existing screen built using Android Views and managed state in composable functions.
· Performed gRPC authentication, including gRPCs built-in error codes with use of SSL/TLS to authenticate server and encrypt all data exchanged between client and the server.
· Pair programmed to perform migration of the existing DEV/USR/PRD environments to the cloud for the native application resulting in reduce of servers and infrastructure administration by 97%.
· Integrated Flow API with Kotlin coroutines to handle streams of values, transform data using Flow operators, code exception handling during flow processing and combine multiple Flows
· Configured GSON converter to convert data in JSON format into POJO.
· Applied OKhttp3 and Logging interceptor to log API call Infos.
· Used Hilt for dependency Injection.
Improved Android Keystore program to store cryptographic keys in a container and protect key material from unauthorized use
Authenticated users via Fingerprint scan API and implement the user interface for the fingerprint authentication flow
Persisted Realm data to disk and 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
Migrated to Jetpack Compose by adding Compose to an existing screen built using Android Views and managed state in composable functions
Performed gRPC authentication, including gRPCs built-in error codes with use of SSL/TLS to authenticate server and encrypt all data exchanged between client and the server
Pair programmed to perform migration of the existing DEV/USR/PRD environments to the cloud for the native application resulting in reduce of servers and infrastructure administration by 97%
Integrated Flow API with Kotlin coroutines to handle streams of values, transform data using Flow operators, code exception handling during flow processing and combine multiple Flows
Configured GSON converter to convert data in JSON format into POJO
Applied OKhttp3 and Logging interceptor to log API call Infos
Used Hilt for dependency Injection
Developed a library that abstracted the core banking business rules and defined the business objects to provide interface for GUI
Used coroutines for asynchronous call and handle threading
Wrote Functional, Unit, and Instrument tests using Mockito and Espresso
Fixed issues for security scans such as SSL, encryption, loopholes and profiled the application using APK analyzer
Created and tested with Custom Proxy tool to diagnose emulator connection to Bank's Payment Services.
Senior Android Mobile App Developer, 04/2018 - 09/2020
Trane, La Crosse, WI
Take care of your home and the people in it from anywhere with Trane® Home (formerly Nexia™). Trane Home is home automation made simple because now you stay connected everywhere you go. Run the most important systems in your home - thermostats, locks, lights and cameras - from your Android phone. https://play.google.com/store/apps/details?id=com.schlagelink.android&hl=en_ CA&gl=US
· Applied build work to a MVVM clean code architectural pattern.
· Refactored arrays and refactored some modules from Java to Kotlin.
· Applied ML Kit mobile SDK to enhance app with machine learning aspects.
· Utilized latest version of Google application programming interface (API) for communication with Google Services and related integration to other services.
· Set up and configured an RxAndroidBLE environment.
Applied build work to a MVVM clean code architectural pattern
Refactored arrays and refactored some modules from Java to Kotlin
Applied ML Kit mobile SDK to enhance app with machine learning aspects
Utilized latest version of Google application programming interface (API) for communication with Google Services and related integration to other services
Set up and configured an RxAndroidBLE environment
Used Jetpack Compose for UI development
Utilized Firebase Real-Life Database to remotely store information from the Room Database, enabling users to maintain their information when changing devices
Managed automated testing with additional quality with Charles Proxy and Leak Canary
Encrypted and decrypted the shared preference data with the AndroidX Security Library
Refactored codebase with JobIntentSerivce, WorkManager, and Paging
Utilized two-way data binding to communicate between ViewModel and XML files
Implemented Jetpack component for data binding along with Dagger 2 and Hilt for dependency injection
Integrated Firebase Remote Config API to change the styles and themes of app in app preferences
Worked with Jenkins CI server for continuous integration and followed Test- Driven Development (TDD) methods
Applied elements of Kotlin Flow such as coroutines to interact with the database and networking operations in repository layer in Clean Code architecture.
Android Engineer, 06/2016 - 04/2018
Chevron Mobility, San Ramon, CA, IL https://play.google.com/store/apps/details?id=com.stuzo.chevron&hl=en_CA&g l=US
App Description:
Use your smartphone and the Chevron app to pay for fuel from the comfort of your driver's seat for a fast and simple experience at the pump!
Contributed to Agile project management and product development approach by participating and contributing to Sprint Planning Meetings, Sprint Grooming Meetings, Code Grooming Meetings, Spec Defining Meetings, etc.).
Worked on the application from scratch using JetPack components and Android KTX.
Migrated code to Kotlin language with coroutines, sealed classes, null safety checks on Techron Advantage Card feature to check balance and make payments.
Converted the data model, API communication service layer, and view UI layer to Kotlin programming language and JetPack library.
Used RxKotlin in conjunction with RxAndroid, RxBinding libraries to make app multithreaded and perform asynchronous operations.
Included PdfViewer SDK to view in-app receipts for Mobile Payments.
Added ability to mock final classes/methods using Mockito and strived for 85% unit test code coverage.
Added WorkManager to the project to periodically sync application data with a server and send logs and analytics to backend services.
Pair-programmed with the Dev-Ops team to enhance the deployment process for several environments using Bamboo and Jenkins.
Wrote technical API documentation.
Implemented Data Classes, Sealed Classes, and Singleton Objects.
Enabled modular app development and worked on Chevron SDK with functional reactive programming using Map, Flattop, Zip, Concat operators.
Implemented LiveData to notify views of any database changes, managing activity and fragment lifecycles.
Used Koin for Dependency Injection and Data Binding with Observables for easy binding integration.
Pair-programmed to link PayPal account and Techron Advantage Card to user account using RxKotlin and Retrofit.
Added a custom account to the user's device to authenticate back-end services using OAuth 2.0.
Improved location-based features including geo-coding, geo-fencing for station locator features to find a Chevron or Texaco station.
Mentored junior developers about code issues, programming techniques, architectures, communications protocols, project methodologies, etc.
Ensured good standards and best practices are in place for all code released with code reviews.
Analyzed requirements and development strategies for the development of the Web and the Android product.
Android App Engineer, 02/2014 - 06/2016
United Airlines, Chicago, IL
The United app allows the user to book tickets, check-in, scan mobile boarding passes, manage the United Club membership for access to United Club locations, MileagePlus card, travel tools, including check-in, booking and flight status. https://play.google.com/store/apps/details?id=com.united.mobile.android
· Worked closely with back end team to redesign RESTful web services
· Created a Push Notification Server using NodeJS and implemented MongoDB and MSSQL databases to store unique device keys.
· Worked closely with designers to create the look and feel of the application meeting Google's design standards while following company's corporate identity guidelines.
· Integrated Facebook and Twitter for social networking
· Worked with the back-end team to implement a secure login system for the application
Worked closely with back end team to redesign RESTful web services
Created a Push Notification Server using NodeJS and implemented MongoDB and MSSQL databases to store unique device keys
Worked closely with designers to create the look and feel of the application meeting Google's design standards while following company's corporate identity guidelines
Integrated Facebook and Twitter for social networking
Worked with the back-end team to implement a secure login system for the application
Designed and implemented a module for users to review their historic travel information
Designed application workflow and wireframe for new modules
Improved the performance on the UI by implementing fragments and implementing the RecyclerView
Participated in pair programming to reduce learning curve on new Kotlin language implementation
Migrated from MVP to MVVM architecture to reduce and consolidate code to make use of Android Ktx plugin
Participated in code reviews and applied the Jacoco tool to ensure complete code coverage review
Integrated push notifications messages with cloud tool Firebase to populate new updates on schedules
Improved the user experience by including android wear compatibility
Integrated VideoView for video promos about upcoming events
Used Bluetooth low energy and Leak Canary to solve mobile networking performance issues
Implemented a Navigation Drawer for quick access to different activities and a better User Experience.
Android Coder, 05/2012 - 02/2014
General Insurance, Nashville, TN, IL
G-Play: https://play.google.com/store/apps/details?id=com.pgac.general.droid
Write and tune SQL queries for performance and scalability
Develop back-end solutions for data-driven executions
Development of online background and credit check module for lease applicants.
Developed payment method management dialog screens to add/edit payment methods with encrypted values
Query backend server using Async Task discover to display user-profile and see current claims
Propose the usage of WeakReferences into our observers to avoid leaking activities and views
Emphasise on unit testing using Mockito and setup jaCoCo to check my code coverage of new code
Work 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
Increase web traffic 125% by improving navigation, creating dynamic media sections, and adding social media plugins
Role:
Implement capabilities for automated test & upgrades
Collaborate with other team members to translate business requirements into user stories
Identify and resolves programming or application architecture problems
Project Information Manager, 06/2007 - 05/2012
Fluor Corp, Sugar land, NY
•Manage Energy and Chemical construction project IT needs. Projects located in America, Russia, andSaudi Arabia for clients including BP, Dow, Aramco, and Exxon.• Responsible for providing project members with computing resources as needed to satisfy companyand client requirements. Interfaced directly with project stakeholders to deliver electronic deliverablesupon the conclusion of the completed project.• Supported construction team members on-site with networks, computers, servers, and other networkoffice equipment.
EDUCATION UNIVERSITY OF TEXAS, 2006
Computer science
UNIVERSITY OF TEXAS Bachelor of Computer Science - Dallas, TX (2006)