And it's very often better to be a "master" of several trades, than a "grand-master" of one. Of course, if you are the grand-master of a trade, things are completely different, as we all know.
I was once a medical student. But before that, I wasn't attending a high school specializing in natural sciences, but an "English Language School" (I'm from Bulgaria, Eastern Europe). So knowing English made me a better medical student. One day, I discovered the general purpose computer, and I became obsessed with that. Being good at computers, made me even more outstanding amongst my colleagues. I learned Linux, server administration, network administration and I was a god.
I decided to switch careers (computers are so much fun), and I became a programmer. Lacking the education, I started at the lowest possible position - a Junior Visual Basic programmer in a company, close to the end of the world :). And guess what, I was WAY better than my colleagues. I had almost no experience, but I was already a scientist. You won't believe me, but there are so many programmers out there who are not scientists. And I knew Linux, I knew networking. I was learning Python in my spare time, and I started discovering problems, so easy to solve with Python. I was already a god at that company, from day one. Not to mention that I was already learning "web". HTML, CSS, JavaScript, web servers, reverse proxies, "http accelerators", databases etc.
I was very fast to land a python web programming job after a few months of "experience". And guess what? I was already learning "NoSQL" databases in my spare time. I knew how to solve problems with CouchDB. We started implementing stuff in CouchDB. I also became obsessed with XMPP, and started using it to solve more problems. That's how I found Erlang (ejabberd).
I learned Erlang, and I was now able to solve even more interesting problems. The new job offer followed...
Now I write Erlang services (and I utilize XMPP), and I find new problems to solve with my new tools - Redis, Riak, riak_core. And I am exploring more tools. I wonder what will be the next big thing. Haskell? Ocaml? Lisp? C? (yes, I have yet to utilize the power of C). But I am certain it will follow. I can't help being myself.
During all this time (roughly 5-6 years since I program), I never really became a "grand-master", but knowing all these tools is really a new experience of its own.
The single tool that I left behind is Visual Basic (never really liked it anyway). All the others are of great use to me till now. Even Medicine. It was the best one to teach me how to deal with complex systems.