@mcc I disagree only in detail; I agree in the large.
All software is the realization of someone else's mental model. Since it's never your own (even if you wrote it, it was you last week or last month or last year), operating under that model requires learning it. However, software should embrace and facilitate that learning, rather than treating it like a chore to be avoided.