Creating good software design is hard. You can read all the books. You can go to all the conferences. You can practice practice practice. But it all comes down to making judgment calls, millions of tiny, tiny judgments that all add up to create the whole design, which becomes so many particular experiences with your software, experiences that you can never fully foresee, kinds of people you never knew, contexts that…