Profile photo

PROFILE

    I am an experienced Software Engineer that specializes in AOSP and Bluetooth. I have been coding since I was 11. I have ~9 years of Bluetooth experience, ~16 years of Android experience, and ~18 years of professional software development experience. My goal is to contribute to a better connectivity experience across all devices.

SKILLS

SOFT

  • Effective communication

  • Leadership

  • Problem solving

  • Software design

  • Technical expertise

  • Testing methodologies

TECHNICAL

  • ANDROID

    • Applications
    • Bluetooth
    • Framework APIs
    • Framework Internals
    • JNI
    • Native development
    • NDK
    • System services
    • System internals
  • AOSP

    • Build system
    • CDD
    • Code review
    • CTS
    • Device Bringup
  • BLUETOOTH

    • A2DP
    • Classic ACL
    • Classic L2CAP
    • Classic Security
      • Numeric Comparison
      • Out of Band
      • Passkey
      • Pin code
    • GATT
    • HFP
    • HID
    • LE Advertising
    • LE Scanning
    • LE Security
      • Numeric comparison
      • Out of Band
      • Passkey
      • Pin code
    • RNR
    • SDP
    • Vendor Specific Commands
  • BASH

  • C/C++

    • OOP
    • IMPL/PIMPL
    • Unit tests
  • GIT

  • JAVA

  • NFC

    • NDEF
    • NFC Handover
  • PROTOCOL BUFFERS

  • PYTHON

    • Async
    • gRPC
  • RUST

    • Async
    • CXXBRIDGE
    • JNI
    • MPSC
    • Tokio

EXPERIENCE

SENIOR SOFTWARE ENGINEER

Stripe, Inc.

May 2023 - Apr. 2024

  • Terminal OS Platform

    • Work on Stripe's Terminal Applications
      ○ Updater
      ○ Reader
      ○ Observability
      ○ SDK
    • Technologies
      ○ Kotlin
      ○ Dagger
      ○ C#
      ○ .NET Framework
      ○ ProtocolBuffers
      ○ RPC

SOFTWARE ENGINEER

Google, Inc.

Dec. 2016 - Apr. 2023

SENIOR SOFTWARE ENGINEER

Cronologics, Inc.

Jul. 2016 - Dec. 2016

  • Improve the Bluetooth experience
    ○ Redesign the companion application bluetooth module
    ○ Redesign the system service that communicated with the companion application
  • Acquired by Google, Inc. in 2016

SENIOR SOFTWARE ENGINEER

Cyanogen, Inc.

Sep. 2014 - Jul. 2016

  • Core OS Applications
    ○ CM FileManager
    ○ Launcher
    ○ Phone app
    ○ Messages app
  • Ensure devices pass CTS/CDD
  • Frameworks
    ○ ConnectivityService
    ○ InCallUI
    ○ Messages
    ○ PhoneWindowListener
    ○ Settings
    ○ SystemUI
  • Interface with QCOM for their reference device

SENIOR SOFTWARE ENGINEER

Pebble, Inc.

Mar. 2014 - Sep. 2014

  • Android application architect
    ○ Designed the application module architecture
    ○ Designed the bluetooth application module
    ○ Interfaced with the watch, sending/receiving encoded data (homebrew protobuf)
    ○ Implemented notification listener service
    ○ Implemented capability to have multiple pebbles connected and mirror notifications

SENIOR SOFTWARE ENGINEER

Tout, Inc.

Dec. 2012 - Mar. 2014

  • Biggest app in WWE from 2012-2014
  • Battle memory constraints
  • Improve the existing application
  • Manipulate audio and video on multiple different devices using Android Frameworks APIs and NDK+ffmpeg
  • Solve complex networking, streaming, and uploading problems

SENIOR SOFTWARE ENGINEER

Red Robot Labs, Inc.

May 2012 - Dec. 2012

  • Lead software development (Android) on Life is Crime game (~$375k/mnth revenue)
  • Completely eliminate Out of Memory errors
  • Implement new items
  • Work on different mechanics: shop, battle, location
  • Work with game designer and artists
  • Work in sync with the iOS team and application

SENIOR SOFTWARE ENGINEER

Yoink Games, Inc.

Nov. 2011 - May 2012

  • Implement a social platform in Java on Android for Action Script games running in a WebView wrapper
  • Work on complex UI designs, widgets, and components

SENIOR SOFTWARE ENGINEER

Various, Inc.

Nov. 2011 - May 2012

  • Design and develop whitelabel social networking Android applications

SENIOR SOFTWARE ENGINEER

NetEnforcers, Inc.

Jun. 2008 - Jan. 2011

  • Client portal development for data management and review
  • Design framework for crawling the web (channels) searching for keywords
  • Manage the MySQL database in dev, staging, and production environments
  • Virtualize the development, staging, and production environments with ESXi (~20vms each)
  • Set up Cisco equipment and establish site to site VPN networks
  • Physically build, rack, and install hardware in Equinix data center
  • Company was bought by Intersections, inc. I chose to move on to another opportunity.
  • On call rotation for servers
  • Secondary on call for network
  • BASH Scripting

SOFTWARE ENGINEER

Legendary Marketing, Inc.

Nov. 2007 - Jun. 2008

  • Developed modules for a website/CRM written in PHP4 + MySQL and another version in PHP5/PostgreSQL
  • DRI for PGA Travel Magazine's account
  • Linux system administration
  • Network administration
  • BASH Scripting

SOFTWARE ENGINEER

TLC Hosting, Inc.

Jan. 2006 - Nov. 2007

  • Work on billing system in PHP4/MySQL
  • Java tooling
  • Linux Administration
  • BASH Scripting