3.2 Autonomous system

Book 1 · Your Next Job TitleChapter 3 · section 2 of 13

An autonomous system is a software system that can perform a sequence of actions without a person directing every step in real time. Autonomous does not mean conscious, alive, self-aware, or capable of forming its own intentions, and a system can be autonomous in this entirely practical sense while doing nothing more mysterious than following patterns, selecting tools, and applying rules to the context it was handed.

A system that reads support conversations, decides which cases belong together, opens a draft Jira issue, and waits for review is autonomous within a narrow boundary. A system that reads a repository, proposes a change, generates tests, runs CI, and opens a pull request is autonomous within a different one. Those boundaries are the whole substance of the term: what the system can see, what it can do, what it cannot do, and who is able to stop it.