Chapter 71. Read the Humanities

Keith Braithwaite

image with no caption

IN ALL BUT THE SMALLEST DEVELOPMENT PROJECT, people work with people. In all but the most abstracted field of research, people write software for people to support them in some goal of theirs. People write software with people for people. It’s a people business. Unfortunately, what is taught to programmers too often equips them very poorly to deal with people they work for and with. Luckily, there is an entire field of study that can help.

For example, Ludwig Wittgenstein makes a very good case in Philosophical Investigations (Wiley-Blackwell), and elsewhere, that any language we use to speak to one another is not—cannot be—a serialization format for getting a thought or idea or picture out of one person’s head and into another’s. Already, we should be on our guard against misunderstanding when we “gather requirements.” Wittgenstein also shows that our ability to understand one another at all does not arise from shared definitions, it arises from a shared experience, from a form of life. This may be one reason why programmers who are steeped in their problem domain tend to do better than those who stand apart from it.

Lakoff and Johnson present us with a catalog of Metaphors We Live By (University of Chicago Press), suggesting that language is largely metaphorical, and that these metaphors offer an insight into how we ...

Get 97 Things Every Programmer Should Know now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.