When front end developers talk about "design" they're usually talking about the look and feel that they're trying to create in the final product, not necessarily how it will be implemented. In this sense, it's easy to think about design as something static and tangible that can be directly copied from comp to CMS, but that's not how web projects work.
In reality, the visual design of any non-trivial site is never static. People change their mind. Designers think of new ideas a month later that you never thought you'd have to support. That's why it's important to address the scalability of your front end implementation early, even if it's quicker to just "copy the comp".
To address this, I'll focus on utilizing common Object Oriented design patterns emphasizing encapsulation of data and responsibilities, as well is consistency in the implementation. Basic knowledge of OOP will be required (inheritance, composition, virtual methods). These techniques should also serve to introduce Drupal 7 developers to OO design techniques that can be reused in Drupal 8.