%-------------------------------------------------------------------------------
%	SECTION TITLE
%-------------------------------------------------------------------------------
\cvsection{Work Experience}


%-------------------------------------------------------------------------------
%	CONTENT
%-------------------------------------------------------------------------------
\begin{cventries}

%---------------------------------------------------------
  \cventry
    {Senior Systems Engineer \& Site Architecture Lead} % Job title
    {Grabango} % Organization
    {Berkeley, CA, USA} % Location
    {September 26. 2022 - Present} % Date(s)
    {
      \begin{cvitems} % Description(s) of tasks/responsibilities
        \item {Mentor and technical lead for DevOps team}
        \item {Implemented a HashiCorp Nomad based orchestration system that allocated services across thousands of IoT devices as part of a hybrid infrastructure system bridging physical locations and GCP cloud infrastructure}
        \item {Used Dagger and Go to build portable, localized CI/CD pipelines using Docker; used the same Dagger/Go combo to create developer tooling to enable a Platform-as-Service model for deploying services to on-premise infrastructure via Nomad}
        \item {Lead meetings and facilitated cultural shifts for adopting SRE practices such as SLIs/SLOs and production readiness checklists}
        \item {Lead an internal architecture group involving staff and principal engineers to improve the architecture of physical sites and introduce cultural standards for engineering excellence}
        \item {Managed GCP Kubernetes clusters via Terraform and enabled a self-service model by building Helm based deployment pipelines using Jenkins}
        \item {Heavily refactored SaltStack codebase to improve idempotency and general code quality as well as make use of Salt's more advanced features like orchestration and event-driven actions}
        \item {Co-led a migration to Ansible in an effort to abstract application deployment to Nomad and better define the responsibilities of a configuration management system}
        \item {Built a monitoring system with Prometheus, Thanos, Grafana, and Consul that used service discovery to auto-configure application metrics collection}
        \item {Improved monitoring, resiliency, and performance for complex storage systems built on top of ZFS}
        \item {Retooled AI/ML image inference event streaming architecture by replacing Kafka with RedPanda for improved reliability and performance}
        \item {Designed extensive caching layers for package types going to physical sites using pull-through Docker registry caches for container images and Nginx proxies for raw package types}
        \item {Lead migration from Nexus, internal PyPi, and Google Artifact Registry to Cloudsmith in order to centralize artifact management, improve supported artifact types, reduce complexity, and save costs}
        \item {Wrote Golang based CLI tooling for the systems engineering team to automate several day-to-day tasks around ticket management, SaltStack state application, k8s automation, and more}
        \item {Designed Terraform usage patterns and code organization and led a multi-month initiative to import hand-spun GCP infrastructure into Terraform state}
      \end{cvitems}
    }

%---------------------------------------------------------
  \cventry
    {Senior Systems Engineer} % Job title
    {Shutterfly} % Organization
    {Santa Clara, CA, USA} % Location
    {June 22. 2016 - September 9. 2022} % Date(s)
    {
      \begin{cvitems}
        \item {Technical lead for Cloud Platform team with a head count of 10 engineers}
        \item {Onboarded, mentored, and helped grow several engineers and interns while at Shutterfly}
        \item {Part of committee of principal, staff, and architect contributors to build a larger architectural model for a migration from data center to AWS}
        \item {Migrated over 100 microservices of varying languages to Amazon ECS}
        \item {Designed several large, foundational Terraform modules that were used by ~200 engineers to deploy Security Groups, Elastic Container Service clusters, IAM entities, VPCs, ALBS, and more}
        \item {Designed a AWS global resource testing model that used AWS accounts as test environments for globally available resources like IAM entitites}
        \item {Wrote a custom reverse proxy in Go to facilitate a maximized inverse cache hit rate in order to support a legacy .NET application}
        \item {Wrote custom log ingress filters in Node.js on AWS Lambda for translating log entries into structured log events for Splunk ingress}
        \item {Wrote custom tooling around AWS ECS in Python to enforce draining nodes from tasks during abrupt scaling events}
        \item {Performed capacity planning in accordance with load testing results and metrics to right size capacity}
        \item {Embedded into application teams to assist them with the cloud-native architectural designs of their services}
        \item {Designed cloud logging architecture utilizing FluentD, FluentBit, and logging sidecars for log ingestion over PrivateLink into Splunk}
        \item Wrote custom FluentBit plugins in Ruby to support generalized logging event patterns for applications running on ECS
        \item {Wrote Terraform module to abstract AWS Kinesis Streams and then assisted teams with a migration away from Kafka}
        \item {Designed immutable OS image pipeline using Jenkins pipelines, Ansible playbooks, and Packer to produce AWS AMIs that fed into EC2 nodes within autoscaling groups}
        \item {Wrote custom integrations for running GPU dependent tasks on ECS nodes in order to support complex topgraphical image generation}
        \item {Wrote CLI tooling in Go for Cloud Platform team to automate checking ECS clusters, interacting with internal HTTP endpoints, and more}
        \item {Extended and customized aws-azure-login Node.js application to support logging into accounts federated to AWS from Azure AD via SAML}
        \item {Co-designed a hub and spoke model that used AWS accounts as a security and management segregation layer for environments with Transit Gateway linking all of the environments together}
      \end{cvitems}
    }

%---------------------------------------------------------
  \cventry
    {Software Engineer, Infrastructure and Operations} % Job title
    {Opower / Oracle} % Organization
    {San Francisco, USA} % Location
    {January 12. 2015 - May 23. 2016} % Date(s)
    {
      \begin{cvitems} % Description(s) of tasks/responsibilities
        \item {Authored and refactored Puppet manifests to converge data center localized hardware nodes to prepare them as Proxmox hosts}
        \item {Co-designed a distributed file system storage array using Ceph to act as shared storage layer for Proxmox VMs}
        \item {Designed resilient high-availability MySQL cluster using Heartbeat to float a VIP between multiple masters}
        \item {Maintained several applications deployed via Proxmox as VMs that were converged via Puppet}
        \item {Wrote a tool in Ruby to migrate employee objects from FreeIPA to Active Directory}
      \end{cvitems}
    }

%---------------------------------------------------------
  \cventry
    {DevOps Engineer} % Job title
    {InsideVault} % Organization
    {San Carlos, CA, USA} % Location
    {Febuary 24. 2014 - December 15. 2015} % Date(s)
    {
      \begin{cvitems}
        \item {Managed MongoDB cluster used by SEO optmization platform}
        \item {Used Jenkins to build testing and deployment pipelines for Scala applications using sbt}
        \item {Wrote Chef cookbooks for deploying Apache Mesos cluster members to EC2}
        \item {Managed Apache Mesus cluster that was used for distributed batch processing}
      \end{cvitems}
    }
%---------------------------------------------------------
  \cventry
    {Systems Administrator} % Job title
    {Apollo Group} % Organization
    {San Jose, CA, USA} % Location
    {January 23. 2012 - January 10. 2014} % Date(s)
    {
      \begin{cvitems} % Description(s) of tasks/responsibilities
        \item {Wrote a custom deployment web UI using Ruby and jQuery to integrate Chef, AWS EC2 nodes, and Haproxy to serve as the main deployment interface for over 100 engineers for dozens of Java based microservices}
        \item {Wrote Chef cookbooks that converged EC2 nodes so that they could run Java based applications}
        \item {Rewrote the aforementioned deployment tool as part of a migration from AWS to a data center platform running VMWare VSphere}
      \end{cvitems}
    }
\end{cventries}
