-
Notifications
You must be signed in to change notification settings - Fork 0
/
resume.typ
167 lines (152 loc) · 4.1 KB
/
resume.typ
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
#import "template.typ": *
#show: resume.with(
author: (
firstname: "Shao-Fu",
lastname: "Chen",
chinesename: "陳少甫",
email: "[email protected]",
phone: "<REDACTED>",
github: "Leo1003",
linkedin: "少甫-陳-3b0b3a20a",
positions: (
"System Team Leader in NYCU CSIT",
)
),
)
#let sidebar_content = [
#resume_section("Education")
#education_item[
National Yang Ming Chiao Tung University
][
Institute of Computer Science and Engineering
][
Master of Science
][
Aug. 2022 - Estimate 2024
]
#education_item[
National Yang Ming Chiao Tung University
][
Department of Computer Science
][
Bachelor of Science
][
Aug. 2018 - Jul. 2022
]
#resume_section("Skills")
#skill_item(
"Programming Language",
(
strong[Rust],
strong[C],
strong[Bash],
"C++",
"C#",
"Python",
"Javascript",
"Jsonnet",
)
)
#skill_item_list(
"Technologies",
(
strong[Kubernetes],
strong[Linux],
strong[Git],
strong[Ansible],
"OpenSearch",
"Flux CD",
"Dockerfile",
"GitLab CI",
"GitHub Actions",
"Prometheus",
"Prometheus Operator",
"Thanos",
)
)
#skill_item_list(
"Concepts",
(
strong[High Availability],
strong[Object-Oriented Programming],
strong[Container],
"Operating System",
"Infrastructure as Code",
"DevOps",
"Monitoring",
"Public Key Infrastructure",
)
)
#skill_item_list(
"Languages",
(
"Mandarin: Native",
"English: Advanced",
)
)
]
#let main_content = [
#resume_section("Experience")
#work_experience_item_header(
"Information Technology Center",
"Department of CS, NYCU",
"Infrastructure Engineer (Part-time)",
"May. 2020 - Estimate 2024",
)
#resume_item[
- #strong[In charge of the system team leader.]
- #strong[Build logs management system with OpenSearch, Vector, and Fluent Bit.]
Write Ansible playbook to automate the deploy process, and to automatically rolling upgrade
the cluster to prevent downtime.
- #strong[Construct metrics monitoring system with Prometheus, Thanos, and Grafana.]
In order to monitor multiple Kubernetes cluster, introducing Thanos to provide the ability to
query across different cluster and long term metric storage.
- #strong[Redesign Kubernetes IaC with Flux CD and Ansible.]
Redesign the deploy process and introduce Flux CD to achieve intuitive GitOps process, which
makes us to easily manage multiple Kubernetes cluster instances.
- Design IaC for monitoring mixins with Jsonnet and Flux CD OCI artifacts.
- Manage high availability OpenLDAP cluster.
- Write Ansible playbook to do CI/CD for complex Nginx configuration files.
]
#resume_section("Personal Project")
#personal_project_item_header(
"genetlink",
"",
"Contributor",
"Sep. 2021",
project_link: github_project_link("rust-netlink/genetlink"),
)
#resume_item[
- Contribute the whole genetlink protocol implementation to the rust-netlink project.
- Along with another 2 crates: `netlink-packet-generic`, `netlink-packet-wireguard`, which
enable Rust program to operate WireGuard tunnel without the need to depend on C library.
]
#personal_project_item_header(
"rust-osshkeys",
"",
"Maintainer",
"Feb. 2020",
project_link: github_project_link("Leo1003/rust-osshkeys"),
)
#resume_item[
- Build a Rust library for accessing OpenSSH key in different formats.
Makes it possible to use, convert OpenSSH keys easily with Rust programs.
]
#personal_project_item_header(
"cjail",
"",
"Maintainer",
"Feb. 2018",
project_link: github_project_link("Leo1003/cjail"),
)
#resume_item[
- A container jail to run process in an isolated environment. Learned a lot while working
on this project, including Linux namespace, cgroup, rlimits, signals, etc.
]
]
#grid(
columns: (1fr, 2fr),
column-gutter: 1em,
sidebar_content,
main_content,
)