I'm not sure I follow your analogy.
Craftsmen build things? Non-craftsmen don't build things? Craftsmen don't plan? Architects aren't good at specifics?
What if you hired a painter to design your housing development? Would he be as bad at it as your carpenter might be because a painter is a craftsman? Can an architect not be a craftsman?
Let me be specific: I believe that the source code is the design. Compiling is the manufacturing. Engineering is, what, measuring the tensile strength of a stable quicksort algorithm?
<code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>