Computer science, software engineering, and humanities

A recent article on Wired (Hey, Computer Scientists! Stop Hating on the Humanities by Emma Pierson) claims that most computer scientists are deeply oblivious to humanities issues such as ethics or cultural aspects. I quite agree. However, I think the issue is a bit more complicated than this. I will explain how but, first, I’ll take a short detour.

I spent a few years working as a researcher at the University of Technology, Sydney. My home there was the Faculty of Information Technologies, which was organised in three departments:

  • Computer Systems. These guys dealt with wires, routers, CPUs and other physical things. They also worked with non-physical things such as operating systems, data structures, algorithms and other low-level software entities. And by “low-level” I mean software that usually runs very close to the hardware and is far removed from the experience of a regular computer user.
  • Software Engineering. These guys were concerned with understanding the world so that relevant problems (how to distribute water across a city, how to manage trans-oceanic container shippings) could be solved through the application of software. They studied how to design and create good-quality software, basically.
  • Information Systems. These guys dealt with organisations or even the society at large, and how computers and related information technologies work within them. Usual themes included e-commerce, social networks, or smart cities.

You can see a progression here, from the closest to the machine to the closest to the human; from the more mathematical and physical to the more social and cultural; from the “hardest” to the “softest”.

Why am I telling you this? Because my faculty’s organisation in departments was a brilliant description of how information technologies can be understood, and how different communities in them pursue different goals through different worldviews.

People in computer systems are scientists. They employ the scientific method, organise their research projects in terms of hypothesis and experiments, and often deal with research problems that aim to understand the world.

People in software engineering are, well, engineers. They rarely employ the scientific method, they organise their projects in terms of problem-solving, and often deal with research issues that aim to change the world.

Finally, people in information systems act as business specialists or sociologists with a strong IT background. They often employ ethnographic approaches and action research, and organise their projects in terms of the observation of complex socio-technical phenomena that happen to be mediated by IT.

Of course, this is a simplification, and the divide between the three communities is rarely as neat as I describe above. However, this simplification is very useful to understand the biases and expectations of anyone in one of the three communities. For example, I am a software engineer and, as such, I tend to formulate research issues in terms of problem solving, and I tend to focus more on the creation of artefacts that solve problems rather than the pure generation of knowledge or the understanding of society.

I also must say that the terminology that I am using is not always observed. For example, American and Canadian universities often employ the term “computer science” to refer to the whole of IT, which encompasses the three communities that I described above. This is unfortunate, because anyone hearing or reading “computer science” would probably assume that this is about science, the scientific method, and the production of knowledge. However, “computer science” as used by Americans and Canadians is supposed to go beyond that to also include engineering and social issues of IT.

In Spain, to give you a very different example, the word “informática” (informatics) is employed to cover all three communities. However, there is a strong bias in the Spanish universities to emphasise computer systems contents (such as hardware, operating systems, algorithms and other system-level software aspects) over engineering or social ones. This creates “informáticos” (informaticians?) having a strong background in computer systems but a much more superficial understanding of engineering an social aspects. Perhaps Emma Pierson was observing the results of something like this when she complained that computer scientists (note the words!) are disdainful of the humanities.

My detour is over now. How is this relevant to the digital humanities? Well, the teams of most digital humanities projects that I have known are fundamentally composed of people from the humanities, with varying degrees of experience and education in IT. Some other times, but not often, a few team members come from an IT background and, hopefully, have had enough exposure to the humanities to grasp the basic issues. I hope you agree with me that these projects with a mix of humanities and IT specialists in them should have better chances of succeeding. However, my observation is that, even in these projects, most or even all of the IT specialists come from a computer systems background rather than software engineering or information systems. And this is wrong!

It is wrong because digital humanities projects deal with research questions that pertain to the humanities. In other words, they try to advance the state of the art in the humanities, not in computing, albeit by the use of computing technologies. A computer scientists, however, is trained to, and will be mostly interested in, advancing the state of the art in computing. What digital humanities projects need from IT is not scientists, but engineers. Engineers are experts in designing and constructing the IT systems that can help solve issues in the humanities.

For example, imagine a project aiming to develop a repository of tagged texts from a medieval literature corpus. The aim of the project would be something like getting a better understanding of how the lexicon and themes in medieval literature evolved over the years. This is a research question pertaining to the humanities. Therefore, you don’t need a computer scientist for that. You need an engineer who knows what technologies exist, how well they perform for different needs, and how to assemble them through software design, construction, and quality assurance so that you, as a humanist, can address your research question adequately.

Software engineers are trained to develop systems that solve meaningful problems by using minimum resources. They know how to make trade-offs between performance, quality, features and cost. They can understand your requirements (because they have understood much more complex requirements in much more awkward situations) and present you with alternative ways of decomposing your problem into manageable chunks. They know how to work to a deadline and provide value from day one.

Or they should. Of course, not every engineer is a good engineer. And I must admit that some computer scientists may have a good understanding of these issues. However, you are likely to get better results by recruiting engineers than scientists for your next digital humanities project.

There is a caveat to my reasoning. I often voice my concerns about the digital humanities not being truly trans-disciplinary and lacking a spirit of co-research. By this, I mean that most projects in the digital humanities employ IT as a provider to solve research issues in the humanities, and this is what I have been assuming in this post. However, this doesn’t need to be the case. In fact, I often advocate a different flavour of digital humanities where IT and the humanities benefit from each other equally, and every project produces results that advance the state of the art in both fields. More often than not, this is a utopian dream. But when it happens, then things may be different: in a project where IT issues, as well as humanities ones, are being addressed, computer scientists may genuinely be needed in addition to engineers.

But since this is quite rare so far, I suggest you knock on the door of the Software Engineering department, rather than Computer Science, next time you need an IT person for your digital humanities project.

One thought on “Computer science, software engineering, and humanities

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s