One link per day for the next 31

There is two step in building a system: think, and do.

19/11/2017     permalink     linked site

This SE question is interesting, not because of its ground subject, but because of the system presented in it, and perfectly explained in answers.

Thinking about the overall system in a formal and logical setting is a job. Implementing it is another.

It's so different that, like described by the questionner, the two roles are implemented by two different peoples, each senior in its own domain.

This is common knowledge for most programmers, but beginners often forget one of these two steps, leading to complex and unclear source code, or no results at all.