I seldom use this meaning of "vocation". Perhaps the British use it more. I would say "John is a doctor by vocation". However even though I seldom use it, the other meaning as a "calling" makes perfect sense. That's what its Latin roots mean.
Another good word to keep in mind is "occupation". It is more flexible than most people realize. It can mean a career or a job but it can also just be a hobby to which you devote most of your time. Literally, it just means the thing that occupies you.