Skip to main content

"Beautiful Constraints"

I'm starting to think that programmers who dip into the homebrew, demoscene and retro communities and come out talking about the beauty of programming with constraints are getting it slightly wrong.

You want constraints? If you're in a programming or engineering profession, you already have them. Heck, if you're in any profession. But, I know programming/engineering professions best because I've been in them for like 20 years. Your constraints are: Horrible bosses, bad management decisions, a pathological Capitalistic enterprise, idiotic schedules, badly written existing code bases and technical debt, people at higher levels with political control that know a lot less than you, lack of creative or design control, etc.

You want constraints? Probably also throw in: Non-existing or ineffective build and test automation, annoying auto-formatters, syntax requirements, unhelpful code reviews and nagging code review requests with people circumventing the tests to get past poorly written tests and poorly written, poorly implemented presubmit checks.

Allegiance to internally developed projects, "commitments" to buzzwordy products and "cloud" junk with mountains of configs to wade through and tame are all constraints. Getting flack and pushback for developing anything novel or simple to try to tame them adds constraints. You want constraints, you say? You got'em! They're not even all "political" or "business" constraints. A lot of those are actual technical constraints.

The thing brogrammers are missing here is that it's not just about "beautiful constraints," it's about the technical challenge, the art and passion. Any one or all of the above. Yes, the constraints help, but it's only part of it: They help to form walls of a sandbox--cracked, splintered and penetrable walls. These walls, and the sandbox, are much different than the constraints that we face in our day to day. It's a kind of purity and spirit, and a real community.

Sure, come to challenge yourself or as a vacation from the mountains of APIs, layers and bullshit tech debt you usually have to deal with. But, pull up a chair and stay a while. You might see what else you can get with those breaks, and you might be able to bring that back to the industry, and maybe not write another bs API or Framework that someone else will be mandated and required to deal with, and maybe you can bring back a sense of working within an Architecture and Community, malleability and Spirit.

Comments

Popular posts from this blog

Automatic Nonsesnsors

Imagine if you and each of your friends wrote random things on index cards all day.  You then made copies of them and whenever you saw your friend or passed by your friend's desk, locker, mailbox, etc. you gave him a copy of the index cards you wrote on that day.  Each friend also gave you a copy of her cards.  After a few exchanges with a few friends, you had a stack of cards to go through, reading each individual card (and they wrote a lot of them).  And, since you wanted people to see your cards, and since trading cards became a social task in itself, you often started trading with just about anybody. Most of the messages were dumb and boring.  In fact, your friends knew that many other people would see these cards, so most were stripped of any kind of controversy or antagonism.  A number of the cards simply said "Here's something I like that I know many other people also like," and then other cards repeated the same thing and had things like, "Yeah!" ...

The End of Story.

This is it.  The end of the movie.  The hero will have to use all of the cliched pithy wisdom that’s been spelled out for him by the older, wiser, less head-strong character who was surprisingly like him in his youth.  Older audience members can relate to both characters, and younger audience members are taxed to consider the wisdom of their elders more often.  All pretty much male-centric; the girl lead who seemed to completely be put off by the male lead has just about completely come around now, after the lull in the middle of the story where the hero’s sensitive side was exposed and he was vulnerable to change.  Finally embracing that change, in the apex of his final challenge, the young hero is compelled to apply the advice that was clearly and consistently broken down for him by the wise old male character and combine it with the sensitivity he’s learned from the female lead.  None of the base-line collateral characters believe in him.  The clear...