Post Job Free

Resume

Sign in

Senior Android Engineer

Location:
Eau Claire, WI
Posted:
July 23, 2021

Contact this candidate

Resume:

EVAN WILCHER

Phone: 715-***-****

Email: adnuy4@r.postjobfree.com

Senior Android Developer

Kotlin MVVM MVP Java NDK ReLinker MixPanel Google Home Google Assistance API Play Services Keystore Retrofit SQLIte FSM BLE WiFi Protocols ExoPlayer Material Design Zeplin TDD BDD Mockito Espresso Firebase Robolectric AWS JetPack LiveData VOD Bluetooth BLE OAuth AES Encyption Dependency Injection Butterknife Reactive Programming RxAndroid Agile Scrum XP Push Notifications Patterns Instruments tests RESTful Web Service GIT GitLab SVN Jenkins MVC SOLID OOP Design Unit Testing Multithreading Jira OAUTH2 ZXing CARD.IO Stripe PayPal Android Studio Waterfall AsyncTask Loaders Circle CI JetPack Slices ContentProviders EventBus MonkeyRunner Slack Kanban Trello Nexus Confluence Node.js Android TV Koin Dagger Hilt MotionLayout

Technical Experience

11+ years of professional experience developing, delivering, and supporting multiple native Android applications through the Google Play store.

Skilled designing mobile applications to consume server-based REST APIs.

Solid knowledge of Java and Kotlin (including coroutines).

Expert understanding of the Android System APIs, Android app lifecycle.

Applied various architectures such as MVVM, MVP, MVC, etc.

Knowledge of open-source and commercial libraries commonly used in the Android ecosystem, including Android architecture components, Jetpack libraries, OkkHTTP, Retrofit, Volley, etc.

Knowledge of multi-threaded, asynchronous code.

Experience with animation, and implementing user interface designs.

Skilled writing Unit tests and automation tests with Espresso.

In-depth understanding of Web Services and SOA-related standards such as REST, JSON, etc.

Experience with mobile automation (Fastlane, XCode Server, Bitrise, CircleCI, Nevercode, Jenkins).

In-depth knowledge about multithreading, memory management, networking, performance optimization, and app security.

Experience with modern build strategies, continuous integration, unit testing, test driven development, static analysis, and automated integration tests.

Experience with voice interfaces and image processing.

Knowledge of Docker, Git, GitHub, OpenShift and Microservices Architecture.

Experience working in a remote team in Agile development environments as a detail-oriented team player.

Project Experience

December 19 – Present

Menards

Eau Claire, WI

Senior Android Engineer

https://play.google.com/store/apps/details?id=com.menards.mobile&hl=en_CA&gl=US

Work on an Agile dev team.

Apply a Scrum process.

Develop program specifications, write code, test, and deploy program changes and program development.

Maintain direct communication with Team Leads and Project Managers to ensure task scope is well defined and understood, and that deliverables meet deadlines.

Apply multi-tier web architectures and OOP design patterns and concepts.

Develop in Android SDK in Android Studio.

Program in Kotlin and Java using the latest version of Android Studio.

Develop modules in Kotlin using MVVM app architecture for ease of maintainability and extensibility, as well as improved quality testing.

Change from Rx1 to Rx2, including support for both Java and Kotlin.

Convert old responses using Rx2 error handling methods.

Use Android Studio to implement the RESTful API endpoints in Java.

Test the API endpoints using Postman.

Develop test plans and thoroughly test/debug all programs prior to implementation. Unit tests created Android Studio using JUnit.

Use reactive frameworks such as RxJava, RxAndroid, RxBluetooth, and RxKotlin.

Implement various user interface components such as WebView, ListView, ImageView, TextView to display the data for the application.

Native Android and third-party technologies used to optimize the functionality of the Android app, including Android Studio, Java, Kotlin, Android Pay, Android Wear, Crashlytics, Espresso, Custom Views, Facebook API, Twitter API, Google Maps API, SQLite, Urban Airship, Dagger, Butter Knife.

January 2018 – December 2019

Ford Motor Company

Dearborn, MI

Android Software Engineer

https://play.google.com/store/apps/details?id=com.ford.fordpass&hl=en_US

Followed an Agile/Iterative development process on the Android team (Scrum, Sprint, etc.).

Used Android Studio IDE and Android SDK to write application logic.

Migrated from Java to Kotlin for new features.

Gathered requirements to help create user stories.

Efficiently used Activities, Fragments, and internally created components such as the Unbound Event Bus, Transient Data Provider, View Callback Emitter, and Observer for building the app using MVVM architectural pattern.

Wrote code to construct Model to represent the data and business logic and expose its data through observables to be decoupled completely from ViewModel in MVVM architecture.

Employed Test-Driven Development to ensure code quality.

Wrote unit tests in in Java and Kotlin.

Used Adobe Experience Manager to handle string translations for Mexico and Spanish-US locales.

Developed library of modules for efficient componentization of functionality.

Used Dagger 2 for dependency injection to allow for more efficient use of codependent components in app.

Integrated with Adobe Analytics to provide usage tracking for activities to the business.

Applied REST web services using JSON, using Retrofit and RxJava to communicate with backend systems in the background.

Threading with Dagger2 for dependency injection and the use of various Jetpacks frameworks.

Implemented TDD by creating unit tests for all development using Mockito and Espresso for testing

August 2015 to January 2018

FEDEX

Memphis, TN

Android Developer

https://play.google.com/store/apps/details?id=com.fedex.ida.android

Wrote code to interact with the RESTful service server, as well as serializing the returned code into POJOs via the GSON library.

Built a custom lock screen widget to allow users to stop, play, and forward music.

Utilized Agile methodology to fulfill rapidly changing client requirements.

Programmed in Java using Android Studio and a MVP architecture.

Parsed JSON results from internal API using GSON.

Used Retrofit and RxJava to consume RESTful web services and handle multithreading on background for smooth performance.

Enhanced the module that communicates with the Java Web Services with Retrofit.

Used the location API, Maps View, and Google Maps.

Implemented custom/compound views for displaying queried data.

Created Compound views for a more attractive and efficient design.

Supervised the task reporting of all the team members.

Applied Dalvik Debug Monitor Server (DDMS) for debugging and testing.

Participated in the full lifecycle development process from product definition.

Retrofitted four legacy list views to the new RecyclerView / CardView combination, obtaining all the performance benefits.

UI/UX design and wireframing with multiple tools, including Balsamiq Mockups.

Usage of Bluetooth Low Energy to make tests and handle geo-fencing when getting close to iBeacon devices.

Worked with Content Providers to connect with and consume Android Contacts.

Implemented a SyncAdapter to generate an Observer pattern in the User Interface so it can get notified every time the data in the content provider changes.

Chaired the integration with the Facebook API inside the application.

Set up JaCoCo to check my code coverage of new code.

Extensive use of Fragments to enhance user interface experience.

Implemented Parcelable to the classes for easier bundle transportation.

May 2013 – August 2015

Level Money, Inc.

San Francisco, CA

Android Mobile App Developer

https://play.google.com/store/apps/details?id=inc.zerofinancial.level&hl=en_CA&gl=US

Documented all changes made to the app, improvements, fixes and new features, backend and front-end development.

Debugged and tested the application using Robolectric.

Solid understanding of and hands-on experience in the full mobile software development life cycle.

Improved the layout rendering by saving and optimizing the view hierarchy in all the resources.

Added the Parcelable interface to pass custom objects between components quickly via Intents.

Used Espresso for instrumentation testing using Assertions, Matchers, and Actions.

Worked with LRU Cache to increase the performance of ListView scrolling.

Used various tools for development, testing, debugging, and performance benchmarking.

Updated the look and feel following Material Design guidelines.

Supervised the creation of the unit, integration, and stress test cases.

Actively worked with the back-end team to improve the RESTful API to include new features.

Developed compound views to present information to the user depending on its preferences

Set-up and managed private GitHub repositories to host internal code.

Implemented a WebView control to reuse some legacy web application functionality within the native app.

Implemented Google Analytics, Flurry for various analytics.

Implemented several Fragments for the UI.

Utilized the Eclipse IDE to develop and code the application.

Ensured excellent form factor integration by creating multi-panel activities with Fragments.

June 2010 to May 2013

MyNetDiary.com

Cherry Hill, NJ

Jr. Android Developer

https://play.google.com/store/apps/details?id=com.fourtechnologies.mynetdiary.ad

Worked with cross-functional team with 2 weeks sprints.

Scanned food package for easy calorie and nutrients entry and timely notifications to log meals.

Configured to log daily meals and exercise.

Programmed visualized calorie counter and macro statistics tech implementation.

Improved Android Keystore program to store cryptographic keys in a container and protect key material from unauthorized use.

Resolved camera and external storage dangerous level permissions introduced in Marshmallow version.

Measured usage trends, uncovered issues, and analysed behaviours using Crittercism SDK.

Refactored Twitter's login to ensure compatibility with the application's base architecture.

Used ORMLite for persisting Java objects to SQL databases for offline mode features.

Optimized app to use Sensors API to provide access to raw sensor data streams from sensors available on the Android device.

Used History API to provide access to the fitness history and perform bulk operations, like inserting, deleting, and reading fitness data.

Deployed beta version of the app, which helped to identify bugs, user experience issues, and functionality problems.

Wrote unit tests for mobile code and debugged critical application issues such as crashes, memory leaks, and concurrency problems.

Handled various technical aspects like coding of modules using the given design specifications, debugging, and fixing the defects as well as analysing root cause.

Responsible for developing the user login screens and design the Context menus based on the Android Menu Navigation, Tabbed Navigation control and Action Bar Control.

Unit tested code with a TDD approach and worked with QAs to create test suites.

Education/Other

Bachelor of Science - Game Development - Full Sail University



Contact this candidate