An architect friend forwarded this to me...
An architect is said to be a person who knows very little about a great
deal and keeps knowing less and less about more and more until she knows
practically nothing about everything.
Whereas, on the other hand, an engineer is a person who knows a great deal
about very little and who goes along knowing more and more about less and
less until she finally knows practically everything about nothing.
A contractor starts out knowing practically everything about everything,
but ends up knowing nothing about anything due to her association with
architects and engineers.
A subcontractor starts out knowing nothing about nothing and never learns
anything, as proved by the fact that she continues to do business with
architects, engineers, and contractors.