Putting the most positive spin on this situation as I can, I think the difference between software and other engineering disciplines is in software we are often hiring people to do things that have never been done before.  Other disciplines can say, &quot;we need you to design this, have you ever designed this before?&quot; and the engineers can generally say, &quot;yes, and this is how it went.&quot;  For software the best way we can guess if people will be able to do the thing that they have never done before is to assess their general cleverness and problem solving skills, with puzzles.<p>Or something like that.