A jack of all trades or the master of one?
Every time you turn around there is a new programming language, a hot new technology, or some form of hype or buzz surrounding some particular methodology or another. Considering this flood of information to digest you can’t help but ask yourself, what is a busy programmer to do? If you are constantly working to learn the latest and “greatest” will you ever have time to get proficient, or will you endlessly be a hack in a new language?
Each time a new project rolls around it seems I am questioning my choice of technology, do I want to do this using J2EE, which I know, or maybe I should take this opportunity to learn Ruby and give Rails a try or how about ASP.NET? This train of thought, while helping to diversify my skill set, has left me wondering if maybe it is time for me to focus, to pick a language or technology stack and really immerse myself in it until I am satisfied that I know enough to tackle something new.
The other side of this coin is that as more and more languages and frameworks arrive on the scene, the scope of the problems that each is meant to tackle is becoming increasingly focused. This means that programmers are most effective when proficient with a number of “tools” rather than a single. You wouldn’t drive a screw with a hammer, so why force a project in a language that might not be best suited to solving the challenges the project entails? Then again if you are constantly language hopping will you ever truly recognize the “right” tool when you need it?
Much to learn; little time to learn it all.
I would be interested to hear how other programmers handle this delema.

December 18th, 2008 at 11:11 am
I’m certainly not a programmer, but I think you’re already doing what needs to be done–writing! Writing down your questions, comments, and concerns give your mind a chance to slowly consider each idea as it transfers from your mind to your fingertips. This also offers the chance to review your thoughts in print. I’ve recently started free-writing every day and I can offer some quick tips.I write for at least 15 minutes a day on each of 3 projects I’m currently involved with. So I free=write for 45 minutes a day. Obviously each piece I write is on a given project, but I usually choose one aspect of the project to free write on. While writing, I just go, I ask questions, discuss confusions, talk about my day, how things make me feel, frustrations, and if I’m ever at a loss for words I put alternatives [options, choices, different words] in square brackets. I do the same thing when I’m thinking out loud [like, does this programmer care what an English major has to say?] LOL. Anyway, my answer, as usual: just write!
December 18th, 2008 at 11:43 am
Thanks for your comment Allan, and I most certainly do care what an English major thinks! What better reader than another writer? I appreciate the feedback of an English major since I have recently aquired a book called “Elements of Style” and I am trying to improve my writing.
As for the free writing I doubt that I have 45 spare mins to free write, but 20mins is certainly achieveable. The exercise of writing really does help you work through your problems and can certainly improve the end product. I will have to add 20 mins of free writing to my daily routine and see if I notice a difference.