At the macro level, this would be system design. Making sure that the architecture is extensible, transparent to failures, and easy to understand and develop for.
At the micro level, this would involve coming up with clever algorithms to solve specific problems. In ways that are simple or efficient or parsimonious.
In any case, this scheming activity, which would slot in between the specifying and translating that you speak of, would involve deeply understanding both the specification (and how it might evolve) and computing substrate (its APIs, what is efficient and what is not, etc.). I might even call it some combination of wisdom and deviousness?