Experience
+1.24%$▲ 2.05$+0.86%
Vanguard logo

Application Engineer

Vanguard · March 2026 - Present

AngularAngularTypeScriptTypeScriptOpenIDOAuth

My first time on a trading platform, and the first time my code sat somewhere real money moves, which made me a lot more careful than I'd been anywhere else. The front end was split into a bunch of small apps that all release on their own, so a change that looked like one line in one repo usually meant getting teams I'd never met to ship in the right order. Those were the tickets nobody really owned, and I kept picking them up anyway. The habit I took away from this one is writing the analysis before the code. I'd spend a day on a doc explaining what was actually broken, and the fix almost always came out smaller than if I had just started typing. The tickets I liked best ended with less code than they started with. I also did a lot of accessibility work alongside the team that files those defects, which changed how I build anything now. Six months and 60+ tickets later, I'm still surprised by how much of the job was talking to people.

Highlights

Single Source of Truth

Fund lookups were identifying securities by guessing from the shape of the ticker symbol, so most third-party funds resolved to the wrong view entirely. I replaced the heuristic with the API's authoritative response, collapsed two round trips into one, and retired both hand-built modals in favour of the shared component that already resolves layout per security type

len === 5 && endsWith("X")
status → 200 · 206 · 207 · 204
FXAIX
2 requests
equity view
fund view
shared MFE

equity · ETF · fund

3 effects retiredduplicate quote state removed

every analytics event preserved · rollback path intact

Accessibility Remediation

Eleven accessibility defects across the platform's micro-frontends and shared component library, four of them serious. I fixed focus outlines you couldn't see, focus that jumped to the wrong place, and controls screen readers skipped right over. The ones that could quietly break again got regression tests

0of 11 resolved
h2Review order
ETFMutual fund
Shares
0
Estimated
Continue
screen reader output
4 serious
7 screen reader

Volatility Banner

Shipped a real-time market volatility feed into an order-entry micro-frontend, deriving high-volatility state from the response store and building session-scoped dismissal that auto-clears when the host app opts in via config

Volatility14.20
0.00

Platform Modernization

Championed team-wide engineering improvements by leading a Cypress-to-Playwright E2E migration, driving an Angular 20 framework upgrade, and standardizing AI-agent onboarding across 10+ repositories

CypressCypress
Playwright
chromium
firefox
webkit
AngularAngular17
TypeScript10+ repos onboarded