In this contribution to the Festschrift devoted to Heinz von Foerster, choices are shown to be constitutive in processes of human self-organization. This is pursued along three dimensions that are seen as inherently connected: the epistemological dimension of reality construction; the communal dimension of dialogical closure; and the ethical dimension of autonomy and dialogical responsibility. In order to exemplify his style of working as a mentor, Heinz von Foerster is portrayed in interaction, drawing largely on the author’s experience. As one concrete case of a far-reaching general approach, the paper brings out the implications of his way of thinking for cooperative software design. This leads to an epistemological view of the design process, to guidelines for communal work focussing on dialogue and self-organization, and to the ethics of systems design, which means taking responsibility for the choices made in design and the choice scopes associated with computer-based systems.