There’s an idea in software product development called “3X”, standing for Explore, Expand, and Extract. Each is supposed to represent a different stage of a software product’s journey.
This was originally proposed by Kent Beck, one of the original pioneers of the Agile Software Development movement. He has a lot of writing about how the model works and some of its consequences, but here’s my quick description of it.
Imagine you were looking for convincing explanations as to why stealing is wrong. Let’s use the example of stealing from your local mom-and-pop store.
You ask a therapist, and they make an appeal to your empathy. Think about how that would make the owners feel: they rely on selling their goods to make a living, and if too much is stolen they may not be able to make ends meet. You have a good amount of empathy, and so you find this argument reasonably convincing.
You ask an economist, and they tell you that theft imposes costs on everyone else. In order to compensate for the loss of income from selling that good, the store will have to raise prices. They might even have to invest in security systems and cameras, and raise prices further to cover the cost. You don’t like it when goods get more expensive, so you find this reasonably convincing.
You ask a judge, and they you it’s good to live under the rule of law. If everyone goes around just stealing whatever they want, it leads to chaos, as people take to more desperate measures to secure the property they need to live their lives and run their businesses. You like living in a society with trustworthy laws, so you find this reasonably convincing.
Then you ask one of the more uneducated Christians in your neighbourhood, and they tell you that stealing is wrong because Jesus said so.1
There are better Christian arguments against stealing than this, some of which might incorporate some of the other arguments above. Let’s pretend your conversation partner isn’t the kind of person to know those arguments. ↩︎
In my day job, I build a platform: that is, software that lets other people build things. The tools we build are used by people both inside and outside the company to make some pretty neat stuff.
Since we’re co-workers, though, the internal folks using our platform get the privilege of talking directly to me and my team on a regular basis. As a result, I deal with a lot of teams on that are in this kind of situation:
They have some product they want to build using our tech.
In order to build this product, they need some additional features from the platform.
The people that do this tend to be great product developers that know their intended audience well, and can build something really compelling. They have a keen sense of what they’re looking for, and are very talented.
But the trouble is, there’s a subtle but important mindset shift that’s needed when switching between product development and platform development.
Portuguese doesn’t really get a lot of recognition in North America. If people even remember that it exists, it’s usually filed in the mental category of “that language that’s kinda like Spanish”.
But there’s one word in Portuguese that doesn’t have a counterpart in English or Spanish: saudade, the feeling of missing someone or something.
In North America, this gets a lot of credit for being a particularly poetic or mysterious word for a specific or unusual feeling, akin to the invented word sonder. Here’s the first paragraph of the English Wikipedia page for “saudade”:
Saudade is a deep emotional state of nostalgic or profound melancholic longing for something or someone that one cares for and/or loves. Moreover, it often carries a repressed knowledge that the object of longing might never be had again. It is the recollection of feelings, experiences, places, or events that once brought excitement, pleasure, and well-being, which now trigger the senses and make one experience the pain of separation from those joyous sensations. Saudade describes a feeling both happy and sad, and could be approximated by the English expression ‘bitter sweet’.
That’s a really heavy description. And while I don’t entirely disagree with it, I think it’s overstated. Like I said above, “saudade” is just the feeling of missing someone or something. The catch is that, due to some grammatical quirks, it ends up looking more mysterious than it actually is.
Around a year ago, I woke up to find that the sky was tinted orange.
As terrifying as this image looks, it was even worse in person. It was hard to capture just how orange this was, because the auto white balance in my camera kept “correcting” it.
This was around September. We’d been dealing with bad air quality on-and-off for a few weeks by then, because the CZU Lightning Complex Fires were burning in some of the nearby hills, leaving us choking whenever the wind blew the smoke our way.
But this day was different. Instead of being low-hanging smoke from nearby fires—which tended to leave the sky a hazy grey—this was high-altitude smoke from fires burning all the way up in in Oregon and Washington. As a result, the air quality was counterintuitively less bad than it had been on the worst days of the past month.