Everyone who interacts with computers has in important ways always already been programming them.
Every time you make a folder or rename a file on your computer, the actions you take through moving your mouse and clicking on buttons, translate into text-based commands or scripts which eventually translate into binary.
Why are the common conceptions of what a programmer and user is so divorced from each other? The distinction between programmer and user is reinforced and maintained by a tech industry that benefits from a population rendered computationally passive. If we accept and adopt the role of less agency, we then make it harder for ourselves to come into more agency.
The form and possibility of the "modern infrastructural ideal" is increasingly under threat, as cracks (sometimes literal ones) show up in our bridges, our highways, our airports, and the nets of our social welfare systems. For these and other reasons, broken world thinking asserts that breakdown, dissolution, and change, rather than innovation, development, or design as conventionally practices and thought about are the key themes and problems facing new media and technology scholarship today.
Attached to this, however, comes a second and more hopeful approach: namely, a deep wonder and appreciation for the ongoing activities by which stability (such as it is) is maintained, the subtle arts of repair by which rich and robust lives are sustained against the weight of centrifugal odds, and how sociotechnical forms and infrastructures, large and small, get not only broken but restored, one not-so-metaphoric brick at a time.