A strange game I play: analyzing the subset of our zeitgeist I’m attuned to for assymetric attribution. An honorific such as “The Queen of (x)” or some intangible social capital like “flava”. Attributions essentially tethered to core homoperceptualities are my favorites. The fugacious “It Girl” assigned by the sentinel-like Zeitgeides of the premillenial epoch; The bobo-ensconced idol sconce “visionary”, melding 1972 introversion w/ 1984 egostalwartism within a hero-worship eggshell.
I played it today with two of my favorite jams: music & code. Groups, songs, genre & instruments can be classic. They can be “out” and then “in” again. They can be “underground” or “over-the-top”. Software teams, modules, formatting styles, design patterns & text editors are rarely attributed anything approaching that. Text editors come closest, right? You might even start to think of some rationalizations for that. I did for a few seconds, I’ll lay it down for you brothers & sisters:
- Text has remained the dominant way of producing (with slight ebbs & flows)
- Continual waves of new types of programmers get introduced to *nix platforms, leading to recontextualization & innovation of old cores like vi
- vi et al have been carried through multiple OSes, resulting in a cross-generational dialog centered around them
- Text is the only part of programming everyone understands & uses
- More personal customization & time is spent in a particular editor than anything else
But I stopped there. Why? Each of those are wholly true for other aspects of programming, contradicted clearly by the musical comparison or just aren’t true! In the end, much of what prevents us from emotionally enjoying code culture in the same way as other pursuits comes down to arbitrary cultural viruses. Artificial constructs, prejudices, overcompensation & lack of respect form an ever-ready thought army. By telling ourselves it’s a science when it’s not. By calling ourselves engineers when we’re not. By acting like software needs to be free to download to be pure of intention. By holding up the solitary genius as a symbol of worship when the real deals are the teams of diverse skills & approaches that are required for building something game-changing.
But wait—that’s not all!
There’s a much bigger elephant in the room. One that’s propagated by (understandably) ignorant recent college graduates given too much cachet just for being you, Ivy League & easy to drive toward 24-hour work days. It’s propped up by personal reward-starved senior devs w/ impostor syndrome in an industry with no career growth opportunities for technical people. It’s carried along like a dormant virus by non-technical folks who care too little technically & too much politically. The Tethytheria I speak of? The bold-faced lie that there’s always something new and more advanced in the works by software architects. The lie that software devs are “engineering” (that word again…) the next big thing based on “computer science” that will solve all the problems the last thing they made created. Never mind they weren’t able to clean up the mess the previous thing left. I’m not just talking about “new things aren’t necessarily better ladies & gentlemen”. Some of you, maybe even a lot of you, already understand that pretty darned well. Anyone who’s been using new iPhones for the last 4 years knows that! A bbbiiiggg slice of this fib pie here is filled with “this stuff isn’t even new” fruit! Hell, it’s moldy as hell by the time some 6-figure a year emotionally stunted bro-baby is “giving a talk” about it at Moscone Center or the Marriott Marquis. Check the expiration date! From functional programming to reactive programming; top-down render to configurable code prettifiers. Back & forth between separation & localization, loosely-interfaced event buses & strictly-defined static object relationship maps, tighly-controlled turn-key developer ecosystems & loose DIY warehouses of molecular building blocks. These aren’t the echos of a steady upward trend toward an ideal. They’re the same cyclical gyrations humans make in all their endeavors.
So if we’re going to be the silly humans we are anyway—why not let programming be the great creative madness it’s destined to be? Enjoy the classics. Enjoy the greatist hits. Love the chart toppers & the underground wonders. There’s joy to be had in all of that. And guess what? We can still try to get better.