Alex Koch

Expertise

Languages – Kotlin, Java, XML, HTML5, JavaScript, CSS, PHP, C++

Platforms – Android, iOS, Windows

Tools – Android Studio, Jetpack, JIRA, Firebase, Microsoft Azure, JUnit, Espresso, Titanium, Xamarin, Git, Photoshop

Experience

Lead Android Developer

August 2022 – Present

Senior Android Developer

January 2021 – August 2022

Kohl's

Applications: Self-Pickup, Associate Apps/Libraries

Worked with balanced teams at Kohl’s on a variety of projects including associate and customer facing applications. Led the implementation of best practices to improve the aging code base. Provided training and mentorship to improve the skills of junior developers on the teams.


Self Pickup - Designed and developed a webapp for self-pickup at Kohl’s. This new app allows customers to walk into the store and pick up online orders without the assistance of an associate. Customers receive an email when their order is ready for pickup, go to the store, enter a code, pick up their order, and walk out.


Pickup - Redesigned the associate facing pickup app to simplify adoption, increase productivity and add offline capabilities. Scanning an order number or entering customer info with the pickup app assists associates with finding and delivering in store pickup orders, drive up orders, and self pickup orders to customers.


ISU (Inventory, Stock and Unload) - Developed and maintained features for multiple apps in the ISU process and the core library used by all associate apps. Focused on reducing tech debt, upgrading and implementing the latest coding practices into the core library. Implemented automated testing into applications and their build pipeline.


  • Features: Offline, Barcode Scanner, Zebra Devices, Android 8-10

  • Tools Used: Android Studio, Kotlin, Java, Next JS, Compose, MVVM, Firebase, Git, Jetpack, Unit Testing, Espresso, Cucumber, GitLab, Balance Teams

Senior Android Developer

August 2019 – September 2020

Applications: ORO Pay, ORO Merchant

Developed, maintained, and released features for ORO Pay, an app for the underbanked in Brazil. ORO Pay features cards with account balances so users can safely store and transfer money without needing a bank account or credit card. ORO Pay supports payments to the ORO Merchant App or to card readers at businesses in Brazil. Worked with the business team in Brazil to create new features that improved the user experience. For example, developed an ORO Store platform so users could purchase digital items and codes for Spotify, Uber, ect. Other new features included account transfer options through Loterica cash withdrawals and ATM withdrawals as well as a feature to allow users to add minutes to their phone through the app. App development also required collaborative teamwork with the backend software group both in the US and in Brazil.

Built a new greenfield app of the ORO Pay app using Kotlin replacing the original code that was written in Brazil using Java and out-of-date design patterns. Created streamlined login process using Amazon Cognito. Created a new card carousel for displaying cards. Added new transfer options Peer to Peer and Card to Card. Created new QR code renderer and used Google ML Kit to scan QR codes to help facilitate Peer to Peer transfers when the user is at a merchant.


  • Features: Online/Offline, Camera, GPS, Android 5.0-11.0

  • Tools Used: Android Studio, Kotlin, Java, MVVM, Amazon Amplify with Cognito, Firebase, Git, Google ML Kit

RPN Dominator Calculator is a reverse polish notation (RPN) calculator that I created to fully utilize the touch screen of a phone and not have any unnecessary app permissions. I rewrote this app in April of 2019 to utilize Kotlin and update it to more modern frameworks. Most RPN calculators on the app store utilize old HP 15c rpn calculator layout replicating even the images for the buttons. My goal was to use the vertical space of a phone screen and provide more user flexibility that exists with touch screens. Some examples are a stack that shows more than one row, allowing drag and drop to reorder rows, swap rows with two taps, and swipe a row to delete. I added error messages that show full error messages for example when the stack is empty or the user divides by zero. Another new feature added was the undo button to allow rapid changes if mistakes were made during entry without the need to start completely over.


  • Features: Undo, Drag and Drop, Swipe to Delete, Offline Persistent Data, Android 5.0+

  • Tools Used: Android Studio, Kotlin, MVVM, Room

Mobile Developer

July 2017 – March 2019

Applications: FieldView, Team

FieldView - (Android, iOS, Windows) - Largest and oldest app at Viewpoint dating back to Pocket PC days and has 10k+ active devices globally. Construction mobile app allowing personnel in real-time to navigate the construction site, to file forms, to complete task lists, and to track progress of work. Construction companies can track who completed work, compile digital records of all activities, and track overall progress of a project.

Team - (Android, iOS, Windows) - Allows users to create RFI (Requests for Information) to quickly get information needed to complete the job on site.

Worked in the Microsoft development stack using Xamarin to develop Windows and iOS while Android was still native. Developed new features, maintained existing features, and updated older code to modern practices. Time was split between all 3 platforms to ensure each platform had all features released together for each monthly release.


  • Features: Online/Offline, Camera, GPS, Android 4.1-9.0, iOS 8-12, Windows 8.1-10, Telemetry, Analytics

  • Tools Used: Android Studio, Xamarin, Java, C#, Xamarin Forms, Visual Studio, Microsoft Azure

Android Developer

March 2017 – May 2017

Contracted to maintain and update the TabbedOut application through a partnership between the two companies. Worked on fixing specific UI issues across different screen sizes to make the app consistent across any screen size. Updated app to prevent crashes.


  • Maintained, Fixed Bugs, and Updated App Features

  • Tools Used: Java, Android SDK, Android Studio, Git, JIRA

Android Developer

March 2015 – January 2017

Application: (Internal) Housekeeping

Developed an internally used Android app for housekeepers at Vacasa improving the efficiency of the housekeepers’ everyday tasks by providing the info needed for cleaning, tracking hours worked, maintenance tickets, supplies, directions to homes, and key house information. Worked with an API team to design and retrieve the info needed by the app.


  • Features: Online/Offline, GPS, Camera, Phone, Encryption, Google API, Multiple Languages, Android 4.0 - 7.1

  • Tools Used: Java, Android SDK, Android Studio, Fabric, JIRA, Git, Appsee, Appaloosa

Mobile Application Developer

July 2014 – February 2015

Developed a mobile e-commerce app for Rexel and all the brands under Rexel. Created one source of code for the different brands and languages using Titanium. Development was focused on utilizing hardware features of Android and iOS devices to enhance the users mobile experience such as a barcode scanner.


  • Created, Updated, Maintained, and Released App Features

  • Tools Used: Titanium SDK, JavaScript, Agile, Android, iOS

Mobile/Web Developer

May 2012 – July 2014

Converted and updated iOS app 123 Calling and created an Android kiosk app for the San Francisco Asian Art Museum. The 123 Calling app was updated and converted from English to Simplified Chinese so that Chinese students could learn English. The Art Museum app was for an Android tablet that could be placed next to an art piece so people could select and learn more about certain aspects of a piece of art as well as zoom in for close up details of the artwork.


• Tools Used: Corona SDK, Android, iOS, Xcode, Hype, HTML5, CSS

Software Engineer Intern

June 2012 – August 2012

Developed and launched an internal web page that displays and graphs printhead and ink usage. This reduced weekly graphical development time from hours to minutes. Created a new heat map graph to analyze usage trends.


  • Tools Used: PHP, JavaScript, HTML, CSS, JpGraph, SCRUM

Hobbies

  • Arduino – Built arduino control system for soil moisture detection for plants

  • VR – Early adopter of VR

  • Soccer – Played club soccer and love outdoor as well as indoor soccer

  • Disc Golf – Have you been to Horning’s Hideout?

Education

Northern Arizona University

BS Computer Science

Years: August 2009 – December 2013


Relevant Course Work at NAU

Advanced User Interfaces

  • Android / UI Development

CS 477 Software Engineering CS 376

  • Software Development Processes / Documentation

Virtual Worlds CS 413

  • Game Design / Development

Computer Graphics CS 430

  • OpenGL ES 2.0


Web Development - NAU Capstone (Senior Project)

Automated Grouping Website - Group Wrangler

August 2012 – May 2013

Created a website with an intuitive and easy to learn user experience for creating and managing groups in a social community

Automated group management that combines members using common attributes and grouping rules

Developed an analysis tool for filtering, graphing, and tracking user and group data

Allows future developers to easily modify and adapt existing functionality to meet any organization’s needs

  • More Information

  • Skills Used: Ruby on Rails, JavaScript, HTML, CSS, Bootstrap, Agile