Principles of Collaborative Automation

(this is a transcription of the talk by the same name. Here is a video.) Collaboration is crucial in software teams – and not only among people. We need our software, our tools, and our automations to collaborate as well. But what does that mean? I have four prerequisites for you here, and then four precautions …

Read morePrinciples of Collaborative Automation

Align the stars (programmatically)

Yesterday I was ready to get some changes into master, so I merged in the latest and opened a PR. But NO, the build on my pull request broke.The error was: ERROR: (jsdoc-format) /long/path/to/file.ts[52, 1]: asterisks in jsdoc must be alignedERROR: (jsdoc-format) /long/path/to/file.ts[53, 1]: asterisks in jsdoc must be alignedERROR: (jsdoc-format) /long/path/to/file.ts[54, 1]: asterisks in …

Read moreAlign the stars (programmatically)

Collective problem solving in music, art, science, and software

Or: the Origins of Opera and the Future of Programming. (video, or TL;DR, or abstract) At the end of this post is an audacious idea about the present and future of software development. In the middle are points about mental models: how important and how difficult they are. But first, a story of the origins …

Read moreCollective problem solving in music, art, science, and software

Shaping our Tools to the Flow of Conversation: Issue Creation

Collaboration is hard. There are the essential difficulties of dealing with people, and then there are incidental challenges in the tools we use. Communicating with people, while clicking into to Travis to see the build status and asking: where is this deployed? Who tested it? I want to remove all those incidental challenges, even the …

Read moreShaping our Tools to the Flow of Conversation: Issue Creation