-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.yaml
127 lines (101 loc) · 7.8 KB
/
config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
title: Gerald Wu's Portfolio
resume: "/resume.pdf"
blog: "https://blog.geraldwu.com"
about:
- title: Site Reliability Engineering
description: |
I'm a site reliability engineer, focused on cloud-native deployments and infrastructure as code (IaC). I am most familiar with the Kubernetes ecosystem on bare-metal.
In terms of professional experience, I have worked on large on-premise Kubernetes fleets for SpaceX's Starlink ISP.
I am a
* [Certified Kubernetes Security Specialist](https://training.linuxfoundation.org/certification/verify/) (LF-24hswd9rmm)
* [Certified Kubernetes Administrator](https://training.linuxfoundation.org/certification/verify/) (LF-inn96e0qrb)
* [Red Hat Certified System Administrator](https://rhtapps.redhat.com/verify/?certId=180-132-714) (180-132-714)
- title: Software Engineering
description: |
I'm a developer focused on Backend Systems Development.
In terms of professional experience, I have worked on very large scale backend systems, both at Google and Amazon.
I am most familiar with the Java, GoLang, Python, and Rust languages. I also have some limited experience in C, C++, C#, JavaScript, and Scala.
If you want to see some of my more notable projects, please visit the [projects](#projects) section. Or, visit my [self-hosted GitLab](https://gitlab.wuhoo.xyz/jerry) or my [GitHub](https://github.com/geraldwuhoo/) to view all of them.
education:
- school: Brown University
degree: Sc.B. Computer Science, A.B. Applied Mathematics
dates: 2017 - 2021
skills:
- type: Languages
description: |
Java, GoLang, C, C++, Python, Rust, SQL
- type: Technologies
description: |
[Certified Kubernetes Security Specialist](https://ti-user-certificates.s3.amazonaws.com/e0df7fbf-a057-42af-8a1f-590912be5460/ccb370ed-1fc7-44e9-94be-62ecefbc48b2-gerald-wu-b6756081-2dbc-43fa-9f0a-c3c8712f44e8-certificate.pdf) (LF-24hswd9rmm)
[Certified Kubernetes Administrator](https://ti-user-certificates.s3.amazonaws.com/e0df7fbf-a057-42af-8a1f-590912be5460/ccb370ed-1fc7-44e9-94be-62ecefbc48b2-gerald-wu-3b7fdc0a-246f-43c7-a2c9-d90809a3dac1-certificate.pdf) (LF-inn96e0qrb)
[Red Hat Certified System Administrator](https://rhtapps.redhat.com/verify/?certId=180-132-714) (180-132-714)
Kubernetes, GitOps, Ceph, Terraform, GitLab CI/CD, Docker, VMWare vSphere/vSAN, Ansible, Git
experience:
- company: SpaceX (Starlink)
position: Site Reliability Engineer
dates: Mar 2023 - PRESENT
description: |
* Deploy and administer on-premise Kubernetes clusters and cloud-native tooling for Starlink
- company: Google (YouTube)
position: Software Engineer
dates: Jun 2021 - Mar 2023
description: |
* Worked with **YouTube Commerce Pre-purchase Serving** to serve the best valid offers to customers
* Worked on **migrating backend systems** from existing fragmented infrastructure to a more **unified infrastructure**
* Ongoing project expected to impact all paying users on the YouTube platform
* Designed and implemented backend systems features for the new Play payment processor on Android
* Implemented a system to support payment rollbacks for refunds and payment failures for all Android payment rollbacks
* Implemented a system to allow for true multiple line item checkout for millions of currently existing users
* Implemented a **backend system** to support the EU's **price transparency initiative**
- company: Amazon Web Services (AWS)
position: Software Engineer Intern
dates: May 2020 - Aug 2020
description: |
* Worked with the **Amazon Connect** team — a **cloud-based** call center as a service product running on **AWS**
* Built a deployment pipeline for **Safe Dynamic Config (SDC)** to enable strict templating and config generation as code
* Created library from scratch to pull deployed **SDCs** from remote and parse them for **Feature Access Control (FAC)** (Java)
- company: Leidos
position: Software Engineer/Platform Engineer Intern
dates: May 2019 - Aug 2019
description: |
* Core member of **systems architecture** design for next-gen virtualization approach (VMWare/Red Hat/Kubernetes)
* Researched, evaluated, proposed, and implemented various architectures involving **VMWare** clustering, VMWare **vSAN**, Red Hat **OpenShift**, and **Kubernetes**
* Part of software development team working on **autonomous** (self-driving) sea vessels (C++/Python)
- company: FMS Inc.
position: Software Engineer Intern
dates: May 2018 - Aug 2018
description: |
* Cluster analysis in **large-scale graphs** (C#)
* Implemented secure, PCI-compliant payment integration on the web using Authorize.Net (ASP Classic)
projects:
- title: Homelab IaC — a fully HA k8s deployment using Terraform and Flux
link: "https://github.com/geraldwuhoo/homelab-iac"
language: Kubernetes, Terraform, Nix
short_description: |
Starting from minimal working Proxmox and Ceph clusters, this project uses pure Terraform to bootstrap NixOS nodes and install a full high availability (HA) deployment of Kubernetes.
Following k3s bootstrapping, the project uses Flux gitops to deploy all the Kubernetes workloads in the cluster, including automatic secrets encryption/decryption with Mozilla SOPS.
Both [geraldwu.com](https://geraldwu.com) and [wuhoo.xyz](https://wuhoo.xyz) (and all related services) are hosted on this Kubernetes cluster.
description: |
Starting from minimal working Proxmox and Ceph clusters, this project uses pure Terraform to bootstrap NixOS nodes and install a full high availability (HA) deployment of Kubernetes using the k3s distro from Rancher. It uses kube-vip to deploy an on-premise cloud load balancer, and uses Ceph as its container storage interface (CSI) for dynamic volume provisioning.
Since the project is implemented in Terraform, it supports idempotent creation/desctruction of the Kubernetes nodes, which allows for easy rolling fixes if necessary.
Following k3s bootstrapping, the project uses Flux gitops to deploy all the Kubernetes workloads in the cluster, including automatic secrets encryption/decryption with Mozilla SOPS. This enables self-documenting, auditable configuration of all the workloads as code.
Both [geraldwu.com](https://geraldwu.com) and [wuhoo.xyz](https://wuhoo.xyz) (and all related services) are hosted on this Kubernetes cluster.
- title: Uptime.rs — A simple, statically generated uptime monitoring application
link: "https://github.com/geraldwuhoo/uptimers"
language: Rust, Go
description: |
A simple, self-hostable uptime monitoring service written in Rust. It scrapes a list of websites and regenerates a static status page every minute. I wrote this because I felt all existing monitoring solutions were too bloated (JavaScript, dynamic page generation), and also not configurable as code. Uptimers is entirely configurable through a single YAML file.
It integrates with the Go [shoutrrr](https://github.com/containrrr/shoutrrr) notification library through C FFI to provide notifications when a site goes down.
- title: Adbir — Another dashboard but in Rust
link: "https://github.com/geraldwuhoo/adbir"
language: Rust
description: |
A dashboard webUI inspired by [Homer](https://github.com/bastienwirtz/homer), both in design and configuration.
While I enjoy the configurability and relatively minimalist design of Homer, I dislike its hard dependency on JavaScript to render the page. This is a stripped down rewrite of Homer without any JavaScript.
contact:
- type: Email
username: [email protected]
link: "mailto:[email protected]"
- type: Matrix
username: "@jerry:wuhoo.xyz"
link: "https://matrix.to/#/@jerry:wuhoo.xyz"