Professional development: To specialize or generalize with languages?

I occasionally wonder about the best ways to develop oneself professionally as a person working in (library) technology…

I think about those Peter Drucker quotes where he asserts that “one should waste as little effort as possible on improving areas of low competence” and that “It takes far more energy and work to improve from incompetence to mediocrity than it takes to improve from first-rate performance to excellence.”

I’m quite confident with my Perl, PHP, Javascript, and Bash/shell skills… but I want to improve on my knowledge of Python, Ruby, Java, and maybe C (and its variants).

That drive to improve has a few motivations…

One is the thought that I’ll be more employable if I know more languages, but that goes back to the Drucker quotes. Will I really be more employable? If I really focussed on the languages I already know well, I could become exceptional. If I focus on many, maybe I’ll just be mediocre at many. But then who is to say that mediocre at many is a bad thing?

More importantly… who is to say that “the language” is where the real competence lies?

I know a lot of people who will say that they don’t care what languages their future programmers know. They care more about the actual intelligence (rather than “knowledge”) of those programmers, how they work in a team, etc.

So perhaps by being mediocre at many languages, I’m actually improving my problem solving and continual learning/education skills which may be first-rate and on their way to exceptional.

I suppose, at the end of the day, it all comes down to the work that you do and the work that you want to do.

I mentioned that there were a few motivations for wanting to improve my programming language knowledge. Well, in addition to “professional development”, I just like learning and trying new things. I actually get “pleasure” from this activity. Sure, I might get frustrated when something isn’t working, but the high that comes from cracking a problem is immeasurable. It’s something I loved as a student, and I think it’s rather great that I can continue to have this experience professionally and personally.

Anyway, now it’s time to go cook dinner!