Role: Software Engineer 1
Timeline: June 2024 – August 2025
Tech Stack: Java, Spring Boot, Apache Flink, Apache Pinot, Kafka, YARN
Overview
At Uber, I worked on the Real-Time Data Processing Platform, an infrastructure critical to business verticals across Rides, Ads, and Machine Learning. The platform relies heavily on Apache Flink to process petabyte-scale telemetry pipelines, powering dynamic pricing, ML feature ingestion, and ad ranking in real-time.
Key Technical Contributions
- Zero-Downtime Infrastructure Migration: Executed a massive infrastructure migration for internal customer teams, upgrading over 1,000 distributed YARN jobs from Flink 1.12 to 1.18. I refactored legacy codebases using the Table API and DataStream API to resolve Job Graph Planner compatibility issues, preserving strict stateful checkpoint consistency with zero data loss.
- Custom SinkV2 Connectors: Engineered custom connectors integrating HTTP, Apache Pinot, and Uber’s internal Docstore. By implementing the SinkV2 API, we modernized the platform’s data ingestion capabilities, mitigated downstream backpressure, and significantly cut feature store ingestion latency across multi-tenant clusters.
- Security & Concurrency Migrations: Facilitated a platform-wide security migration, transitioning user jobs to secure YARN clusters and enabling secure read/write access for Kafka topics.
- Operational Excellence: Provided rigorous on-call support and incident mitigation for the streaming platform, diagnosing complex cross-team incidents and serving as a key technical point of contact for internal ML and data stakeholders.