I’ve had the opportunity to spend about 20 years programming with an unusual level of freedom to improve the design of code I worked on. Too often, outside constraints force us to simply live with poor designs. We get a bitter education about how frustrating our favorite mistakes can be, but we don’t get enough opportunities to make exciting new mistakes. I think I’ve gotten the opportunity to curse past-me in plenty of innovative ways.
I’ve also had the chance to play in a bunch of different sandboxes, from low-level systems programming to sky-high type theory. All the while, learning from the experiences of the wide range of other people I’ve worked with. Most recently, I spent most of a decade getting a Ph.D. that allowed me to spend an unusual amount of time (a) thinking hard about how to design programs and programming languages, (b) reading a lot of good work on software design, and (c) actually writing reasonably quality software. (Anyone who’s dealt with “academic code” knows why that last one might be surprising.)
Right now, I am doing vaguely ☁️ cloudy ☁️ things of an intentionally unspecified nature.
As always, opinions expressed on this blog are
FROM SPACE and do not reflect the view of
ANY EARTH LEGAL ENTITY.