blog.chay.dev

No more excuses to not go one level deeper

A while back, Alex Kladov (aka matklad) wrote a pretty inspiring article encouraging the habit of fixing things "one level deeper". This principle always felt a little too idealistic to me, because fixing things one level deeper - properly - generally involves:

... and doing any of these is often prohibitively effortful, especially if the underlying problem belongs to code that isn't owned by you. It would take a certain degree of experience, intelligence, or tenacity just to start.

But with LLMs, the barrier has lowered significantly, to the point that I am almost always inclined to try step 1. It is like having a junior with boundless patience and tenacity, to whom you can delegate all your side quests (that's how most think of the one level deeper problems).

Over the December holidays, I was working on a side project using Elixir. I decided on Polar for my billing needs, and (surprisingly!) there was a library for it, but it was (unsurprisingly) sparsely maintained and I quickly encountered issues with it.

This is a rather typical experience when working with smaller ecosystems.

I patched the bug and upstreamed my changes, and along the way I discovered an even deeper problem caused by a subdependency, patched that, and opened a PR for it too. I was surprised by myself. If this had happened a couple of years ago, I would have given up on this library and written my own wrapper around Polar's HTTP API. But now, contributing to the ecosystem whilst working on my own stuff is a valid - and sometimes, trivial - option.

So now, I am an absolute believer of matklad's mantra. My only fear about this newfound enablement, is not knowing whether I am being a bad AI driver, and whether I am contributing to AI slop. But, Dunning-Krugers and imposters aside, this feeling is absolutely liberating.