PyCon DE & PyData 2026

In Praise of Documentation: Tools, Tips & Techniques for Literate Programming in the AI Age
, Merck Plenary (Spectrum) [1st Floor]

This talk has one simple message: please document your code. If you attend my talk, you'll hear me explain why I praise documentation, and why you should too.

While writing documentation is generally acknowledged to be a "good thing", most engineers do not document their work. I'll offer my optionated lament on the life and death of literate programming. A lament is a poetic discourse, expressing sadness, or feeling sorry about something. I'll give some examples of the bad things that can happen when people don't write documentation.

Then, after making you feel bad, I'll give examples of how you can feel good. I'll explain why writing documentation is a "good" edifying activity, which helps you to be a better person, and make a better world.

I'll review types of open source documentation (Python and Unix), documentation frameworks (Diátaxis), and Python tools (Sphinx, Jupyter, Quarto) you can try out as soon as my talk is finished.

Then, I'll get "cool n' futuristic" by talking about AI. I'll emphasise the importance of text to AI-assisted coding and agentic workflows for "spec-driven development" (e.g. Agent-OS with Claude Code), before tempering your excitement by giving you some old-fashioned advice on "good" writing style by George Orwell.

In summary, if you come to my talk, you might experience an unusual mixture of sadness combined with hope. To conclude, I'll tell you to "please document your code". You'll laugh, go to the next talk, and forget my advice.


Introduction

In Praise of Documentation

  • The Promise of "Literate Programming"
  • A Lamentation on the Death of Literate Programming
  • Bad things that happen when you don't document

Why You Should Document

  • Code is Communication
  • Accessible, Maintainable, Sustainable Code
  • Version Control (e.g. GitHub)

Examples

Examples of Open Source Documentation:

  • Python help
  • Docstrings
  • Unix man pages
  • README.md
  • Readthedocs.com

Documentation Framework Example:

  • Diátaxis

Python Documentation Tool Examples:

  • Sphinx
  • cookiecutter

Scientific Publishing Tool Examples:

  • Jupyter
  • Quarto

The Bit About AI (yes, I know, and I'm sorry)

  • The importance of text for AI Code Assistant and Agentic Coding workflows

Documentation in "Spec-Driven" Development:

  • AGENTS.md
  • Agent-OS with Claude Code

Calls to Action:

  • Writing Tips by George Orwell
  • Please Document Your Code!

Expected audience expertise in your talk's domain:: None Expected audience expertise in Python:: Novice

Psychologist turned full-stack polyglot Data Scientist with an established career in data analytics, scientific psychology, and project leadership. Driven by values of care, compassion and privacy.