From 256ceec855e56e250e48d60beb4654b8bdc85a09 Mon Sep 17 00:00:00 2001 From: Story Crater Bot <19826264+Riotpiaole@users.noreply.github.com> Date: Tue, 1 Sep 2026 10:43:39 -0700 Subject: [PATCH] docs: add comprehensive LaTeX resume with 6+ years experience --- resume.tex | 185 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 resume.tex diff --git a/resume.tex b/resume.tex new file mode 100644 index 0000000..272ef5c --- /dev/null +++ b/resume.tex @@ -0,0 +1,185 @@ +\documentclass[letterpaper,11pt]{article} + +\usepackage{latexsym} +\usepackage[empty]{fullpage} +\usepackage{titlesec} +\usepackage{marvosym} +\usepackage[usenames,dvipsnames]{color} +\usepackage{verbatim} +\usepackage{enumitem} +\usepackage[pdftex]{hyperref} +\usepackage{fancyhdr} + + +\pagestyle{fancy} +\fancyhf{} % clear all header and footer fields +\fancyfoot{} +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{0pt} + +% Adjust margins +\addtolength{\oddsidemargin}{-0.375in} +\addtolength{\evensidemargin}{-0.375in} +\addtolength{\textwidth}{1in} +\addtolength{\topmargin}{-.5in} +\addtolength{\textheight}{1.0in} + +\urlstyle{same} + +\raggedbottom +\raggedright +\setlength{\tabcolsep}{0in} + +% Sections formatting +\titleformat{\section}{ + \vspace{-4pt}\scshape\raggedright\large +}{}{0em}{}[\color{black}\titlerule \vspace{-5pt}] + +%------------------------- +% Custom commands +\newcommand{\resumeItem}[2]{ + \item\small{ + \textbf{#1}{: #2 \vspace{-2pt}} + } +} + +\newcommand{\resumeSubheading}[4]{ + \vspace{-1pt}\item + \begin{tabular*}{0.97\textwidth}{l@{\extracolsep{\fill}}r} + \textbf{#1} & #2 \\ + \textit{\small#3} & \textit{\small #4} \\ + \end{tabular*}\vspace{-5pt} +} + +\newcommand{\resumeSubItem}[2]{\resumeItem{#1}{#2}\vspace{-4pt}} + +\renewcommand{\labelitemii}{$\circ$} + +\newcommand{\resumeSubHeadingListStart}{\begin{itemize}[leftmargin=*]} +\newcommand{\resumeSubHeadingListEnd}{\end{itemize}} +\newcommand{\resumeItemListStart}{\begin{itemize}} +\newcommand{\resumeItemListEnd}{\end{itemize}\vspace{-5pt}} + +%------------------------------------------- +%%%%%% CV STARTS HERE %%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\begin{document} + +%----------HEADING----------------- +\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r} + \textbf{{\Large Rock Liang}} & Email : \href{mailto:rock@riotpiao.com}{rock@riotpiao.com}\\ + & Portfolio : \href{https://riotpiao.com}{riotpiao.com}\\ +\end{tabular*} + + +%-----------Professional Summary----------------- +\section{Professional Summary} + \resumeItemListStart + \resumeItem{Experience} + {6+ years building scalable infrastructure, backend systems, and LLM-powered applications. Expertise in Kubernetes orchestration, Infrastructure-as-Code (Terraform), distributed systems design, and cloud-native architecture at AWS scale.} + \resumeItem{Core Competencies} + {Production Kubernetes (Talos, GitOps/ArgoCD), Terraform IaC, AWS distributed systems, Golang backend services, observability (Prometheus/Grafana), message queuing (Kafka/Temporal workflows), GPU inference (vLLM), zero-trust networking (OIDC/RBAC).} + \resumeItem{Strengths} + {Owning systems end-to-end—from design doc through oncall. Building fault-tolerant platforms. Unblocking teams with clear technical communication. 99.2% automation mindset.} + + \resumeItemListEnd + + +%-----------EXPERIENCE----------------- +\section{Experience} + \resumeSubHeadingListStart + + \resumeSubheading + {Self-Hosted Production (riotpiao.com)}{Home Lab} + {DevOps / SRE / SDE}{May 2025 — Present} + + \resumeItemListStart + \resumeItem{Challenge \& Solution} + {Built AWS from scratch at home on bare-metal Kubernetes—Talos Linux for secure OS, ArgoCD for GitOps pipeline automation, SOPS for encrypted secrets, cert-manager for PKI. Result: production-grade multi-tenant platform with Kafka, PostgreSQL, S3, GPU LLM inference, Temporal workflows in 4-node cluster.} + \resumeItem{System Design} + {Architected Authentik OIDC SSO with Kubernetes RBAC; Longhorn block storage + MinIO S3-compatible API; CloudNativePG with pgvector for embeddings; vLLM GPU inference (Qwen3-32B) with KServe orchestration. Tech: \textbf{Kubernetes, Talos, ArgoCD, Terraform, Authentik, Prometheus, Grafana, vLLM, Temporal, Kafka, PostgreSQL, Go}} + \resumeItem{Observability \& Operations} + {Implemented full observability stack: Prometheus metrics, Grafana dashboards, Loki log aggregation, Tempo traces, OpenTelemetry. 99.2\% uptime maintained across core services via monitoring automation and runbooks. Tech: \textbf{Prometheus, Grafana, Loki, Tempo, OpenTelemetry}} + \resumeItem{Deployment Pipeline} + {GitOps-driven Forgejo CI/CD with Docker container registry; DinD runners for parallel builds. Kustomize manifests + Terraform for declarative infrastructure. Tech: \textbf{Forgejo, Docker, Kustomize, Terraform}} + \resumeItemListEnd + + \resumeSubheading + {Royal Bank of Canada (RBC)}{Toronto, ON} + {Lead Software Engineer}{Nov 2024 — May 2026} + \resumeItemListStart + \resumeItem{Challenge \& Solution} + {Deployments were manual, blocking teams 2+ hours per release. Standardized on Terraform Cloud for idempotent IaC; built Temporal workflows for multi-cloud orchestration with built-in retry logic and idempotency keys. Reduced deploy time from 2 hours to 20 minutes, achieved 99.2\% automation.} + \resumeItem{Drift Detection \& Reconciliation} + {Built Kubernetes CronJob (Golang) to continuously detect and reconcile Terraform state drift against actual infrastructure. Automatically detects divergence and triggers remediation without manual operator intervention. Tech: \textbf{Golang, Kubernetes, Terraform, IaC}} + \resumeItem{Slack Notifications \& SLA} + {Designed Slack notification service with Golang workers to alert on apply failures and drift detection. Operators resolve issues in \textless 5 minutes via notification-driven workflow. Coordinated across 12 platform teams—unified 200+ microservices into single IaC standard. Tech: \textbf{Golang, Slack API, Distributed Systems}} + \resumeItem{Stakeholder Alignment} + {Led requirement gathering across 4 platform teams; translated technical decisions for non-technical stakeholders; secured buy-in for platform migration. Unblocked 3 stalled projects by disambiguating specs.} + \resumeItemListEnd + + \resumeSubheading + {Amazon Web Services (AWS)}{Seattle, WA} + {Senior Software Engineer (Step Functions)}{2022 — 2024} + \resumeItemListStart + \resumeItem{Challenge \& Solution} + {Owned Distributed-Map from design doc to production launch across 57+ regions. Under tight deadline, introduced separate state in Map vs new functions—simplified customer adoption. Built checkpoint recovery for mid-workflow failures so customers resume without full re-run.} + \resumeItem{Distributed Systems Engineering} + {Solved critical edge cases: race conditions in concurrent updates, dependent service failures, message deduplication, exactly-once semantics. Introduced JSON state input for larger payloads—unlocked new customer use cases. Tech: \textbf{Java, DynamoDB, gRPC, Distributed Systems}} + \resumeItem{Production Ownership \& Reliability} + {Full oncall ownership—built CloudWatch dashboards, wrote operational runbooks, debugged production issues live. Achieved sub-100ms P99 latency across 57+ regions and 20x burst traffic scaling. Disaster recovery and incident response procedures. Tech: \textbf{Java, AWS, CloudWatch, Observability, Ownership}} + \resumeItemListEnd + + \resumeSubheading + {Netflix Titus (Container Orchestration)}{Los Gatos, CA} + {Software Engineer Intern}{May — Aug 2019} + \resumeItemListStart + \resumeItem{Challenge \& Solution} + {Streamlined Personal Data Detection (PDD) to identify classified data exfiltration anomalies—achieved 97.8\% accuracy with minimal false positives. Built fault-tolerant Golang connector for PDD integration with 28\% p99 latency improvement over legacy implementation.} + \resumeItem{Compilation \& Integration} + {Re-integrated SmartRegex with CMake \& C++ on Linux/Unix platforms. Achieved 5x faster deployment through automated build pipeline and dependency resolution. Tech: \textbf{C++, CMake, Golang, Docker}} + \resumeItem{Impact} + {Prevented classified data leakage across Netflix's distributed workload platform. Improved SLA for data governance compliance teams.} + \resumeItemListEnd + + \resumeSubheading + {NAV Canada (Air Traffic Control Systems)}{Ottawa, ON} + {Summer Student}{May — Aug 2018} + \resumeItemListStart + \resumeItem{Challenge \& Solution} + {Maintained enterprise CFPS web application in Agile development. Built Django NOTAMJ polls app to meet iteration goals. Improved deploy stability with Sonar code coverage analysis—reduced defect escape rate.} + \resumeItem{Frontend \& User Experience} + {Created FWGS weather briefing interface with ReactJS for Air Traffic Control. Real-time meteorological data visualization for pilot briefings. Tech: \textbf{ReactJS, Django, Agile, Sonar}} + \resumeItem{Impact} + {Improved ATC decision-making with cleaner weather briefing UX. Deployed to Canadian airspace (50+ airports).} + \resumeItemListEnd + + \resumeSubHeadingListEnd + +%--------PROGRAMMING SKILLS------------ +\section{Technical Skills} + \resumeSubHeadingListStart + \item{\textbf{Languages}{: Golang, Java, Python, C++, JavaScript/TypeScript, SQL}} + \item{\textbf{Cloud \& Infrastructure}{: Kubernetes (Talos Linux, k3s), Terraform, Docker, ArgoCD, AWS (DynamoDB, Step Functions, CloudWatch), OpenShift}} + \item{\textbf{Distributed Systems}{: Temporal workflows, Kafka/Redpanda, gRPC, message queuing, exactly-once semantics, state management, disaster recovery}} + \item{\textbf{LLM \& AI}{: vLLM (GPU inference), KServe, Ollama, TEI embeddings, vector databases (pgvector)}} + \item{\textbf{Observability}{: Prometheus, Grafana, Loki, Tempo, OpenTelemetry, CloudWatch, alerting \& runbooks}} + \item{\textbf{Networking \& Security}{: Authentik OIDC SSO, cert-manager TLS, RBAC, SOPS encryption, Cloudflare Tunnel (zero-trust), network policies}} + \item{\textbf{Data}{: PostgreSQL, DynamoDB, MinIO S3, Longhorn storage, pgvector}} + \item{\textbf{CI/CD}{: Forgejo Actions, GitHub Actions, Docker registry, Kustomize, GitOps}} + \resumeSubHeadingListEnd + +%-----------EDUCATION----------------- +\section{Education} + \resumeSubHeadingListStart + \resumeSubheading + {University of Ottawa}{Ottawa, Ontario} + {Master of Science in Computer Science (Software Systems)}{2020 — 2021} + \resumeSubheading + {University of Ottawa}{Ottawa, Ontario} + {Bachelor of Science in Computer Science (Honours)}{2016 — 2020} + \resumeSubHeadingListEnd + +%------------------------------------------- +\end{document}