Should I be a guru?
In my IT career I’ve learned a lot, but still haven’t learned enough. Sometimes I wonder if I spread myself too thin.
Most folks I know in the IT field seem to have one area or thing that they are considered “expert” at. I know that each and every one of them would say to me that they are not nearly “expert” enough, but that is the way of learning stuff: There’s always something more to know. If there weren’t, there wouldn’t be hundreds of books down at the Borders labeled “for Advanced Users”.
So it begs the question: Should I make the effort to become a “guru” for a particular segment of the IT world? Should I funnel time and learning into one kind of technology, or way of working, or whatever, that I can say I’m an “expert” at?
In some respects, its kinda nice to not be pigeon-holed as a guy who is “that guy who knows x“. I do like the sense that I can build a dynamic website, from front-end interface to middle-tier code to back-end database, and have the satisfaction that I did all of these disparate things myself.
But, as I tend to believe, none of these things are nearly as well done as they would have been if they were designed by someone who is an expert in Javascript, or PHP programming, or database administration and RDBMS design. I end up with middling finished product that begs to be polished. The best I can do is to learn some more, go back, and try again.
I’ve written before that I should probably look to using software (or tech) that is “packaged”, meaning tools created by teams of programmers, with a proper development cycle and more expertise than I can bring. If so, maybe I can settle in on one thing that I can dig deep into and really learn, and leave the other things I need to stuff that’s been already done.
Maybe I can specialize in CSS. I really like it as a technology, and it presents some creative as well as technical challenges. It touches on HTML as well as interface design, so its not in a vacuum.
Maybe Javascript. And not the little scripty JS that I use on projects, but treating it like a big-boy language, applying real OOD principles, getting deep into the event model, really using the DOM, etc.
Course I have some ASP.NET chops, and there always seems to be a need for this.
And PHP.
Meh, it’s too much. Perhaps I’ll stick to being the master of none.