Programming is a human communication activity. We want to minimize misunderstandings in our code to be able to work effectively as teams. This means we need to learn how to look at our code to spot areas where we could improve our communication skills. We want to get our ideas across. We want that our abstractions, our models, make sense to others. Literature is a discipline with a long track record of authors and researchers trying to find out how to make writing communication effective. What could we learn from them? In this talk I want to explore the relation between the process of writing computer programs with that of writing literary works of fiction. In particular I want to show some ideas presented by Umberto Eco in his book Lector in Fabula, seeing how we can improve knowledge sharing via our code, tests, documentation, and other artifacts. The goal is to learn the skills required to help others understand how we made decisions about the tradeoffs in our code, like choosing abstractions, deciding on the level of performance required, or the amount of documentation needed for a project.
Alvaro Videla used to work as a Core Developer for RabbitMQ and co-authored the book “RabbitMQ in Action” for Manning Publishing. Before moving to Europe, Alvaro worked in Shanghai building one of DE’s largest dating websites. Some of his open source projects can be found here. Apart from code related stuff he likes traveling with his wife, listening/playing music and reading books.