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
  • 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
  • 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 be 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 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"
Szymon Kaliski © 2020
mailtwittergithubwebring