Tag: fallacies

Nietzsche on software (?)

December 24th, 2009 — 9:16pm

In his first amendment to Human, All Too Human (1886), entitled Miscellaneous Maxims and Opinions, Friedrich Nietzsche states that

300. HOW FAR EVEN IN THE GOOD THE HALF MAY BE MORE THAN THE WHOLE. — In all things that are constructed to last and demand the service of many hands, much that is less good must be made the rule, although the organiser knows what is better and harder very well.He will calculate that there will never be a lack of persons  who can correspond to the rule, and he knows that the middling good is the rule. — The youth seldom sees this point, and as an innovator thinks how marvelously he is in the right and how strange is the blindness of others. (Helen Zimmern transl.)

Friedrich Nietzsche did not describe software making – I can only assume that he was describing authors and ideologists – but this seems to capture the difficulties of software development only too well. And it seems to give a recipe for how to overcome the communication difficulties (abandon exotic, over-refined solutions and focus on an easily understood middle ground, so that everybody can get together and comprehend the architecture). This was originally published in 1886.

With that, merry christmas!

4 comments » | Philosophy, Software development

Fact and narrative

October 19th, 2009 — 8:57pm


Philosophers have long debated whether we can perceive reality in an objective manner, or if there is a multitude of subjective perceptions. I am not qualified to enter this debate on an academic level, but I will offer some thoughts from my current vantage point.

Sensory impressions can probably be said to be objective. I have no reason to contest this. Probably, there’s a certain genetic variation in how sensitive our sensory organs are, e.g. degrees of color blindness or sensitivity to high frequencies, but this can be compensated for technologically; with hearing aids, microscopes and various kinds of sensors we can expand our sensory range far beyond what we are born with.

It’s quite likely that when me and my friend look at an object, we will notice different things about it and walk away with different first impressions. If they contradict each other, we return to the object and try to establish who was right. So these contradictions can be resolved by going back to the source.

We tell ourselves narratives about what we observe. Most abstractions are such narratives. For instance, I have never seen a perfect circle or a perfect line, since such things don’t exist, but I have seen very good approximations of such things in the world. Only by going up extremely close can I see that my perception was an approximation. But even though I know this, I will remember my perceptions in terms of these approximations since it’s the only practical thing to do. However, I can still “go back to the source” and establish the validity of my impression.

So with first hand perceptions, and with concepts that are built from compounded first hand perceptions, there’s nothing really contradicting an objective reality or suggesting that such a reality wouldn’t exist. But many objects of vital importance in society revolve around narratives that can not conveniently be examined in terms of first hand sensory impressions. Objects such as impressions of people, political platforms and ideologies, appreciation of art (which, even though it can be reduced to sensory impressions, seems supremely hard to explain in terms of it), and so on. For this reason, I think that the narratives that are most likely to be told in these fields form a subjective reality that is highly unlikely to be disproven or reduced to sensory impressions. By the very nature of these, precise communication between spectators is impossible and people are likely to carry wildly contradictory stories in their heads.

And in such a world, whether or not we can agree on the objectivity of basic sensory impressions, subjective impressions (narratives that will not be deconstructed or falsified readily) will carry great importance. In fact, we have a basic drive to construct these narratives in order to deal with the complexity of everything we perceive. This might change if we in the future can create a perfect mathematical model of the human mind. In this case, maybe some problematic items such as appreciation of art or the meaning of an ideology might be reduced to an objective and verifiable-from-sensory-impressions concept.

It would be interesting to explore the grayzone between concepts that we easily perceive objectively and concepts that we easily perceive subjectively. Are there ideas whose validity can be reduced to sensory impressions, but only with great effort, so that people do not usually do so?

(This post is partly inspired by recent posts by Carl Svanberg, who blogs about objectivism in Swedish. My philosophical views are still in development, and I don’t want to side with one -ism camp or the other as of yet.)

Comment » | Philosophy

The ego fallacy

July 1st, 2009 — 5:41pm

A senior manager at a company I used to work at once said that (making) software is a very social activity. I didn’t have much experience, and was very surprised at the time, since I had never thought about the human aspect of software development. But of course this aspect is extremely important. For example, in any setting with more than one programmer working on a project, the need for well functioning communication is huge, as much as in any other job I suspect. Projects often fail due to a lack of communication.

Another human side to software development is that some developers, this author included, easily start seeing the code they write as their own intellectual turf. If somebody challenges the developer’s practices or code, offering a better solution, it will be met with massive resistance. Partly out of laziness, but partly, I think, out of a desire to protect their territory and their legacy.

I do this myself more often than I would like. And it leads to bad results because it creates obstacles to communication and means that team members pull in different directions. Thus, somehow the incentives are wrong. If everybody’s goal were to allow the team to deliver a good product quickly, this would not happen. Why is it that your goal after some time with a project sometimes becomes to defend what you have created? Why do we identify with the code we wrote, and not with the bigger project?

This doesn’t mean that looking to your own interests or to your ego is a bad thing – rather that it’s easy to be shortsighted about what is in your best interests.

Comment » | Software development

Back to top