So the question becomes:
Which comes first--the business area experience or the IT knowledge?
I think to be a consultant (as opposed to a programmer working for an end-user company), you need the IT training/experience first, since typically you'll be going to different business types from project to project, and you learn what you need to know about that business at the project. Sure, if you happen to have previous education in that area you have a head start, but in general the consultant needs broad IT training first, and business-area experience second.
But for a programmer position in, say, the accounting firm, it might be beneficial to take an accountant, and then trian him in the programming language that firm uses for their systems.
And as for the bomber-mechanic, that makes sense--the mechanical aptitude found in mechanics is, in my opinion, similar to what's needed for today's higher-level languages. You're not doing the low-level stuff--none of the hex math you might've needed with assembler--you're putting components together, troubleshooting problems with different components of a program--not unlike diagnosing a knocking sound in an engine or a complaint of sluggish performance in cold weather, for instance.
And the core business rules of program for a particular business are usually not defined by the programmer, but by the accountant, the trader, the logistics manager--whatever expert in the particular field for which your program is written. Much the same way as an engineer designs the automobile's engine, but the mechanic put's it together and fixes it when it's broke.
--jsteph