main
Tyler Hampton 2023-09-12 23:16:59 -07:00
parent 9cfe02a5b5
commit b7cd8a568d
7 changed files with 17 additions and 40 deletions

View File

View File

View File

@ -11,7 +11,7 @@ import (
func main() { func main() {
ctx := context.Background() ctx := context.Background()
client, err := dagger.Connect(ctx, dagger.WithLogOutput(os.Stdout)) client, err := dagger.Connect(ctx, dagger.WithLogOutput(os.Stdout), dagger.WithWorkdir(".."))
if err != nil { if err != nil {
panic(err) panic(err)
} }

BIN
resume.pdf Normal file

Binary file not shown.

View File

@ -53,10 +53,7 @@
% \photo[rectangle,edge,right]{./examples/profile} % \photo[rectangle,edge,right]{./examples/profile}
\name{Tyler}{Hampton} \name{Tyler}{Hampton}
\position{Systems Engineer{\enskip\cdotp\enskip}SRE{\enskip\cdotp\enskip}Platform Engineer{\enskip\cdotp\enskip}DevOps Engineer} \position{Systems Engineer{\enskip\cdotp\enskip}SRE{\enskip\cdotp\enskip}Platform Engineer{\enskip\cdotp\enskip}DevOps Engineer}
\address{3883 Turqouise Way Apt 2205, Oakland CA, 94609}
\mobile{(+1) 424-259-2819}
\email{howdoicomputer@fastmail.com}
%\dateofbirth{January 1st, 1970} %\dateofbirth{January 1st, 1970}
\homepage{howdoicomputer.lol} \homepage{howdoicomputer.lol}
\github{howdoicomputer} \github{howdoicomputer}

View File

@ -54,10 +54,10 @@
\item {Wrote custom tooling around AWS ECS in Python to enforce draining nodes from tasks during abrupt scaling events} \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 {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 {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 {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 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 {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 {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 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 {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 {Extended and customized aws-azure-login Node.js application to support logging into accounts federated to AWS from Azure AD via SAML}
@ -65,24 +65,6 @@
\end{cvitems} \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 \cventry
{Software Engineer, Infrastructure and Operations} % Job title {Software Engineer, Infrastructure and Operations} % Job title
@ -91,12 +73,11 @@
{January 12. 2015 - May 23. 2016} % Date(s) {January 12. 2015 - May 23. 2016} % Date(s)
{ {
\begin{cvitems} % Description(s) of tasks/responsibilities \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 {Authored and refactored 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 {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 {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 {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 {Wrote a tool in Ruby to migrate employee objects from FreeIPA to Active Directory}
\item {Designed and implemented Active Directory sync mechanism to Proxmox VMs via SSSD (System Security Services Daemon)}
\end{cvitems} \end{cvitems}
} }
@ -122,9 +103,9 @@
{January 23. 2012 - January 10. 2014} % Date(s) {January 23. 2012 - January 10. 2014} % Date(s)
{ {
\begin{cvitems} % Description(s) of tasks/responsibilities \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 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 {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} \item {Rewrote the aforementioned deployment tool as part of a migration from AWS to a data center platform running VMWare VSphere}
\end{cvitems} \end{cvitems}
} }
\end{cventries} \end{cventries}

View File

@ -1,21 +1,20 @@
\cvsection{Homelab} \cvsection{Homelab}
\begin{cventries} \begin{cventries}
\cventry \cventry
{} {A pseudo-relevant hobby that is like a second job}
{} {}
{} {}
{} {}
{ {
\begin{cvitems} \begin{cvitems}
\item {Three nodes are a k3s cluster running on Raspberry Pis with MetalLB in layer2 mode to serve as a load balancer} \item {Three nodes are a k3s cluster running on Raspberry Pis with MetalLB in layer2 mode to serve as a load balancer}
\item {The k3s cluster uses Ansible to converge an Ubuntu OS and the persistent volumes are satisfied by a consumer NAS} \item {The OS for each k3s node is Ubuntu 20.04 converged with Ansible and the persistent volumes are satisfied by a consumer NAS}
\item {The fourth physical node is a consumer grade hardware box with prosumer hybrid drives in a ZFS mirrored pool. The node is named megamind.} \item {A fourth and primary physical node is a consumer grade hardware box with prosumer hybrid drives in a ZFS mirrored pool. The node is named megamind}
\item {Megamind's underlying operating system is NixOS} \item {Megamind's underlying operating system is NixOS and immutable deployments to the OS are done via deploy-rs and Nix flakes; failed state applies trigger automatic rollback to last OS state snapshot}
\item {Megamind runs its services via Nomad, Consul, Vault} \item {Megamind runs applications and services via Nomad, Consul, Vault}
\item {Individual applications are able to publish their metrics endpoints to Consul and then have their metrics collected via Prometheseus and displayed using Grafana} \item {Individual applications are able to publish their metrics endpoints to Consul and then have their metrics collected via Prometheseus and displayed using Grafana}
\item {Cloudflare handles DNS with subdomains routing to specific services via Traefik} \item {Cloudflare handles DNS with subdomains routing to specific services via Traefik; Let's Encrypt is used to provide SSL certs via the DNS challenge method}
\item {The host runs a dozen applications including custom Go and Elixir services} \item {Homelab serves as a personal PaaS that Elixir and Go services are deployed to}
\item {Changing OS state is done via Nix flakes and is immutable with seamless rollback on error}
\end{cvitems} \end{cvitems}
} }
\end{cventries} \end{cventries}
@ -29,7 +28,7 @@
{} {}
{ {
\begin{cvitems} \begin{cvitems}
\item {Board games, rock climbing, science fiction and fantasy books, table top RPGs, programming} \item {Board games, rock climbing, science fiction/fantasy books, table top RPGs, programming, 3D printing, guitar, electrical engineering/arduino}
\end{cvitems} \end{cvitems}
} }
\end{cventries} \end{cventries}
@ -43,7 +42,7 @@
{} {}
{ {
\begin{cvitems} \begin{cvitems}
\item {Bash, Nomad, Terraform, Python, Node.js, TypeScript, Kubernetes, k8s, Elixir, Nix, Docker, AWS, ECS, Helm, TCP/IP, Prometheus, Consul, Vault, Linux, Go, SaltStack, Ansible, Puppet, Chef, git, DNS, GCP, ZFS, Docker, SQL, Kafka, Grafana, cloud} \item {Bash, Nomad, Terraform, Python, Node.js, TypeScript, Kubernetes, k8s, Elixir, Nix, Docker, AWS, ECS, Helm, TCP/IP, Prometheus, Consul, Vault, Linux, Go, SaltStack, Ansible, Puppet, Chef, git, DNS, GCP, ZFS, Docker, SQL, Kafka, Grafana, cloud, distributed computing, raft, Ruby, Dagger, bpf, JavaScript}
\end{cvitems} \end{cvitems}
} }
\end{cventries} \end{cventries}