Work Experience
Panasonic Avionics Corporation
January 2020 - Present
- General
- Used Japanese in a business context to bring local and Japan-based teams closer together on development and operations initiatives
- Site reliability engineering
- Designed, built, and maintained highly-available Elasticsearch and Logstash clusters in order to reduce costs associated with Splunk logging infrastructure ingesting half a terabyte each day
- Built and maintained many Kubernetes clusters for different departments in the organization using Terraform, Rancher Kubernetes Engine (rke), and Rancher
- Evaluated many underlying operating systems (including CentOS, Fedora CoreOS, Rancher OS), container runtimes, and operational tools for Kubernetes clusters
- Development and operations
- Participated in cross-functional design between Software Engineering and Information Technology departments designing build pipelines for aircraft firmware libraries and executables
- Contributed scripts and documentation to open source containerization projects such as Bitnami's etcd distribution and Rancher user interface
- Spearheaded change to vSphere's CSI storage driver for resizable persistent storage for container workloads
- Managed organization-wide virtual machine state using CFEngine (an alternative to SaltStack, Ansible,
- Built custom virtual machine images integrated with organization-specific configurations of NTP, DNS, Active Directory, NFS, et cetera
- Evaluated use of vSphere 7's vSphere with Kubernetes product with Tanzu, vSphere Cloud Native Storage as an alternative to Terraform, rke, Rancher stack
ICANN
November 2018 - January 2020
- Full-stack web development
- Apache ProxyPass and FastCGI to backends, load balancing, Spring framework
- Lent efforts to Drupal/Rails developers in debugging issues, often stemming from an unsteady base in *nix philosophy
- Site reliability engineering
- Maintained logging and alerting infrastructure in a stack using Splunk, Zabbix, and OpsGenie
- Maintenanced multi-master MariaDB clusters and Galera MariaDB clusters
- Development and operations
- Maintained three separate Kubernetes clusters with combined totals of 544 CPUs, 3.5 TiB of memory, and north of 1200 pods
- Developed virtual machine templates using qemu, VSphere SDK
- ElasticSearch, MySQL multi-master replication, etcd, Alfresco, DotCMS, Galera, Kafka, Spinnaker, Jenkins, Kubernetes, Helm charts, AWS, ThreadFix, NetSparker, BurpSuite, SonarQube, ESXI, VSphere, Site24x7
- Built tools for enforcing nomenclature in various platforms to line up with our configuration management database
- Automated various F5 load balancer tasks via the the F5 Python SDK
McKinley Equipment Corporation
July 2016 - August 2018
- Embedded firmware development
- Designed and implemented accelerometer applications for custom PCB to detect industrial dock leveler event detection
- Communicated with custom PCB peripherials over SPI, I2C, RS232, and RS485 using custom protocols
- Designed and implemented communication protocol with other processors on RS485 bus
- Interfaced with mbed library to facilitate communication between host processor and MultiTech mDot LoRa module
- Development and operations
- Developed build strategy for above firmware using CMake
- Automated builds, designed release strategy using BitBucket Pipelines and Docker
- Developed and maintained SaltStack recipes for configuration and management of remote IoT devices
- Developed dev. op.'s strategy to manage remote IoT devices using SaltStack
- Utilized gdb Python bindings for automated C++ source code generation
- Wrote documentation using BitBucket's Confluence along with a home-grown tool inspired by Scheme's Scribble and Emacs's org-mode
- C++ and Python software development in a Linux environment
- Wrote message queuing applications for transporting device data from edge devices to servers using MQTT, SQLite and HTTP REST APIs
- Automated correlation of embedded accelerometer data with video footage using Python and FFMpeg
- Compiled custom Linux kernels for the Intel Edison, MultiTech Conduit, and the Samsung Artik
- Designed tools for real-time profiling of relevant IoT-enabled industrial equipment with non-developer ease of use as a design goal
Research Experience
Calit2
September 2016 - June 2017
- Developed embedded firmware for ATMega328P chips on custom PCB
- Synthesized data from multiple IMU's to determine location of magnets beneath PCB
- Created custom on-the-wire protocol using the MAVLink software library
- Ported development environment from Windows to Linux and enabled building in Docker containers
- Visualized IMU data both on desktop (over USB serial, using Gnuplot) and mobile (over Bluetooth, using Android's SDK)
iCAMP
June 2014 - August 2014
- Evaluated various statistical methods for classifying event data from CERN's Large Hadron Collider
- Wrote test harnesses for MATLAB code with bindings to home-grown C code
- Decided on bootstrap aggregated binary space partitioning trees for the resulting classifier
- Visualized many-dimensional data using MATLAB and gnuplot