I've really liked this essay and think it's getting at something essential, but at the same time I think some of the conclusions aren't well supported. I heartily agree that a principle part of programming is building, maintaining, and sharing our understanding of the systems. I don't see why that implies that there are no concrete methodologies that could help us do that, and I don't think the essay does a good job of making the link.