The programming pop culture favors specific code aesthetics based on the trends of the day
The issue is that the programming pop culture demands that code exhibit the latest popular aesthetics of rigor, formality, and cleverness
It didn't matter if you were writing in Ruby, JavaScript, or Objective-C. Your code had to have a level of magic to it. Metaprogramming, syntax-hacking languages to create ad hoc Domain-Specific Languages, tricks with extreme late binding, and more were frequent topics on developer weblogs and forums
A part of this trend is the unpopularity of the approaches and languages seen as less rigorous. CSS is dropped in favor of statically typed CSS-in-JS methods. HTML is dropped in favor of a strict inline XML-like markup format called JSX
At most software startups, customers typically don't care if your product runs on Heroku, Kubernetes, or a brittle singly-homed machine in Joe's closet
No purchasing decisions hinge on your commitment to write servers in Rust or use Nix for hermetic everything
Customers want software that delivers problem-solving impact
But there are many instances where an innocent, ill-considered early decision turned out much worse over the longer term. It becomes a time-sucking, success-hindering mess requiring costly correction later
Ship the product. Frequently and reliably.
support growth. Be able to bring in more people gradually that can do
I wrote last month about migrating Buttondown from several separate micro repositories to a single monorepo. I've since completed the migration, and the slight irritation I felt from having to unwind many technical choices with deployment + continuous integration has faded.
I am here to tell you: if you are running a software business and you aren't at, like, Google-tier scale, throw it all in a mono repo