Thursday, August 11, 2005 

Programmers and Tribes

In the past few days I've been thinking on how developers tend to organize themselves (as groups). For reasons I'm not sure I completely understand, it seems to me that they tend to follow a tribal organization, whereby they often have some kind of totem (e.g. a language), a shared set of beliefs and rituals, and a strong sense of who's part of the tribe and who's not.
Yesterday I was skimming through a rather boring article (sorry :-) on Communications of ACM, January 2003, "Barriers to Effective Use of Knowledge Management Systems in Software Engineering", by Kevin Desouza. At a point, he says: "Software engineering knowledge is highly tacit in nature, much of which cannot be articulated well or put in explicit format". This reminds me of the Feigenbaum bottleneck (see my Principles Versus Patterns paper for a few relationship with software engineering). But it also reminds me, for some tacit reason which cannot be articulated well :-))), of tribal knowledge, with an oral tradition that seldom gets outside the tribe itself.
Oh well, time to get back to PDM, Web Services and the like, overall much easier stuff to deal with :-)).