As I’m skimming through The Structure of Scientific Revolutions, I’m frequently seeing parallels between scientific communities and teams of software developers, and between paradigms and the cultures of teams.
Kuhn writes that scientific communities consist of people with pretty much the same background – that scientists in a community have had roughly the same education, read the same books, and drawn the same conclusions from them. So they have similar beliefs and values. They share a culture. This reminded me of something Richard Gabriel has talked about.
In the essay Mob Software: The Erotic Life of Code, Richard Gabriel and Ron Goldman write about (among other things) the importance of having a literature of code to study. When interviewed by Janice Heiss for Sun’s Java website he also mentioned this, in the context of a future Master of Fine Arts program in software. (And as I googled around, I found an essay about this program on his site.)
I have worked quite a lot with my fellow Oopsian Malte Tancred, and we’re very aligned: We have, in some way, the same standards for code – that it should be simple and clear; intuitive. I don’t know if we started out that way, or if we’ve co-evolved, but as long as I have known Malte, he’s had a great sense for intuitive code. This is important. There’s less friction. We can focus on the problem.
If, somehow, you could gain that in school, in an MFA program, for instance, it would mean a lot for the quality of software. (I’ve got to go now.)