Programmer as wizard, programmer as engineer
Marshall Bowers

One of my goals is to demystify (at least a little) the various things that make up the context in which we're designing code. One of my earlier essays was on the idea of system boundaries. To recap quickly, a system boundary is where design changes can become "breaking changes" for downstream (perhaps external) users of that code.