Especially in software, ideas <-----> execution is a continuum. I think an idea, a well-thought-out idea, a spec, a program, maybe even machine code are just more-and-more detailed designs. More (and less obvious) detail is more work, and worth more.
Now that I think about it, the transition from program to machine code is interesting. I guess design stops when you can turn the design into a finished product via a mechanical translation. Similarly, a physical engineer's work is done when their design can be executed by "commodity" factories, workers, etc.
Your idea is reminiscent of this influential article by Jack Reeves: http://www.bleading-edge.com/Publications/C++Journal/Cpjour2.... He argued that source code is design, and that "construction" or "building" of software happens in the "build" phase, i.e. translation to machine code, which has been automated for a long time.
Now that I think about it, the transition from program to machine code is interesting. I guess design stops when you can turn the design into a finished product via a mechanical translation. Similarly, a physical engineer's work is done when their design can be executed by "commodity" factories, workers, etc.