Okay, I've just graduated as a vet and I had a bit of a crisis where I was worried:
1) That medical professions remain in their elite positions by using inaccessible language and a closed community
2) That there was a limited range of tools where much clinical work is just remembering someone else's solution to a particular disease and involved little in the way of problem solving
and as a consequence something that I thought would be a mentally stimulating career just wasn't. I don't think I would have got into programming had some parts not been fairly dull.

So i finished the course and am looking forward to going into practice. As far as having a closed and (seemingly) elite community goes thats actually not such a big problem. Textbooks are available to anyone. The closed society should just be considered as a quality control. It is possible to get hold of any of the equipment required for medical practice but when you go to a doctor (a member of a profession) you are seeing an individual who has their competence vouched for and is subjective to professional discipline should their service be found to be lacking. I think it is difficult to justify the rates doctors get paid but self regulating professions do at least have quality assurance.

I also agree that there is a lot of university education in terms of what is learnt didactically is unnecessary for most of the day to day job but this totally misses the paint. Even though pharmaceutical tools may be fairly limited our understanding of pathology and epidemiology is continuously expanding fairly rapidly and what it teaches you is to educate yourself rapidly as this information emerges (and particularly in veterinary medicine collate this information sensibly when the information you want is not directly addressed in the literature - something that can only be done with a thorough understanding of physiology, immunology etc). Secondly since this discussion seems to be focusing on edge cases a lot we should not forget emerging diseases since these cannot be properly addressed by someone that is limited to the day to day 'do the job skills'. An excellent example of this is the diagnosis of blue-tongue virus when it first arrived in England.

As for wanting to be in a profession where you have to think all the time, I think it is possible but I think you need some kind of developer spirit. To do this you need to try and get yourself to some kind of cutting edge. This is easier to find with programming because it is a much newer skill set (and with veterinary medicine as compared to human medicine). To this end if you consider specialising and doing clinical research or doing something that involves policy making, or practicing somewhere where resources are fairly limited then I think you can have an intellectually rewarding career. Any career can be as interesting as you make it. If you find yourself bored because you are having to treat the same thing over and over again either change your specialty in medicine (pick a different "style" or "philosophy" [you may see the problems the patient has differently and take a different approach in addressing them]) or go and try address the root cause of the problem. You miss also that what is interesting in programming is that problems that you are faced with also seem to be changing rapidly as do areas of new development. I'm sure new tools would eventually get boring if the problems became static.

I think you're spot on about picking a career that you enjoy. I you've shown as well how important it is to consider where your at regularly and make an effort to keep what yo do interesting. The implication that all programmers love their job is as easy to disprove as other professionals not loving theirs. Providing you have some control on the development of your own skills I think any job can be satisfying. Don't use this love as an excuse for poor pay. Price yourself to show how much your are worth.