Update Resume & Add Open Source Section
This commit is contained in:
parent
a8727a9983
commit
ec86c4348b
5 changed files with 692 additions and 2125 deletions
|
|
@ -30,18 +30,17 @@ experience:
|
|||
stack:
|
||||
- Python
|
||||
- TypeScript
|
||||
- Docker
|
||||
- Azure
|
||||
- React
|
||||
- Azure OpenAI
|
||||
- Claude Code
|
||||
- Copilot
|
||||
- Playwright
|
||||
bullets:
|
||||
- "Owned the end-to-end Responsible AI (RAI) evaluation pipeline, executing critical harms assessments to gate model releases. Engineered custom retry mechanisms and architectural optimizations, reducing average pipeline execution time by **50%**."
|
||||
- "Engineered an automated synthetic data generation framework using LLMs, generating **70,000+** diverse queries and multi-step interaction trajectories across **20,000+** real-world Excel workbooks to power large-scale model evaluation pipelines."
|
||||
- "Served as on-call Shield Engineer, driving infrastructure reliability across evaluation pipelines—resolving session instabilities, engineering deterministic failure classification, and automating bug workflows to maintain **>95%** uptime."
|
||||
- "Architected KQL-driven telemetry dashboards to monitor pipeline clean run rates and infrastructure failures, establishing single-pane-of-glass observability across the evaluation platform."
|
||||
- "Shipped deterministic handling for RAI policy refusals in UI-less agent evaluations, ensuring robust diagnostic propagation and achieving 100% execution parity with UI-based paths."
|
||||
- "Implemented full-stack performance optimizations and WCAG-compliant accessibility features to the core Microsoft Excel web client (React/TypeScript), eliminating UI rendering bottlenecks for millions of enterprise users."
|
||||
- "Owned the end-to-end Responsible AI (RAI) evaluation pipeline gating model releases; optimized execution latency by **50%** through asynchronous worker pools, intelligent request batching, and custom retry algorithms."
|
||||
- "Onboarded next-generation multimodal AI agents into the core evaluation platform, designing pluggable backend adapters, isolated container sandboxes (Docker), and concurrent distributed cloud runtimes with robust IPC and telemetry capture."
|
||||
- "Designed and scaled an automated synthetic data engine orchestrating parallel LLM workers; modeled complex spreadsheet state graphs to generate **70,000+** multi-step interaction trajectories across **20,000+** enterprise workbooks."
|
||||
- "Served as on-call engineer driving infrastructure reliability across evaluation pipelines—resolving live-site instabilities, engineering deterministic failure classification, and automating bug workflows to maintain **>95%** uptime."
|
||||
- "Designed real-time telemetry ingestion pipelines and KQL aggregations processing **millions** of pipeline events daily, establishing single-pane observability dashboards and automated root-cause triage."
|
||||
- "Optimized client-side rendering pipelines and state management for the core Microsoft Excel web client (React/TypeScript), eliminating UI rendering bottlenecks and meeting WCAG accessibility standards for millions of enterprise users."
|
||||
|
||||
- company: Advanced Micro Devices (AMD)
|
||||
role: System Software Designer
|
||||
|
|
@ -51,28 +50,15 @@ experience:
|
|||
stack:
|
||||
- C/C++
|
||||
- Java (OpenJDK)
|
||||
- Linux perf
|
||||
- Python
|
||||
- Django
|
||||
- React
|
||||
- SQLite
|
||||
bullets:
|
||||
- "Engineered a visualization dashboard and RESTful API for OpenJDK telemetry, increasing internal data accessibility by **40%**."
|
||||
- "Engineered a high-throughput visualization dashboard and RESTful API for OpenJDK telemetry, optimizing database queries to increase internal data accessibility by **40%**."
|
||||
- "Automated nightly Java benchmarking and tuning pipelines using machine learning models, achieving a **30%** reduction in manual effort and earning the **Spotlight Award**."
|
||||
- "Optimized JVM flags, GC policies, and runtime parameters for OpenJDK on High Performance Computing (HPC) servers, achieving a **2%** throughput improvement on SPECjbb benchmarks."
|
||||
|
||||
- company: Chromium
|
||||
role: Google Summer of Code Contributor (Open Source Developer)
|
||||
location: Remote
|
||||
start: May 2022
|
||||
end: Aug 2022
|
||||
stack:
|
||||
- C++
|
||||
- JavaScript/TypeScript
|
||||
- WebAssembly
|
||||
- WebAudio
|
||||
- WebWorkers
|
||||
bullets:
|
||||
- "Engineered a lock-free C++ ring buffer as a reference library for real-time audio streaming between WebAudio, WebAssembly, and WebWorkers, benchmarking multiple concurrency strategies."
|
||||
- "Profiled CPU and memory bottlenecks using Linux perf; optimized JVM flags, GC policies, and runtime parameters on HPC servers to achieve a **2%** throughput improvement on SPECjbb benchmarks."
|
||||
|
||||
skills:
|
||||
- type: Programming Languages
|
||||
|
|
@ -81,12 +67,14 @@ skills:
|
|||
- Python
|
||||
- Go (Golang)
|
||||
- Java
|
||||
- Kotlin
|
||||
- TypeScript
|
||||
- Bash
|
||||
- type: Frameworks & Tools
|
||||
items:
|
||||
- PyTorch
|
||||
- Azure OpenAI
|
||||
- Android SDK / NDK
|
||||
- React/Next.js
|
||||
- Django/Flask
|
||||
- Node.js
|
||||
|
|
@ -102,6 +90,42 @@ skills:
|
|||
- PostgreSQL
|
||||
- Redis
|
||||
|
||||
open_source:
|
||||
- name: "Chromium (Google Summer of Code)"
|
||||
stack:
|
||||
- C++
|
||||
- WebAssembly
|
||||
- WebAudio
|
||||
- WebWorkers
|
||||
bullets:
|
||||
- "Engineered a lock-free C++ ring buffer as a reference library for real-time audio streaming between WebAudio, WebAssembly, and WebWorkers, benchmarking multiple concurrency strategies."
|
||||
|
||||
- name: "The Tor Project"
|
||||
role: Contributor
|
||||
stack:
|
||||
- Kotlin
|
||||
- Android SDK
|
||||
- Rust
|
||||
- JavaScript
|
||||
- VPNService
|
||||
bullets:
|
||||
- "Contributed across Tor Project client and web applications; engineered routing resilience and lifecycle management for the Tor VPN Android app, and developed enhancements for Tor Web platforms."
|
||||
links:
|
||||
- display: "gitlab.torproject.org/tpo"
|
||||
url: "https://gitlab.torproject.org/tpo"
|
||||
|
||||
- name: "p5.js (Processing Foundation)"
|
||||
role: Contributor
|
||||
stack:
|
||||
- JavaScript
|
||||
- HTML5 Canvas
|
||||
- WebGL
|
||||
bullets:
|
||||
- "Contributed core library improvements and rendering fixes to p5.js, optimizing canvas event handling and cross-browser graphic performance."
|
||||
links:
|
||||
- display: "github.com/processing/p5.js"
|
||||
url: "https://github.com/processing/p5.js"
|
||||
|
||||
projects:
|
||||
- name: "fastbin: a code sharing webapp"
|
||||
stack:
|
||||
|
|
@ -112,7 +136,7 @@ projects:
|
|||
- Docker
|
||||
- Kubernetes
|
||||
bullets:
|
||||
- "Code sharing service with a gRPC microservices architecture, containerized and live-deployed on a self-hosted Kubernetes cluster."
|
||||
- "Built a high-performance code sharing backend in Go utilizing gRPC Protobuf microservices, PostgreSQL with connection pooling and optimized indexing, containerized with Docker and deployed on Kubernetes."
|
||||
links:
|
||||
- display: "git.divyam.dev/divyam/fastbin"
|
||||
url: "https://git.divyam.dev/divyam/fastbin"
|
||||
|
|
@ -127,7 +151,7 @@ projects:
|
|||
- Rancher
|
||||
- MetalLB
|
||||
bullets:
|
||||
- "Personal infrastructure hosting containerized services, with WireGuard VPN tunneling to a public VPS for secure external access."
|
||||
- "Personal infrastructure hosting containerized services with WireGuard VPN tunneling, MetalLB load balancing, and Rancher-managed Kubernetes, enabling secure, high-availability external access."
|
||||
|
||||
education:
|
||||
- school: Deenbandhu Chhotu Ram University of Science and Technology
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ site.Language.LanguageCode | default "en" }}">
|
||||
<html lang="{{ site.Language.Locale | default "en" }}">
|
||||
<head>
|
||||
{{- partial "head.html" . -}}
|
||||
</head>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{{ define "main" }}
|
||||
{{- $r := site.Data.resume -}}
|
||||
{{- $r := hugo.Data.resume -}}
|
||||
<div class="resume-page">
|
||||
<div class="resume-header">
|
||||
<h1 class="resume-name">{{ $r.name }}</h1>
|
||||
|
|
@ -84,6 +84,38 @@
|
|||
</div>
|
||||
</section>
|
||||
|
||||
{{- with $r.open_source }}
|
||||
<section class="resume-section">
|
||||
<h2 class="resume-section-title">Open Source Contributions</h2>
|
||||
{{- range . }}
|
||||
<div class="resume-entry">
|
||||
<div class="resume-entry-header">
|
||||
<div>
|
||||
<h3 class="resume-entry-title">{{ .name }}{{ with .role }} ({{ . }}){{ end }}</h3>
|
||||
</div>
|
||||
</div>
|
||||
{{- with .stack }}
|
||||
<div class="resume-tech-stack">{{ delimit . ", " }}</div>
|
||||
{{- end }}
|
||||
{{- with .bullets }}
|
||||
<ul class="resume-entry-details">
|
||||
{{- range . }}
|
||||
<li>{{ . | markdownify }}</li>
|
||||
{{- end }}
|
||||
</ul>
|
||||
{{- end }}
|
||||
{{- with .links }}
|
||||
<div class="resume-entry-links">
|
||||
{{- range . }}
|
||||
<a href="{{ .url }}" target="_blank">{{ .display }}</a>
|
||||
{{- end }}
|
||||
</div>
|
||||
{{- end }}
|
||||
</div>
|
||||
{{- end }}
|
||||
</section>
|
||||
{{- end }}
|
||||
|
||||
<section class="resume-section">
|
||||
<h2 class="resume-section-title">Projects</h2>
|
||||
{{- range $r.projects }}
|
||||
|
|
|
|||
|
|
@ -3,13 +3,13 @@
|
|||
|
||||
#let data = yaml("../data/resume.yaml")
|
||||
|
||||
#set page(paper: "a4", margin: (x: 0.5in, y: 0.35in))
|
||||
#set page(paper: "a4", margin: (x: 0.45in, y: 0.3in))
|
||||
#set document(title: data.name + "'s Resume", author: data.name)
|
||||
#set par(leading: 0.55em)
|
||||
#set text(font: "Source Sans 3", size: 10pt)
|
||||
#set underline(offset: 2.5pt)
|
||||
#set par(leading: 0.5em)
|
||||
#set text(font: "Source Sans 3", size: 9.5pt)
|
||||
#set underline(offset: 2pt)
|
||||
#show heading: set text(weight: "semibold")
|
||||
#show heading: it => { v(4pt); it; v(2pt) }
|
||||
#show heading: it => { v(3pt); it; v(1.5pt) }
|
||||
|
||||
// --- Markdown bold **text** → Typst bold *text* ---
|
||||
#let md(s) = {
|
||||
|
|
@ -69,6 +69,12 @@
|
|||
body
|
||||
}
|
||||
|
||||
// --- Open Source entry ---
|
||||
#let openSourceItem(body, name: "", role: "", stack: ()) = {
|
||||
text(weight: "semibold")[#name] + if role != "" [ (#role)] + if stack.len() > 0 [ | #stack.join(", ")]
|
||||
body
|
||||
}
|
||||
|
||||
// --- Project entry ---
|
||||
#let project(body, name: "", stack: ()) = {
|
||||
text(weight: "semibold")[#name] + if stack.len() > 0 {
|
||||
|
|
@ -109,16 +115,12 @@
|
|||
#v(9pt, weak: true)
|
||||
#text(size: 14pt)[#data.role]
|
||||
|
||||
// Contact links — first row
|
||||
// Contact links
|
||||
#linksBar((
|
||||
(icon: "phone", url: data.contact.phone.url, display: data.contact.phone.display),
|
||||
(icon: "email", url: data.contact.email.url),
|
||||
(icon: "website", url: data.contact.website.url, display: data.contact.website.display),
|
||||
(icon: "linkedin", url: data.contact.linkedin.url, display: data.contact.linkedin.display),
|
||||
))
|
||||
#linebreak()
|
||||
// Contact links — second row
|
||||
#linksBar((
|
||||
(icon: "git", url: data.contact.git.url, display: data.contact.git.display),
|
||||
(icon: "github", url: data.contact.github.url, display: data.contact.github.display),
|
||||
))
|
||||
|
|
@ -151,6 +153,22 @@
|
|||
[#text(weight: "semibold")[#skill.type]: #skill.items.join(", ") \ ]
|
||||
}
|
||||
|
||||
// --- Open Source ---
|
||||
#if "open_source" in data.keys() and data.open_source.len() > 0 {
|
||||
[= Open Source]
|
||||
for os in data.open_source {
|
||||
openSourceItem(name: os.name, role: os.at("role", default: ""), stack: os.at("stack", default: ()))[
|
||||
#for bullet in os.at("bullets", default: ()) {
|
||||
[- #md(bullet)]
|
||||
}
|
||||
#let links = os.at("links", default: ())
|
||||
#if links.len() > 0 {
|
||||
[- #links.map(l => underline(link(l.url)[#l.display])).join(", ")]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
// --- Projects ---
|
||||
= Projects
|
||||
#for p in data.projects {
|
||||
|
|
|
|||
2665
static/resume.pdf
2665
static/resume.pdf
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue