Why does computer science have a culture? Do other disciplines have a culture?
It’s hard to explain what I mean by “culture”. Part of it is a stereotype, how others see programmers as people who code alone all day in a dark basement. By that definition, I might say that theater majors are stereotyped as being overly sentimental and melodramatic. But it’s also more than that. Take hackathons, which to me has always had a vibe of narcissism, of wanting to impress others either by your own technical ability or by being able to stay awake the longest, and of forced bonding. I’m sure many – maybe even most – hackathons are not like that, but among the computer scientist/programmer population there does exist traces of these attitudes.
What’s surprising to me is that computer science seems to be unique in that regard. Mathathons or chemathons don’t seem to exist outside of charity events, and I can’t see physicists trying to out-do each other as a community (although I’m sure many individual mathematicians/chemists/physicists are insufferable know-it-alls, as are many computer scientists). I don’t know if programmers are more worshipful of technical ability, or if they are more prone to letting their ability to go their head. I can’t tell if the stated desire to “make the world a better place through technology” is genuine, if people who say it are merely parroting people in Silicon Valley (although, why do those people say it?) or if they truly, egomaniacally believe it’s their destiny.
Although I’m starting a department, I don’t think I can get away with designing a culture from scratch. Oxy is not a closed system – the students I interact with are already aware of the culture of computer science, for better or for worse. One of perceptions is that computer science is about technical cleverness, otherwise known as the ability to “hack”. I have nothing against technical cleverness, and I value it as much as anyone else, but I think computer science has a culture where cleverness is valued to the exclusion of other factors, like applicability or whether the cleverness was a good idea in the first place.
This focus on esoteric knowledge for its own sake is hurting the diversity of computer science. I can get into a discussion about vi and emacs, but the differences are irrelevant for the newcoming programmer – but the newcomer doesn’t know that it’s irrelevant. And the result is they incorrectly think that they are unprepared or don’t have the ability, or that computer science is only about these kind of minutiae. Nowhere reflected in this mindset are the things I value more in computer science: learning tidbits of other disciplines under the guise of automating their work, and having a framework to make conceptual distinctions that I previously couldn’t.
I’m okay with computer science having a culture, and I’m okay with that culture being about cleverness, but I want that culture to also be about computer science as a modeling tool, about the philosophical questions that computer science poses including, occasionally, whether computers are the right tools for the job at all. And if I cannot reduce the worship of cleverness, I’ll just have to work harder to emphasize the other parts.