Understanding Through Building

  • building things has been my go-to way to gather deep understanding
    • implementing small demos with creative-coding ideas
    • implementing papers to be able to "interact" with them
    • building Realtalk-like system after visiting Dynamicland
    • building interactive sketches when exploring the solution space of a research problem
    • basically: Working With the Material
  • maybe the main reason it works, is that it forces effort, but I have an inkling that maybe there's something more here
    • seems like something special happens when I do something vs when I watch someone do something - this makes sense for something like sports, but why does it matter for knowledge work?
  • can this act be deliberately practiced?
    • I could record myself building experiments, open question: would that provide enough signal over noise, so feedback is possible?
    • I could create more constraints for better understanding: not using external libraries, using a different language than the one I'm used to, etc.
  • I keep finding people who gather deep understanding about things by reading and immediately using what they read in some context - this doesn't seem to be always possible though, especially for abstract concepts
  • for work based on technological breakthroughs, working with it, and understanding the space through building, might be a better approach than trying to chart a path across unknown territory:

    (...) Super Mario 64, the landmark 1996 game that used an unusual new technology: 3D graphics. You might think that Mario 64 was built with tickets and sprints, but, according to interviews, there was no master plan, only the principles that the game should feel good and be fun. They started with just Mario in a small room, and tuned his animations and physics until he felt nice and responsive. After that, the levels were also created as they went, with the designers, developers, and director going back and forth using sketches and prototypes.

    Why Software is Slow and Shitty

  • there also seems to be overlap between building a lot and publishing a lot, and being able to find work which allows for building more - interesting feedback loop:

    The sheer volume of your work is what works as a signal of weirdness, because anyone can do a one-off weird thing, but only volume can signal a consistently weird production sensibility that will inspire people betting on you. The energy evident in a body of work is the most honest signal about it that makes people trust you to do things for them.

    — Venkatesh Rao - https://mailchi.mp/ribbonfarm/the-breaking-smart-ama-part-1

  • this approach can be called "bricolage":

    Claude Levi-Strauss recognizes "bricolage", a "science of the concrete" (...) Bricoleurs construct theories by arranging and rearranging, by negotiating and renegotiating with a set of well-known materials.

    — Epistemological Pluralism - Styles and Voices within the Computer Culture - Sherry Turkle, Seymour Paper

  • another take at this is programming as a profession vs programming as a tool for understanding dynamic systems (Simulators, Understanding Through Building), with this lens:
    • again, not everyone has to be a professional software engineer, but:
    • there are people who would benefit from being able to build dynamic systems to learn, understand, and act on them - programming here is a dynamic-modeling tool

make tools (for learning, not for thought exactly), publish them, observe their use, distill insights, share

— Robert Cobb

  • this is closely related to Tools Building Us - the tools we use shape at what "level" we think, and should be changed (or adapted) through the gradient of sketching (or Understanding Through Building) to engineering ("graphic design" is also a form of engineering in this context)
  • this might be important for Understanding Through Building - when prototyping things to learn, it's important to focus on the actual problem, instead of trying to "stroke the aesthetic ego" by polishing rounded corners, playing with type systems, etc.
  • another example would be building small experiments testing small hypotheses orbiting around a bigger theme - of course balance is important here, so when you're using a project to learn new technology, you probably shouldn't also try to do something "wild"
  • when designing, making art, or building in general it's often good idea to play with the material as directly as possible - this allows us to use Epistemic Actions to think about the task differently, and forces Understanding Through Building
Szymon Kaliski © 2022