Another week gone by, and we’re still dealing with the aftermath of the Paris attacks. Yet another crisis, stacked on top of the European migrant crisis. First France, then Belgium effectively under martial law. A lot can happen in a few weeks. Inevitably, all these crises lead to calls for stronger leadership. However, the past has shown that calling for strong leadership rarely works out for the better. Rather, it inspires politicians to erode the values underlying our democracies in the name of safety and security. More backdoors! Restrict secure crypto! Disheartening rallying cries are heard all over. And the real kicker? The terrorists didn’t use the ‘dark web’, or other sophisticated tools to guard their anonymity. It was all done in the open. That alone should convince us that gearing up the security circus restricts our own freedom without any tangible benefits. So much for “we have nothing to fear but fear itself”, I guess…
From exception to rule
It would not surprise me if we end up with a European equivalent of the Patriot act. “We must respond to this exceptional situation with exceptional measures”, they say. And of course, then the exception becomes the rule. The very same measures taken to supposedly protect what we have, simultaneously tear down its founding principles. It reminds me of a great quote by philosopher/mathematician Bertrand Russell:
“The fundamental cause of the trouble is that in the modern world the stupid are cocksure while the intelligent are full of doubt.”
It’s part of an essay he wrote before World War 2. Unfortunately, this observation doesn’t contain a solution. It’s too easy to say “ok, just let the smart people take over then”. We can see so-called ‘technocratic’ governments fail as spectacularly as the more fascistic ones Russell alludes to. However, Russell’s maxim applies outside of politics as well. So let’s shift gears to software development, something I have actual experience with (sorry to leave you hanging if you were expecting a solution to the world’s problems).
Full of doubt in software development
I’ve argued before that we lack serious critical thinking skills in software development. So much of what we do is based on hypes, where following seems more important than delivering on promises. When popular opinion can be swayed from monoliths to microservices and back again in matter of weeks, something is very wrong. As an industry, we must get better at nuanced debates. What’s often missing in discussions about technology is context. Why don’t we talk about what works and doesn’t work for us in various settings? Instead, we’re continuously trying to create golden hammers and force tech-dogma’s onto others. Sure, it’s good to be opinionated. We just have to be aware of the scope and impact of our opinions. I’m a great fan of the saying “strong opinions, loosely held”. Always re-evaluate your position from first principles in new contexts.
Just having more debate for the sake of it won’t do our field any good. So what are important topics? Around the same time Russell wrote his essay, Freud posited “the narcissism of small differences” in his book Civilization and its Discontents. It establishes a framework as to why like-minded people have a tendency to rip up each other over relatively minor differences. In software development we have a specific term for this: bikeshedding. We love to debate programming languages, how much code coverage we should aim for, what the perfect size of a microservice is and ‘should I be worried about OSGi with Jigsaw coming up‘. We all see these are futile points, especially when discussing such topics in general without a given context. Last week, I read a very interesting article called “What’s Worked in Computer Science“. It takes the long view on our field and compares trends from 1999 with today. Main takeaway: not a lot has changed. RISC architectures have bitten the dust, and promises like software reuse and distributed systems have come to fruition over this period. This is what we should be discussing. What will this list look like for the next 15 years? How will data science impact software development, and vice versa? Where do future SaaS platforms lead us in terms of architecture? And so on. Big picture thinking. And when we do discuss smaller matters, context is king. No bikeshedding please!
While the title of this soundbyte obviously applies to the victims of the Paris attacks, this is merely coincidental. The reason for picking this song from the Swedish band Moon Safari is much more mundane: I’ve been binging on prog-rock lately. This song has so much energy is pretty accessible for a prog-rock song, so I just had to pick it for this week’s soundbyte. Enjoy!
Too young to say goodbye – Live in Mexico by Moon Safari (Sorry for the link, the Bandcamp embed seems to fail on WordPress. Song starts at 0:40.)
Or, if you prefer: spotify link