About Olivier Carrère
Senior technical writer specializing in developer documentation, docs-as-code, and DITA structured authoring: background, approach, and how this site is built.
I write documentation for software products and the engineering teams that build them. This site is my technical writing practice: a practical guide to designing, writing, maintaining, and publishing technical documentation, based on my methods, projects, and experience. I maintain it as a Docs-as-codeTreating documentation like source code: text-based formats, version control, code review, and CI/CD, rather than a separate publishing process.View in glossary → project. My professional profile ↗ summarizes my expertise and selected work, and publishes my articles.
About me
Section titled “About me”Profile
Section titled “Profile”- Software product documentation. I wrote the NuFirewall documentation in DITA XMLA structured, modular XML authoring architecture built around the concept/task/reference typology and content reuse via conrefs and ditamaps.View in glossary →; the press cited it as a notable strength of the product.
- . I’ve used DITA XML daily on multilingual projects: TopicThe smallest autonomous, titled unit of information in DITA XML, typed as concept, task, or reference and assembled into documents via ditamaps.View in glossary → typing, Content reuseWriting a piece of information once and using it in several places or deliverables instead of copying it, so that a correction made once applies everywhere. Conrefs, conditional text, and single-sourcing are ways to achieve it.View in glossary → with ConrefA DITA XML mechanism for reusing a block of content by reference: the content of a target node is replaced by the content of a source node at compile time.View in glossary →, Conditional textContent marked as applying only to a given audience, product version, or output, so that one source can be filtered at build time into different deliverables. DITA XML implements it with ditaval files; template engines such as Jinja do the same for text formats.View in glossary →, and translation-ready sources.
- Docs-as-code. This site has been written, versioned, and published from Git since 2014, through several Source formatThe format content is authored in, as distinct from the target format it's published to — the recipe versus the dish.View in glossary → and toolchains.
- Translation. I’m a translation school graduate with several years of technical translation experience, which shapes how I structure content for localization.
How I approach documentation in engineering teams
Section titled “How I approach documentation in engineering teams”- Documentation ships with the product, follows the same lifecycle, and goes through the same quality control: see integrating documentation into development processes.
- I test the product in real user conditions before documenting it, rather than compiling what I’m told: see testing products to document them.
- I gather information from engineers and other subject-matter experts, and ask for targeted technical reviews: see gathering information and the technical review checklist.
- Documentation changes go through branches and pull-request review, with technical and editorial review kept separate: see the documentation review workflow.
Free your information from its silos
Section titled “Free your information from its silos”Flexible and reliable solutions free your information from siloed repositories where it is imprisoned and underutilized. Move beyond MS Word or FrameMaker to shift from documentation maintenance to managing the lifecycle of Modular documentationContent built from small, reusable, standalone units (topics or modules) assembled on demand, rather than authored as monolithic documents.View in glossary → projects.
Integrating documentation into development processes sets out what this requires: documentation that ships with the product, follows the same life cycles and quality control, with no vendor lock-in, free publishing chains, and fully automated layout.
Areas of expertise
Section titled “Areas of expertise”The Expertise page links each area to the articles that demonstrate it:
- Docs-as-code
- DITA & structured authoring
- Documentation architecture
- Developer & API documentation
- Automation & CI/CD
- AI-assisted documentation
- Documentation process & quality
- Multilingual documentation
Availability
Section titled “Availability”My current Senior Technical Writer contract at Unity ends on October 1, 2026. I am open to new opportunities from October 2026.
Get in touch
Section titled “Get in touch”- LinkedIn: linkedin.com/in/carrereolivier. The best way to contact me about a technical writing role or project.
- Source code of this site: github.com/olivier-carrere/redaction-technique.org
- Professional profile, selected work, and articles: redaction-technique.org
How this site is built
Section titled “How this site is built”This part is the site’s colophon. The site history traces how this body of documentation moved from WordPress to Sphinx and then to Astro, and what happened to each page along the way.
This site deals with technical writing processes and formats, so its history and Git branches are as relevant as its content.
It covers the following formats, tools, and tasks: reStructuredTextA plain-text markup language from the Python ecosystem, richer than Markdown (directives, roles, cross-references), and the native source format of the Sphinx documentation generator.View in glossary →, DITA XML, Bash scripts, awk, sed, regular expressions, Python, Version controlRecording every change to a set of files so that any earlier state can be restored, changes can be compared, and several people can work in parallel. Git is the most widely used version-control system; docs-as-code keeps documentation under version control next to the product code.View in glossary →, Git, compilation, Makefile, Ant, XSLT (XSL Transformations)A language for transforming XML documents into other XML, HTML, or text documents. XML publishing chains such as the DITA Open Toolkit use XSLT stylesheets to produce HTML, or XSL-FO for PDF output.View in glossary →, layout, HTML, CSS, PDF, LaTeX, XSL-FOA stylesheet language for transforming and laying out XML content for print/PDF output, commonly paired with DITA XML publishing pipelines.View in glossary →.
Today, the site is written in MDX and built with Astro and Starlight. GitHub Actions builds it on every push and Pull requestA request to merge a branch's changes into the main line, presented as a reviewable set of differences: reviewers comment, automated checks run, and approval is recorded before publication. GitLab calls it a merge request.View in glossary →, a test suite checks its content and API, and it is published in English and French. The same sources also feed a machine-readable API and a grounded documentation assistant.
The stack this site is built on today
This site’s sources are managed under Git
Section titled “This site’s sources are managed under Git”This site was initially developed under WordPress. The inability to make cross-cutting changes or to have precise tracking of the content lifecycle under this CMS led to a migration to the lightweight markup format reStructuredText.
Documentation life-cycle management platforms
All versions of this site are managed under the decentralized version control software Git. Content, structure, or layout changes can now be:
- grouped into coherent batches,
- linked to a ticket in an issue tracker such as Bugzilla or Jira,
- validated by peers,
- shared between different versions of the documentation project,
- undone in a single operation, etc.
Source formats
Section titled “Source formats”Version 1.1 of this site was available in three source formats, with different levels of features and complexity.
Feature and complexity levels of text formats
- reStructuredText
- reStructuredText is a lightweight wiki- or Markdown-style markup language that, combined with the Sphinx documentation generator, offers a good level of features.
- DITA XML
- DITA XML is a complex, semantic, modular XML document architecture that delivers significant productivity gains through extensive content reuse.
- DocBook
- DocBookA semantic XML markup language for technical documentation, organized in books, chapters, and sections rather than typed topics. It predates DITA XML and is the usual point of comparison when choosing a structured format.View in glossary → is a semantic XML markup language whose feature-to-complexity ratio is today of limited interest.
Target formats
Section titled “Target formats”The Sphinx version compiled to the following formats:
- PDF,
- EPUB,
- HTML.
These different versions were generated from exactly the same sources. They present slight variations, however, implemented through a conditional text mechanism. For example, the following term varies according to the Target formatThe format a reader actually consumes — PDF, HTML, compiled help — generated from the source format.View in glossary →:
| Target format | Term |
|---|---|
| document | |
| EPUB | e-book |
| HTML | site |