Comment by threecheese
13 hours ago
In the enterprise, we are already adopting them. “Seam”, I term I’d never heard used before, is now not only our defacto way to describe the boundary between systems/workflows/components, it is encoded into our organizational roles and responsibilities descriptions.
I am the proud owner of several seams, and am considering giving them person-names. The empty space between my inventory APIs and their clients might be “Karen”.
I can’t say that Claude invented this; the same type of terminology cycling happens every few quarters based on what leadership is reading/being told by Gartner.
"seam" is a cop-out term for when someone (usually AI) lacks the imagination to come up with something more descriptive. It's like saying "middle thing". Just name it by what it does, and if you can't, remove it because it's not doing anything.
"load-bearing" on the other hand is just a weird way to say "required" or "prerequisite" without drawing any attention to the fact that one cannot articulate what something is a prerequisite for, probably because that fact has since been lost from context.
"Seam" has been a thing since before the AI craze. Wasn't it the NSA director who once said something like "we make our living at the seams"?
Not the same thing.
"seam" dates back to refactoring & software engineering literature that pre-date LLM use by 20 years -- see Working Effectively With Legacy Code for one example (https://www.oreilly.com/library/view/working-effectively-wit...). Its a great book, still use techniques from it everyday.
"load-bearing" I have never heard used for programming before Opus, and its incredibly annoying and over-used.
+1, useful read!
Seam is used liberally throughout because it captures the idea well (i.e. a place where you can cleave ball of mud code apart to begin refactoring efforts in an isolated way) and that takes many different forms throughout the book whether that be via methods and classes, source files as a single unit, linker seams, on and on.
load-bearing was/is used frequently on the ops side of things, I assume the LLMs picked up from physical engineering texts or sysadmin type blogs.
"Load-bearing" is an apt metaphor in the https://xkcd.com/2347/ sense.
2 replies →
I remember "cleavage" and "cleaves" from that vocabulary. Always made my adolescent brain chuckle.
I believe the term "seam" came from Michael Feathers' "Working Effectively with Legacy Code": “a seam is a place where you can alter behavior in your program without editing in that place”.
https://martinfowler.com/bliki/LegacySeam.html
Claude is using it a bit liberally, but not totally incorrectly.
I've associated it with the concept of "carving nature at the seams", except that I just realized that in the standard phrasing it's actually "at the joints", not "seams".