The Rest Of The Owl
"Hello World" is a trope to show off a new language or tool. It can demonstrate simplicity or the basic way to communicate. What follows inevitably, are docs, examples, demos, use cases and overall ways to model, create, and manage complexity.
Our presentation and learning of tools goes a little like the owl drawing. In general, we don't lack for info on how to achieve step one or break down step two. I have some personal interest in how we approach step two within paradigms that I understand, but given around a decade to radically change how we live to avoid the worst effects of climate change, I think overall, our pickiness around tool use and choice is an incredible waste of time.
Snowy owls are currently classified as "vulnerable."
In programming, we spend a lot of time dealing with how to draw the owl, and not so much on the why.
In general, what happens when we draw the owl? Does it make people want to hunt it or preserve its habitat?
This is hard to answer, but by default, if we identify as "owl drawers," our skillset will be most demonstrably (as in dollars) useful to the people with money. That's probably going to come from greenwashing efforts by big ag and chemical companies that harm habitats and food sources for our owl friend.
Oh no. What went wrong? Our best owl drawers are killing the owls!
If we start with a sincere preservation organization, instead of the skillset, we'll probably have a better go at it.
Choosing Good Tools
I'm encouraged by systems that are distributed and not venture capital-driven (especially the "Bring Your Own Server" self-hosting approach to open source with an independent core team financed through managed hosting), but even without the difficulty of widespread adoption, these models are not on their own an inherent good. It's part of the picture, but "open source" comes with high risks to exploitative capital-driven rent seeking. And "free software" has an unbelievable amount of baggage from decades of exclusionary and culty weirdness.
I'm also very interested in better model building through math and software patterns. For as much time as we spend with abstractions to describe efficiencies (which are mostly useful only past a certain scale), I think we could have more to say about using abstractions to model relationships. Personally, I think there is some promise here in knowing more about lattices (which generalize comparative structures), but fighting to label in abstract terms is useless without knowledge and acceptance of models that occur outside of STEM.
Maybe there are more of these "potential part of the picture" approaches to discover, but I'm hoping that we can reorient towards a "tech" that starts with capacity for doing good. I don't think we get there with a "tools-first" mindset.
There is a need for tools, help, and work to be done for sure. But we shouldn't assume tools based on popularity for a few reasons. First, if popularity is a function of our own productivity/flow/"developer happiness," then we're not really focused on how to meaningfully contribute. Second, if popularity is a function of tech giant backing, well, I think we can predict who is best served by broad adoption and expertise in those tools.
In owl terms, us having our preferred pens to draw owls, and getting subsidized notebooks from chemical companies doesn't really help. It might be good for Monsanto to fund these efforts and sponsor conferences in order to increase competition and reduce labor costs. It doesn't do much for our owl friends though.
Tools Last
It seems that it would be far easier to start identifying what already happens with orgs aligned with our values. Maybe orgs need spreadsheet automation sorts of work. Maybe it's help setting up texting or emails.
I don't have the answers here, but I'm certain that we're optimizing for profit at the expense of doing good. CS programs optimize for flexibility to be efficient and think abstractly. Bootcamps optimize for skills that are well established in the hype cycle. Job listings are arranged by tools. Interviews at tech companies are tests for an arbitrarily large set of these skills, along with demonstrating a passion for not minding the excesses and impertinence, if not outright cruelty, of the product/company in question.
There are one and a half million non profits in the US. Not all of these are good, but it's probably high signal compared to job listings sorted by our skills. There are political campaigns ramping up for 2020. Not all of these are good, but it shouldn't be hard to identify who is at least sympathetic to a kind and livable planet.
How can we help them? What sacrifices can we make?
Yes. These jobs probably won't pay as well as tech status quo type positions, and I'm not one to assess the reality of anyone's financial situation. But we really need at least leave biases about tools in the past if we're talking dealing with extinction-level catastrophes. If you have enough personalized concerns around this issue without these comparatively detached ones, then they may seem trivial or callous.
Even for the most self-centered, here are a few considerations for the next decade:
- What coding-adjacent skills will automation and workforce casualisation not make redundant?
- Are there places in the US where food/water shortages and extreme weather events will be particularly survivable in our lifetimes?
- What should we do and say now if we're at risk for losing our ability to critique the state and/or companies meaningfully and relatively risk-free in the future?
- How will we process the guilt of our government confronting mass migrations from the south with increasingly lethal responses?
This last one is something I think about all the time. If you've spent part of your programming career in San Francisco, you might be somewhat prepared. The cruelty with how the city treats the homeless is shameful. It's our Omelas (pdf, audio read aloud), concentrated more than our data centers.
Climate change causes natural disasters, crop failures, war, and civil unrest. All of those things lead to migration. If we allow our current nationalism, racism, and fascism to endure, then we're looking at an incredibly violent response to the migrations to the US. And insofar as we can set the tone for the rest of the world, the same applies.
We're too late to only chose a greener path. We need to start talking about a more compassionate one as well. Even with meeting and leading on international commitments to sustainability, the brutality on our border will be impossibly cruel if we don't change course.
We have an unprecedented opportunity for kindness in the next few decades, but we have to prepare for it. A process of choosing tools as guided by some combo of our own preferences and those of international corporations will not prepare us for the challenges to help humanity.
The future as succinctly described by @negaversace here: