I have been thinking a lot about Gian Segato’s post, see Probabilistic Era. The job of building software for people, i.e. software engineering is about taking an open problem, making it closed so we can build it and verify we have built it with tests (of various sorts). The problem is open because it is for humans or involves humans. We’re not building a bridge, we’re solving some vague business problem with semi-automation, or something.