Professional Experience

Building high-reliability systems at scale — from Amazon's finance infrastructure to AI-powered automation.

Amazon

Software Development Engineer I

2 yearsFinance Automation
Full-time

VendorPaymentSystem

High-reliability payment flows and controls across Processing, Authorization, and Payment domains

  • Multi-million dollar transaction processing
  • 99.99% uptime SLA
  • Cross-team integration

InvoiceIngestionTeam

Ingestion, enrichment, and validation workflows at scale

  • Millions of invoices processed annually
  • Automated enrichment pipeline
  • Data quality improvements

SubmitInvoiceService

Unified service for invoice submission across channels (email, API, portal)

  • Multi-channel normalization
  • Reduced submission errors
  • Improved vendor experience

Unified Multi-channel Invoice Ingestion

Email/API/portal pipelines with normalization and enrichment

  • Consolidated ingestion points
  • Consistent data schema
  • Faster processing times

Amazon

Software Development Engineer Intern

6 monthsFinance Automation
Internship

Data Comparator Tool

Deterministic diffing tool for service migration validation

  • Enabled safe service migrations
  • Automated data validation
  • Reduced migration risks

Invoice Matching Service

Rules and heuristics engine to link POs, invoices, vendors, and payments

  • Improved matching accuracy
  • Reduced manual reconciliation
  • Faster payment cycles

Key Takeaways

High-scale distributed systems
Multi-team coordination
Production reliability (99.99% SLA)
Data pipeline optimization
Service migration tooling
Cross-channel integration

What I Learned

Reliability is non-negotiable. Working on systems that process millions in payments taught me the importance of error handling, retries, monitoring, and graceful degradation.

Scale changes everything. Solutions that work for thousands of records fail at millions. I learned to think about data structures, indexes, and architectural patterns early.

Cross-team collaboration is a skill. Large systems require clear APIs, documentation, and communication. I learned to design for other teams, not just my own.