I’ve been thinking about the exuberance (and often hostility) surrounding vibe coding vs other techniques. Vibe coding is not particularly more efficient or productive than other approaches (as many studies show)—it’s just different. Why does a simple choice of tooling bring out so much emotion?
I think there’s a good analogy in men’s watches—bear with me 😄 . I usually mentally roll my eyes when somebody says, “My $20 Timex keeps time just as well as that <expensive watch>.” It’s both a sort of snobbery and a failure to grasp the concept. Particularly in a cell-phone era, watches have nothing to do with keeping time. They are jewelry—the only tasteful everyday jewelry men can wear other than wedding or class rings. For engineers in particular, mechanical watches can be delightful—the charm of artful complication in a computer age. Watches also make a statement about the wearer: ostentation vs. elegance; skeletonized complexity vs. railroad-watch simplicity, gold vs. titanium; smart vs. mechanical. All these things matter, and they all tell us something about the wearer (as does that Timex) and, like vibe coding, bring out our feelings. They are also internal: they symbolize how we see ourselves.
The way we code is like the watches we wear. The practical concerns (telling time, creating code) are secondary to the statement our coding systems make about ourselves and the delight we take in the process. Some people delight in hand-crafting, others in the cybernetic futurism of machine assistance. Some people take no delight at all—which is itself a statement (they don’t wear watches). Vibe coding or not, the work is about the same (all watches tell time), but the way we go about doing the work matters to us because it makes a statement about ourselves. So, of course, emotions can run high. It’s not about the tooling, it’s about being “modern” or “cool” or “a craftsperson.”
It’s also about social groupings. The gold Rolex crowd forms a social group, as do the smartwatch and Timex crowds (as does the Patek Philippe crowd, but that’s management 😄.) I can’t overemphasize the role that social groups play in technical decision-making and the development process. We don’t want to alienate our friends, and the “wrong” tooling or technical decisions—ones not approved by the group—can do that, so we resist other ways of working. Our social nature drives us in a particular direction. The technical arguments—telling time—are secondary. It is wise, I think, to never forget that we are social animals and that software development is, first and foremost, a social activity. If we want to change the tech, we first have to look at the social system that will resist (or, in some cases, encourage) that change.


Solid piece. Very whimsical and thought provoking. Not bad AH.