Scaling ESG Scoring at Bloomberg
May 2022 – June 2025
ESG — Environmental, Social, & Governance — scores are how investors evaluate companies (and countries) beyond pure financials. Bloomberg's ESG scoring started as ad hoc Python scripts, manually run once a month against ~3,000 companies. Over 3 years across 2 ESG teams, I helped turn that into an automated pipeline running nightly at 5x the coverage, then rebuilt the downstream system that consumed it for 151 countries' worth of climate risk data.
Scaling company scoring
Replaced the ad hoc scripts with 6 microservices, moving from monthly manual processing of 3,000 companies to automated nightly scoring of 15,000 — an 80x throughput increase, from 16 hours down to under 1 hour. The hard part wasn't the code, it was decoupling the quants' scoring models into real pipelines that could be split into microservices and divided across teams. Alongside this, I built a snapshot service versioning 1M+ nightly data points. Jupyter notebooks I built to visualize the data showed hundreds of thousands of points weren't changing day to day — inserting them all as new rows made no sense — so the service only persists the ~5% that actually changed, while still letting anyone reconstruct exactly what the model saw on any past day.
Rebuilding Government Climate Risk
Rebuilt the Climate Risk scoring pipeline for 151 countries, replacing 24+ runbook-driven Python scripts with a single Argo-orchestrated service — cutting score computation from 2 weeks of engineer effort to 15 minutes. Reproducing years of legacy results meant understanding, debugging, and rewriting a large number of pandas/numpy transformations — vectorizing them for both correctness and speed — while building a regression-tested migration path back to 2015 and adding Pandera-based validation to catch bad model inputs before production.
Shipping a tool people actually used
Independently built and shipped a file diff tool now used by around 100 quants, analysts, and engineers. The need was accountability: when a score changed, there was no fast way to tell who uploaded a dataset, when, or how it shifted the output — this tool made that traceable.
Leading a cross-datacenter migration
Architected and led an 8-month migration to achieve disaster-recovery compliance (DR-1), aligning 6 separate ESG teams onto one plan. The technical approach — dual writes with an eventual cutover instead of a one-time switch — was the easy part; the real work was organizational, getting 6 teams to commit to one shared strategy instead of 6 independent migrations.
Other notable work
Built the MVP for an ESG mobile application that was later productionized into the Bloomberg mobile app. Also served as a core maintainer of an internal alternative to Apache Iceberg.