Those of us who work in technical areas like to believe that because we are engaging in technical endeavors rather than social endeavors, our work is defined and predictable. This hints that we know the future. I think Scott Adams captured the thought well:
We should not be so cocky. While the technical world is more structured and predictable than other areas, it has its limits too. One can only see so far down into complexity before predictability is lost in the detail. That’s where we get so called “Heisenbugs”. Looking out to the future we can only see so far as well.
Recently I’ve been reading The Black Swan. It is a useful reminder that the future isn’t as linear and predictable as we’d like to pretend it is. One idea that has stuck in my head is the idea that in order to take something into account that one will know in the future in one’s predictions, one must already know it. There is an inherent limit to how far we can see.
How is this relevant to distribution developers? Each time we set off to develop a new release, we make an assessment of how to best expend the available resources (our own, our company’s, our group of people we can talk into doing stuff) to make things “better”. We do the best we can, but we must always be mindful of the fact that we press forward using our best engineering judgement, but as we look into the future, eventually this is all just liquor and guessing too.