Michael E. Gierach
Software Engineer
717 Barberry Trail
Fox River Grove, IL 60021
Phone: (312) 342-6675 · Email: mike@gierach.net

Profile
Software engineer having an in-depth knowledge in a variety of areas of computer science with over 20 years of experience. The last 16 years have been dedicated almost exclusively to development on mobile platforms. Committed to creating stable, reliable, and user-friendly software. Enjoys new challenges and solving complex problems.
Experience
Life Fitness Franklin Park, IL - August 2016 to Present.
Software Architect, Designed frameworks and architecture for upcoming Discover SE4 fitness console. Maintained and improved Android applications and platform for Discover SE3 and SE3HD products, the company's current flagship fitness console. Mentored junior developers and co-ops. Specific highlights:
  • Customized numerous aspects of AOSP source code for both SE3 and SE4 consoles:
    • Customized Bluetooth functionality in both BlueZ and Bluedroid stacks to support advertising and connections with various devices, including Apple Watch and Samsung Watch.
    • Modified default Android NFC Service to support Out-of-band (OOB) pairing with remote Bluetooth devices.
    • Created a custom Android AIDL Service to securely inject user interface layouts and controls into the Android System UI. This includes support for remote animations and various callbacks to the controlling application.
  • Wrote a custom video player for company's Lifescape interactive fitness courses. The player utilizes native hardware decoding capabilities.
  • Created a custom Android Service to establish an iAP2 Link over Bluetooth and authenticate against an Apple Authentication Coprocessor.
  • Architected and completed a "headless" app store application to manage 3rd party software installations and upgrades on the console.
  • Coded a high-performance in-memory database powering our console's workout selection and configuration UI.
  • Standardized UI related code to provided maintainability and theming consistency. Refactored UI design from a fixed layout design to a spatial design, allowing for more maintainability and flexibility for new resolutions and layouts.
  • Improved the build and release process to provide clean and reproducible builds.
  • Increased the graphical performance of the main UI application, enabling animations and transitions that have been long sought by UI/UX design.
  • Performed R&D integration of biometric authentication (fingerprint and facial recognition) into company's LFconnect service on fitness consoles. This enables end-users to customize and accurately track their workouts.
  • Wrote UART driver/library for connecting and controlling an ANT+ module using Java, JNI, and C.
Mobeam, Inc / Rockroad Software, LLC NW Suburbs of Chicago, IL - February 2015 to August 2016.
Sr. Software Engineer, Re-designed and maintained Mobeam's Android application Beep'nGo for couponing and retailer loyalty cards. Supported partners in their use of Mobeam's Beaming SDK, used for 3rd party transmission of barcodes to laser scanners. Some specific highlights:
  • Re-designed the entire application database in SQLite:
    • Created an internal dependency management system for tables/views/triggers/etc. to ease databases schema versioning.
    • Added proper indexing and full-text search indexing to provide fast performance for user and system lookups.
    • Engineered several triggers to maintain database integrity and improve efficiency.
  • Created several Android Services to handle REST commands/responses with server.
  • Integrated geo-fencing into the application, allowing users to be notified when they arrive so that they can easily use their barcoded loyalty cards.
  • Added geo-distance calculations into SQLite database views to allow for sorting and filtering by distance for stores, cards, and offers.
  • Converted Beep'nGo to use Android's Material Design user interface guidelines for version 4.0 of the application. Added several animations, making the UI a bit more dynamic.
  • Restructured application's management of external service Binder connections to Google Play Services, Mobeam's Beaming Service, etc.
  • Performed major overhaul of legacy client-side REST processing to eliminate state bugs, threading problems, and to enforce better design practices.
mFluent, LLC Palatine, IL - September 2008 to January 2015.
Sr. Technical Staff, Worked on several mobile applications using a variety of languages and platforms including:
  • mBox Mail for iPhone using Objective-C. This was the #1 selling paid social networking application on Apple's Appstore in 2009-2010.
  • Developed email & instant messaging J2ME client for several mobile devices for Virgin Mobile, Boost Mobile, and Common Cents.
  • Created MSN IM and Yahoo IM clients for several Samsung feature phones, including QWERTY and touch-screen devices. Written in J2ME.
    • Included a custom UI framework for view layout, rendering, and UI events.
    • Included a high-performance RecordStore implementation to replace buggy embedded versions.
  • Built ChatON messaging client for Samsung in J2ME. Designed for feature phones with limited resources. Highlighted features include:
    • High-performance database implementation (built on top of custom RecordStore implementation).
    • Fast text-cooking and custom emoticon/emoji parser.
    • Custom J2ME implementation of Google's Protobuf messaging protocol.
    • Architected an efficient SAX-like JSON stream parsing system for J2ME.
  • Created Samsung Link, a media-sharing application for the Android platform in Java.
    • Architected and coded application's data model using SQLite within a ContentProvider.
    • Created custom cursor/data loading architecture for quick filtering, media playback, etc.
    • Built a high-performance image loading and caching system
    • Coded a custom module to perform reverse geo-location lookups (for use when the Android platform Geocoder service crashes).
    • Designed a CPU power management system to allow application to continue to serve up data while the device is in a low-power/sleep state.
Helio, LLC East Dundee, IL - January 2008 to September 2008.
Sr. Software Engineer, Continued work from Fastmobile on Helio's Ocean II product. Helio was acquired by Virgin Mobile in September 2008. Selected accomplishments include:
  • Re-designed and implemented address book API from original Ocean. The new design was implemented as a stand-alone DLL to allow all WIPI applications (including MS Exchange client) on the device to have full access to a shared address book.
  • Maintained MS Exchange client for Ocean and Ocean II.
Fastmobile, Inc./Research in Motion Rolling Meadows, IL - May 2006 to January 2008.
Sr. Software Engineer, Engineered and improved several elements and features in client's flagship mobile device (Helio Ocean). Worked as part of a team on many components of product including address book, instant messaging, and email. Served as head engineer and client-contact on follow-up porting to additional mobile devices (Helio Fin & Mysto). Fastmobile was acquired by Research in Motion in November 2007. Selected accomplishments include:
  • Created, in C and C++, a highly flexible address book module integrated into mobile device as device's main address book. Supported synchronizing address book with various web-portal address book systems.
  • Implemented a feature-rich file browser/explorer, including ability for user to preview media files supported by the mobile device.
  • Architected efficient image thumb-nailing system.
  • Improved and re-designed memory management system for use on device emulator for checking against memory leaks, over-runs, etc. As a result, application has no known memory leaks.
ABN-AMRO Chicago, IL - April 2003 to November 2005.
Asset Management Technician, Improved and automated asset management processes through full life cycle of software development (SDLC). Responsible for full DBA tasks, including development of scripts and stored procedures. Performed physical audits of data centers in Chicagoland area. Managed maintenance contracts for all Wintel equipment. Selected accomplishments include:
  • Engineered PDA software for use with Palm Symbol 1700/1800 in C on Linux to automate physical inventory process.
  • Designed & coded intranet application for performing asset lookups and custom reports using MFC in Visual C++.
  • Re-architected legacy database to MS SQL Server 2000.
  • Maintained and improved MS Access ADP interface for IT Asset Database.
Advocate Health Care - The Park Ridge Center Chicago, IL - January 2000 to April 2002.
Web & IT Administrator, Created and maintained website content, look, and feel. Programmed, designed and recommended solutions for web & IT needs. Responsible for installation, setup and maintenance of all servers (NT 4.0 & Win2000) and LAN computers, LAN desktop support, LAN security, and data backup/retrieval. Worked hand-in-hand with sales, marketing, publications, and management depts. to streamline processes and improve overall performance. Selected accomplishments include:
  • Architected website using ISAPI extensions in IIS. Website grew from under 30 pages to over 1600. Enabled quick, site wide, full-text searching of website content.
  • Created new web-based time-tracking system.
Education
Bachelor of Science in Computer Science (Engineering College), The University of Illinois at Chicago, July 2000
Computer Skills
Programming Languages & Protocols:
  • C++ / C
  • Java
  • Kotlin
  • REST
  • AIDL
  • SQL
  • Google Protobuf
  • JSON
  • XML
  • GATT
Systems/API's:
  • Android
  • SQLite
  • iOS
  • Android Studio / IntelliJ
  • AOSP
  • Gerrit Repo (aka Git Repo)
  • Jenkins
  • Eclipse
  • Git
  • Subversion (SVN)
  • JIRA
  • Inter-process/thread synchronization & communication