Software is like entropy: It is difficult to grasp, weighs nothing, and obeys the Second Law of Thermodynamics; i.e., it always increases.”
— Norman Augustine
Programming in the large, according to a well-respected industry practioner (me!) is the meta aspects around programming, like how to structure code (spoiler: do it well!). Or arguments for SOLID principles. Or against SOLID principles. Maybe even both in the same article, sometimes.
The arguments for and against… well, whatever… are probably great Software Engineering material, but Software Engineering is Large Programming. It’s Programming in the Large. It’s when you have a team of two backend developers, three user interface consultants, two React/FE developers, a product manager, a scrum master, a stakeholder, two domain specialists and one application architect (and maybe a sherpa driving a team of 12 sled dogs. Because … why the hell not?)
These are all the meta-discussions around programming.
It’s all Programming in the Large, because all these topics involve a large number of technologies1.
The Programming in the Large discussions are mostly about things, which are about other things which, in turn, are about programming. These are programming meta-discussions2, not programming dicussions.
It’s like the difference between a discussion of, say, the best types of oil-paints, instead of a discussion about the actual art undergoing creation.
In my experience, there are some really interesting things to talk about that aren’t “How to scale your todo
app to 7b users”, and aren’t “Why AI is the best/worst thing to happen to the industry”, and aren’t “Seven checkboxes to tick before your promotion to Staff Engineer is guaranteed”.
Now while I’m sure that the meta-discussions make for some interesting articles, just how many “Best practices in FP/OO” articles can you read? How many times have you read the same arguments for “SPA vs SSR”, all by different authors? Just how often is someone saying “You are using monads, you just don’t know it!” an insightful take (Another spoiler: It isn’t insightful)?
I think there is plenty of meta-discussion about programming. In other words, there is enough discussion about things that are about things that are about programming.
Honestly, at this point I’m simply just tired of rereading the same arguments on the same topics, retching up the same analogies in a mostly pointless effort to proselytise the same technology. In an effort to Be The Change I Want To See, I thought that switching the focus of the blog while increasing the frequency could, perhaps, maybe, in some small way, lead to better programming discussions.
Programming in the Small, i.e. this blog, will be about programming, and not programming adjacent topics, such as best practices, or development technology stacks, or paradigms, etc.
There’s enough meta-discussion; I feel there is no space for any more. I’ll be just one more voice crying into all noise at this point anyway.
So, yeah, I aim to write short articles on Programming in the Small, the first of which should be published on this site next week. All of my regular readers3 know that I write maybe once a year. With an emphasis on shorter and more focused topics, I think I can increase the frequency of articles.
You’ll be lucky to build a simple site without needing to expend your precious memory on knowing a dozen different technology stacks.↩︎
The topic of “Programming Meta-Discussions” is very different to the topic of “Meta-Programming Discussions”. There’s a joke in there somewhere, with a punchline that starts with “One is a …” and ends with “and the other is a discussion”…↩︎
Both of you know who you are!↩︎