131 lines
9.9 KiB
TeX
131 lines
9.9 KiB
TeX
%-------------------------------------------------------------------------------
|
|
% 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 utlizing 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 infrastructure 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
|
|
%% {}
|
|
%% {}
|
|
%% {}
|
|
%% {}
|
|
%% {
|
|
%% \begin{cvitems}
|
|
%% \item {Eliminated Nagios CPU bottleneck by retooling clusters to run PyPy}
|
|
%% \item {Wrote CLI tooling in Go for Cloud Platform team to automate checking ECS clusters, interacting with internal HTTP endpoints, and more}
|
|
%% \item {Designed and wrote an access system in Go and Terraform that created jumphosts scoped to a team and then synced SSH keys to them for internal network access}
|
|
%% \item {Replaced that SSH system with AWS Systems Manager when the product was releases in order to improve security and better integrate access control with IAM}
|
|
%% \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}
|
|
%% \item {Managed account creation process for dozens of AWS accounts}
|
|
%% \item {Heavily pushed for testing Infrastructure-as-Code by introducing and establishing testing patterns for Terraform modules and EC2 instance OS state}
|
|
%% \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 {Refactored and wrote Puppet manifests to converge data center localized hardware nodes to prepare them as Proxmox hosts}
|
|
\item {Co-designed with DBA a distributed file system storage array using Ceph}
|
|
\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 that migrated Opower from FreeIPA to Active Directory}
|
|
\item {Designed and implemented Active Directory sync mechanism to Proxmox VMs via SSSD (System Security Services Daemon)}
|
|
\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 ~100 engineers for a dozen 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 runnign VMWare VSphere}
|
|
\end{cvitems}
|
|
}
|
|
\end{cventries}
|