Post Job Free
Sign in

Sr. Android Developer

Location:
United States
Posted:
June 27, 2024

Contact this candidate

Resume:

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)



Contact this candidate