docs: add comprehensive LaTeX resume with 6+ years experience
This commit is contained in:
+185
@@ -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:[email protected]}{[email protected]}\\
|
||||
& 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}
|
||||
Reference in New Issue
Block a user