4 ms·
As someone that considers myself largely a specialist, I'm going to say that in the web world, it's mostly the generalist. Technologies on the web are changing
by wheels 18y ago
As someone that considers myself largely a specialist, I'm going to say that in the web world, it's mostly the generalist.
Technologies on the web are changing so fast that from a specialist's perception, there's scarcely enough time to learn a technology in depth before it's outdated. There are outliers, generally those implementing the technology themselves (e.g. the people developing jQuery, the people developing RoR), but in general most of the people using those things only have a couple years experience.
Things like systems programming, where I mostly come from, it's not uncommon to spend 5-10 years learning the field in depth without the technology changing much underneath you. Web development 10 years ago was so different that it's almost difficult to call it the same "specialization".
As a result, my strategy has been to learn just enough general stuff to get myself by in a pinch, but more importantly to be able to recognize people that know their stuff in the roles that we'll eventually want to bring in people to fill.
- russell 18y agoAs a consultant who considers himself a generalist, I say it depends. If a client needs a short engagement to fix some set of specific problems, then they should get a specialist. OTOH for a longer engagement or for a fulltime employee, get a generalist. The problem with specialists is they tend see solutions only in their domain. If you hire an Oracle specialist, you are going to get an Oracle solution. If you hire a J2EE specialist, you are probably not going to get a Django or RoR solution. Generalists are more expensive in the short run, but in the long run the solution is probably cheaper. If you are a specialist, you get work quicker, but it is the same work over and over. About a decade ago I was working at BEA and one of my coworkers was a CORBA specialist. He quit when they transferred him to the WebLogic group. He wanted to continue to be a CORBA specialist. I wonder what he is doing today.
- wheels 18y agoI think if we're talking consulting, that's to say, a la carte development, yes, there's a premium on specialists, presuming the person doing the ordering knows what they're looking for. There are domains where a lot of specialist knowledge transfers over. A kernel hacker and jump into glibc with little pain. Someone developing databases can jump into real-time systems and get up to speed pretty quickly. In those sorts of fields, if you've not cut your teeth on something pretty closely related, you're basically not worth paying for. Turning that around to the web world, if you only know Ruby on Rails, but can't do Javascript, don't know your way around an image editor and don't know a little SQL, you're less valuable. Somebody who's competent in several of those has a lot higher value. A year and a half ago I basically wrote C++. That's it. Today, since I also do our web programming, I regularly use three or four programming languages per week. But looking down the line, it's not an especially good use of my time to have me, a systems programmer, futzing around with jQuery.
- whacked_new 18y agoI have the impression that it's much easier for a specialist to go general than the other way around. As such, I would like to believe that you are much more competitive than most generalists. Is this not your experience?
- wheels 18y agoIt depends on the specialization. I've got a friend who's a complete expert in object oriented ABAP and doing consulting for large banks. Unfortunately for him, he hasn't written anything of significance in a programming language that can be used outside of an SAP system in almost a decade. He's bricked himself in to doing SAP consulting for the rest of his career. There are some specialization which are just harder than others. Systems programming is just harder than web programming. So if you take an average systems programmer and an average web programmer, statistically, the systems programmer is probably going to be smarter. That's not to say that there aren't brilliant web developers, just that there aren't many dumb systems programmers. It's kind of like saying if you took a biochemistry student and a history student, which one would you bet on for learning a new technical skill? Probably the biochemist. Beyond that, it's easier to fake being a generalist. If I need to learn a new skill to a superficial depth, I can in a few days if need be. This doesn't mean that I'd have all of those things in my tool-belt like a true generalist would, but under appropriately lax conditions I can still get the thing done. It's almost impossible to fake being a specialist, at least when it comes to completing a job. If you've never used an SAP system, you're not going to learn how to emulate my friend mentioned above in a few days. Hell, I worked for SAP for 4 years and I can't really understand what he does. So, to go back to your question -- are specialists more competitive? If their specialization is in demand certainly. If not it mostly depends on how smart they are.
- whacked_new 18y agoI guess the problem is my question is inherently murky. I was speaking with the assumption that specialization implies greater difficulty, greater practice, greater determination, and in effect, demands greater smarts. "Generalist" is being thrown around loosely here. A really good generalist is probably a specialist in being general. In other words, a good specialist goes really, really deep, but a good generalist goes really, really broad. Both are very difficult, and after this discussion, I think a majority of programmers won't fall into either, even if they think they do.