How do you chose a particular programming language, a coding style, a development environment and ecosystem, an infrastructure where to run the code, and so on?
These are **not just technical choices**, but rather coding contingencies.
These contingencies are situated in precise economical, cultural, creative, political, and technical contexts. Programming then is not just sharing code, but sharing context. It's providing a perspective to look at the world before attempting to get some grip onto it with a script.
How to offer a point of view through the lens of software?
Who get to participate in this process of making meaning?
How to create a discourse for the code to inhabit?
How to stretch the affordances of code, besides, technicality, marketing, and advertisement?
The thesis is composed of different texts: some provide context and critical background to situate the research, while others consist in experiments of actual documentation written for software developed within our course. Every piece of documentation will try to reflect on different angles.
The critical and theoretical research will be weaved around the actual documentations, in order to create a discourse and annotate the development of this practice.
Who gets to write, and who is forced to do it? How does development and technical writing interact? Is the technical writer a subaltern position in the industry of software development? What about users?
- Historical overview of how software documentation changed (from printed technical manual to wiki and discord server)
- Printed manuals
- Manpages
- Websites
- Wikis
- Online communities
- Reflection on actors involved and hierarchy (from developers to end-users, gendered work, subaltern work, post-meritocratic manifesto)
How to make a documentation more accessible? How to create multiple entry points in a complex topic? How to address different kind of users, and not just a generic one? How to orientate software in the world?
4.**Susteinability**
How to face the lack of resources when approaching technical writing? Strategies to share workloads and collaboration. Strategies to take care of shared piece of software.