Your JD

Posted 4 years, 1 month ago | Originally written on 9 Nov 2020

As a writer of software your primary task is to hide complexity.

Think about it: by writing code you employ various abstractions (functions, classes, modules, commands, API etc.) which represent functionality for some user. You would do well if the user never, ever needs to know anything about the implementation. All they need is knowledge about the domain. Better still would be if there was as little friction as possible between their domain knowledge (the verbs and nouns map to functional entities in your implementation) and the tool.

To be more precise: your job is to present domain entities and actions through a usable interface by hiding implementation complexity.