i write code in public…
Over the semester break, I cleaned up my filing system and archived all of the writing that I did last semester - approximately 30,000 words. As I was putting it away, and sometimes even as I was writing it, I thought - what a shame that I can’t do anything else with all of this work…
I’ve thought often about the disconnect between the way that I write code and the way that I write (non-code) words. When I start a technical project, the first thing I do is create a public repository and I begin making a mess of it, as publicly as possible. For a while, I was shy about the starts and stops and mistakes, visible in commit messages like
adding mongoDB followed immediately by
removing mongoDB wtf have i done. Over time, I’ve realized a few important things about this process of public software making:
- we all work in meandering and experimental ways
- public meandering helps to normalize the process
- I’m not interested in selling anyone (especially myself) visions of a smooth and error-free creation process, especially with something as intricate as software.
… so why not words?
I was struggling to link this public software process to creating a public academic writing process until I stumbled across this quote by Michelle Moravec:
Academic writing practices mystify the labor writing takes. The commodification of ideas as currency in academia means that writing is often concealed until publication, leaving the interim versions in the struggle towards a publishable version unseen. (source).
What I love so much about open source is that it totally demystifies the process of how something is created. If someone has the time, they can go back through every bump in the road, every
wtf commit message, and every issue to see the evolution of a project. I recently got to read a pre-release copy of a faculty member’s book. It felt a bit like looking behind the curtain, and when I saw mistakes, and omissions and evidence of copying and pasting I was delighted. It helped to demystify, a little, the process of creating such a large and impressive text.
I wrote for two classes last semester, and I made a folder for each of them in a public repository. Where possible, I put in a graded copy of the assignment - the professor’s work is part of the process, and showing my work as though it were all well-received would be false, and might contribute to the idea that this experience is not full of shortcomings and attempts that are not quite right, whatever the reason.
Putting in work that’s already done and graded and which I already feel disconnected from was one thing. It’s entirely another to share work that I’m about to submit or (even more vulnerably) that I’m still figuring out. But that’s the point of it all. So in addition to adding a folder for the class I’m in this semester (a second seminar about the foundations of STS), I’ve also added a section for works in progress and things that will get made this semester. I’m committing to publicly share this as I work on it and as I make more commits like
wtf why is this so hard.