Automation, Systems Architecture, Chatops, Backend Software Engineering, Data, Public Speaking, Technical Writing. Hire me! I’m looking for a remote-friendly team doing meaningful work.
11/2018 - 5/2019
Senior Software Engineer, Infrastructure
- Prototyped and executed function as a service solution to prove out viability of rewriting browser rendering as a function, instead of a kubernetes backed rendering cluster
- Increased test coverage from ~10% to ~85% in a small, but critical HTTP Proxy project written in Go, resulting in more reliable and readable code.
- Acted as a team resource for Go knowledge and best practices, including test coverage, dependency management, and project architecture
- Wrote a kubernetes mutation controller to manage node taints, tolerations, and affinities for advanced cluster scheduling
6/2017 - 10/2018
Software Engineer, Sensu-Go
- Collaborated on a team with 7 fellow developers on the open source sensu-go codebase, writing testable, reusable, and readable code.
- Removed operational roadblocks to help smooth out our development process.
- Enabled faster development, debugging, and release cycles by writing a terraform plan for a clustered staging environment on AWS
- Onboarded new engineers by walking through the codebase and pairing on feature development.
- Dug deep into etcd features, performance, and clustering.
- Notable accomplishments:
- Refactored keepalive and check ttl backend monitor code to ensure monitors were reusable and safely coordinated across a cluster of sensu-backend nodes.
- Implemented a durable, etcd backed queue for use with adhoc check requests.
- Paired with a colleague to plan, spec, rewrite, and reorganize sensu-go documentation. Revised language from a software developer focused, out of date reference, to operator centered getting started guides and complete api references.
7/2016 - 2/2017
Software Engineer, Core Application Platforms
- Wrote API integrations for Pagerduty and Slack to send metrics/alert data to those services in Elixir.
- Implemented an Elixir API wrapper for Marathon to create/destroy/scale containers
- Prototyped Slack chatbot in Elixir for a lab week project. Bot handled support questions for an HTTP proxy service, such as querying for a user’s api key limit and looking up on call rotation schedules in Pagerduty
Scripps Networks Interactive
8/2015 - 7/2016
Cloud Operations Engineer
- Designed and built data collection system using AWS serverless architecture with Kinesis and Lambda to handle realtime processing of 100M+ events daily
- Authored, refactored, and tested Chef cookbooks and recipes to automate teardown/build/installation of about 100 EC2 instances
- Added monitoring checks for critical failure points with DataDog and AWS Lambda
- Worked with Data team to build Hadoop and ELK systems, processing and storing around 70TB of data
Scripps Networks Interactive
2/2013 - 8/2015
Data Infrastructure Engineer
- Built out Hadoop and ELK infrastructure and data pipelines for processing and analyzing 100M video player events daily in batch and realtime
- Implemented dashboards and monitoring for system and data health using Statsd, DataDog, and Dashing
- Architected and prototyped realtime analytics system for faster and more accurate business and system health metrics
- Mentored Apprentice Engineers by pair programming, code reviews, and weekly goal and feedback sessions
Desktop Support / Corp Systems Admin
- Scaled Open Directory Authentication system from one failing xserve to master / multiple replica scheme for better service availability
- Upgraded CrashPlan backup server from mac hardware to an Ubuntu Server, expanded storage capacity, and optimized file exclusions and archiving for faster backups
- Maintained Casper Software deployment system, creating new base OS images and software packages for deployment, and updating system as required
The Urban School
Technology Support Specialist
- Provided Mac hardware, software, and AV support for over 400 students and teachers
- Restructured and added new documentation to knowledge base
- Managed small student team to image, inventory, and distribute new laptops to incoming students and teachers and provide after hours email support and documentation
1U Home Datacenter: Virtualized servers with SmartOS Details in this blog post
Crabbot: Slack bot for Otakorp
Answers common questions such as event dates and ticket registration count using Python against a simple HTTP API
Lost and Found system: Web App for tracking and returning items lost during Otakon’s annual convention Flask, MongoDB, and phonetic algorithms for search functionality
Monitorama 2018: Building Open Source Monitoring Tools
PyCon 2016: Build Serverless Realtime Data Pipelines with Python and AWS Lambda
OpenSourceBridge 2015: What’s in a name? Phonetic Algorithms for Search and Similarity
DevopsdaysSV 2014: Onboarding and Mentoring Apprentices with DevOps Culture
Languages and Frameworks: Go, Python, Ruby, Elixir, SQL, Flask, Sinatra,
Arduino, Function as a Service (Lambda, Google Cloud Functions, Openfaas)
Data Stores and Processing: Etcd, PostgreSQL, Redis, MongoDB, Elasticsearch, ZeroMQ, RabbitMQ, Rsyslog, Kinesis
Infrastructure tools: Kubernetes, GCP, AWS, Chef, Terraform, Helm, Docker
Monitoring tools: Sensu, DataDog, Statsd, Grafana, Prometheus, ELK stack
Methodologies: Kanban, DevOps, Continuous Delivery
B.A. Photography, San Francisco State University Completed May 2005
Manager, Cosplay Repair:
Manage and direct volunteers, assist convention attendees with various materials repairs in an often chaotic environment. Ensure volunteers care for themselves as well as attendees.
Department head for Information Desk and Volunteer Operations, Otakon Vegas:
Direct volunteers, help attendees with information and locations at the convention
Staff for Volunteer Operations and Lost and Found, Otakorp:
Software development projects to help automate tedious processes, Code of Conduct committee
General volunteer: Helped convention attendees learn about demo video games and systems
Counted crowds and managed line control for workshop events