Archive

1290 posts · Page 69 of 108. ← Blog

Pratik Dhanave · ·8 min read

Why Engineers Should Understand Business Finance

Finance is the language business uses to talk about itself, and most engineers are functionally illiterate in it — which quietly caps their influence. The decisions you disagree with (why we're not hiring, why that project got cut, why the company is pushing revenue over polish) usually make perfect sense once you can read the financial reality behind them. Learning to read that reality — the P&L, the cash position, the unit economics — turns you from someone decisions happen to into someone who can shape them.

Finance is the language business uses to talk about itself, and most engineers are functionally illiterate in it — which quietly caps their influence. The decisions you disagree with usually make sense once you can read the financial reality behind them. Learning to read that reality turns you from someone decisions happen to into someone who can shape them.

Pratik Dhanave · ·11 min read

panic, recover, and defer's Role

Go handles ordinary failure with values, not exceptions — so what are panic and recover actually for? A working guide to how panic unwinds the stack through your defers, why recover only fires inside a deferred function, and the narrow set of places where catching a panic is the right call rather than a code smell.

Go handles ordinary failure with values, not exceptions — so what are panic and recover actually for? A working guide to how panic unwinds the stack through your defers, why recover only fires inside a...

Pratik Dhanave · ·4 min read

Observability, Safety, and Providers — Microsoft Agent Framework in Go

Wrap every run in an OpenTelemetry span, gate risky tool actions behind a permission handler, and swap model providers behind one agent.Agent.

Wrap every Microsoft Agent Framework run in an OpenTelemetry span, gate risky tool actions behind a permission handler, and swap Anthropic, OpenAI, Gemini, Copilot, and Azure behind one agent.

Pratik Dhanave · ·7 min read

Intrinsic vs Post-Hoc — Two Paths to an Explainable Model

There are exactly two ways to get an explainable model: build one that's transparent from the start, or build a black box and explain it afterward. These two paths — intrinsic interpretability and post-hoc explanation — define the entire field, and choosing between them is the first real decision in any project where understanding matters. This post lays out both, their trade-offs, and why the choice is less obvious than "just use the accurate model and explain it later."

Two paths to an explainable model: build one transparent by design (intrinsic — faithful, free explanations) or explain a black box afterward (post-hoc — keeps accuracy but explanations can be unfaithful). The real debate: for high-stakes problems where an interpretable model is competitive, prefer intrinsic over explaining a black box.

Pratik Dhanave · ·8 min read

Measuring Marketing

"Half the money I spend on advertising is wasted; the trouble is I don't know which half" is a century-old lament that still captures marketing measurement's core problem. Engineers, arriving with a "measure everything" instinct, often assume the answer is just better tracking — and then discover that the most valuable marketing (brand, demand creation, word-of-mouth) is precisely the hardest to measure, while the easiest-to-measure activities aren't always the most valuable. Measuring marketing well means navigating that tension, not pretending it away.

'Half the money I spend on advertising is wasted; I don't know which half' still captures marketing measurement's core problem. Engineers assume the fix is better tracking — then discover the most valuable marketing (brand, demand creation, word-of-mouth) is the hardest to measure. Measuring well means navigating that tension, not pretending it away.