Programming as Architecture, Design, and Urban Planning

Tomas Petricek

In Proceedings of Onward! Essays 2021

Our thinking about software is shaped by basic assumptions and metaphors that we rarely question. Computer science has the term science in its very name; we think of programming languages as formal mathematical objects and we hope to make better software by treating it as an engineering discipline. Those perspectives enabled a wide range of useful developments, but I believe they have outlived their usefulness. We need new ways of thinking about software that are able to cope with ill-defined problems and the increasing complexity of software. In this essay, I draw a parallel between the world of software and the world of architecture, design and urban planning. I hope to convince the reader that this is a well-justified parallel and I point to a number of discussions in architecture, design and urban planning from which the software world could learn. What kind of software may we be able to build if we think of programming as a design problem and aim to create navigable and habitable software for all its users?

Paper and more information

Talk recording

Watch a pre-recorded talk for the Onward! Essays track:


If you want to cite the paper, you can use the following BibTeX information.

  author    = {Petricek, Tomas},
  title     = {Programming as Architecture, Design, and Urban Planning },
  booktitle = {Proceedings of Onward! Essays},
  series    = {Onward! 2021},
  location  = {Chicago, USA},
  year      = {2021}

If you have any comments, suggestions or related ideas, I'll be happy to hear from you! Send me an email at or get in touch via Twitter at @tomaspetricek.

Published: Sunday, 17 October 2021, 12:00 AM
Author: Tomas Petricek
Typos: Send me a pull request!