Boilerplate is a Solved Problem

Ash Lea

2026-06-20

If you’re on the Internet reading this, you’ve inevitably been assaulted with an unstoppable torrent of LLM-related (and sometimes -authored) posts. I haven’t yet seen one debunking the frequent claim that they’re “good for boilerplate and busywork”. To that I have this to say:

You’re a programmer, so act like one.

One of the foundational virtues of programmers is laziness. Repeating one’s self is a sin. This is why we invented metaprogramming. Whether as a language feature, using one of the innumerable templating tools available, or writing your own scripts to process your code.

Notably, these processes are dead fucking simple, and quite fast. They take your input text and transform it through predictable, controllable filters to produce a specified output. This is why you can use m4 to generate code on literally any UNIX system ever, every time you build a project. Wanna try running your fancy next-word predictor on a VAXstation?

Even in the absence of metaprogramming, tweaking something across multiple files never required natural language processing (if LLMs even qualify as that): sed works plenty fine. Modern text editors and IDEs can even interact with language servers to provide semantic-aware refactoring, and you don’t even have to babysit them to make sure they don’t sprinkle unrelated changes everywhere.

Copy-paste works too.

When I started my latest project, I copied a template off the internet and customized it to my needs. If there was no template, I would’ve copied someone else’s project and stripped out everything I didn’t need, the same way everyone’s started new projects since the dawn of computing. Most IDEs provide template functionality if you’re constantly having to replicate those spooky SPDX copyright headers.

Speaking of copyright, you know what copy-pasting lets you do that LLMs don’t? Provide attribution. When I copy someone’s algorithm from StackOverflow or elsewhere, I make a note of it in a comment for posterity. If I make changes to it, I note what it was adapted from. Even in cases where attribution isn’t legally required, the context is useful for determining how something was originally meant to work if I fuck it up in the future.

In conclusion, fuck LLMs.

There are so many reasons why LLMs suck. A hundred different blog posts have been written this week enumerating those reasons; go read them if you’re not convinced. What irks me is the weaksauce conclusions they almost inevitably seem to come to: that clearly while LLMs shouldn’t be allowed to do anything important, they’re still useful for something you don’t care about.

Multiple friends of mine have complained of late that other people are slopping out projects under the assumption that nobody wants to do them, when in fact these are the exact sorts of thing that these friends are interested in. Whether it’s porting niche old games to modern platforms, explaining cryptographic algorithms to laypeople, or frankly anything else you can imagine, someone out there wants to do that thing, and will be offended if you shit out some low effort mockery of their passion.

I refuse to buy in to the notion that some parts of the work are less important than others. Every single decision, from boilerplate to business logic, should be made by someone who understands and cares about the problem. If that’s not you, then copy from someone who does. If it’s never been done before, either learn to do it properly or give up. Don’t insult the craft and craftspeople by publishing shit nobody cared to write.