Five years writing production backends — pipelines, search, observability, the boring parts that decide whether anything else gets to be interesting. Off the clock I prototype obsessively: agents, dashboards, swing-trading sandboxes, an NL→SQL middle layer. On weekends, a camera, a list of dishes worth a detour, and whatever's playing at the nearest single-screen.
Lead the migration from a five-year-old monolith to a properly bounded microservices setup — clearer ownership, independent scaling, narrower blast radius. Three juniors joined that work and now own services of their own. Most of my mentoring is engineering design: how to read a service, when to push back in product review, what to do with the half-finished thing on the staging branch.
Engineered a hierarchical region-discovery layer with multi-strategy search (direct → fuzzy → phonetic) so messy administrative names resolve cleanly across pan-India geospatial datasets. Built and orchestrated the Airflow pipelines that turn raw satellite tiles into report-ready rasters. Added Redis caching and a Datadog observability stack that catches issues before customers do. Designed the public APIs underneath — versioned, rate-limited, contract-enforced.
Owned end-to-end backend of Sparta Maps, the GT data collection platform — API design, database schema, mobile integration. Wrote Bash and Python scripts that automated the geospatial workflows the GIS team used to do by hand, and Streamlit APIs that accelerated raster generation. Most of the tools other engineers ended up reaching for came out of this period.
Built full-stack features in a fast-moving product team. Learned fast that production ownership is different from everything the textbooks say — you're on call for what you ship, and the customer timeline doesn't wait for the sprint cycle.
Where the loops first made sense. Final year project: a geospatial crop-monitoring dashboard — which, in retrospect, was an early signal.
Most agent failures are schema failures. The model isn't dumb; you didn't tell it what shape the answer should take.
Slack→warehouse, raw geometry→canonical region, NL→SQL. The interesting work is almost never in the model on top.
A film entirely about how the unit of work is changing one person's mind. Stayed up writing for an hour after.
One page. Three diagrams. A list of decisions you'd defend in a code review. The juniors I onboarded got this in week one.
I'm an engineer who likes the boring middle layer. The pipelines, the search, the contracts, the parts of a system nobody wants to inherit — those are usually where the real product lives. The interesting work is almost never in the model on top; it's in whether the layer underneath can answer the same question twice the same way.
Five years in, I keep ending up as the person teams hand the messy backend to — and I tend to leave it more readable, more observable, and less expensive to change than I found it. I care about ownership: who's on call for this, what the failure mode is, what we'd say if it broke at 2 a.m. I care about product: what the user is actually trying to do, and whether the system makes that easier or harder.
Off the clock I prototype obsessively — agents, dashboards, telegram bots, small tools that scratch a real itch. Less hobbyist, more practice ground for product thinking: surface, flow, decision, follow-up. And on weekends, a camera, a list of places, and whatever's playing at the nearest single-screen.
A film I keep returning to and never finish thinking about. The restraint is the technique. Half the year I'm trying to write code with the same discipline — fewer moves, each one paid for. Also: 12 Angry Men + Eternal Sunshine on the same shelf, for very different reasons.