Generalists vs. Specialists

I’ve stated quite often that being a generalist has generally been beneficial for my IT career (pun intended). That’s why I developed the professional development presentation, The Swiss Army Knife of DB Pros. It is also why I continue to bounce back and forth between technology areas rather than deep diving. For instance, I’m back primarily as an Active Directory and security architect. I still touch SQL Server day-to-day, but I’m back more on the infrastructure side these days. When you look at my career, about the only place I’ve not spent a lot of time in is networking. I hope to change that eventually.

However, I’ve not been successful at expressing why I believe generalists are better. Don Melton (blog | twitter) has expressed it very well in this talk.

“I would rather have a whole team of generalists than just a few specialists. Generalists can reapply what they know to new problem domains.” – Don Melton

And there you have it. Because we don’t specialize, we are constantly having to face new problem domains. Typically, we become active, important members of teams because we’re looking at our existing skills and knowledge and seeing if any of them can be brought to bear in the new domains. Some specialists are able to do this, too. However, some aren’t, because they haven’t had to do so. Generalists must in order to survive.

17 Comments (+add yours?)

  1. jeff
    Nov 06, 2014 @ 14:42:12

    In fact, from a company’s perspective, I’d like to have a balance composition of generalist and specialist. Just like any football / hockey team, you do not want to have a whole team of “generalist”. But for personal perspective, it is really a taste of individual choice.


    • K. Brian Kelley
      Nov 06, 2014 @ 16:27:41

      One of the points made in the talk is that specialized domain knowledge ages. In IT, that’s fast. Therefore, if you have specialists, and you are trying to keep pushing forward, that may actually hold you back.


  2. mycoverdale
    Nov 06, 2014 @ 15:35:39

    Thanks Brian. This reinforces my beliefs as well and explains why I’ve enjoyed working in various IT roles (myself only lacking security). In addition, working in various industries, as I have, would make someone like myself a 3D IT generalist. God Bless!


  3. Saša
    Nov 13, 2014 @ 06:24:05

    I somewhat disagree. For example, i am DBA , specialized for Oracle. I managed to live with that specialization for 14 years (even in a weak economy as Serbian is). Yes, i learned a little this and that (mainly system administration) but i was 90% in DBA field (and Pl/SQL programming in Oracle database, of course).
    This is (i guess) because DBA is such a “broad” field of specialization, so that you practically need all time in the world to specialize. Also, Oracle DBA specialization was always “in demand” so it was fairly easy to change jobs and companies by being “only” Oracle DBA.
    I believe that generalists are people who (generally) does not know anything “in deep” , so (again, generally speaking) those are useless (i am speaking from my long time experiences). There are some great “generalists” who knows all those technologies good enough , though. But those are pretty rare.
    And, yes … last 2 years i am learning, practicing to be a SQL Server DBA as well .. but, that way i am still in DBA specialization? 🙂
    All the best!


  4. Ben
    Nov 13, 2014 @ 06:53:01

    I suppose it is each to their own. As Sasa above I am a DBA specialist (In SQL Server) if you want to call it that. But before that I was more of a generalist.

    I would rather not come under the master of none. So I have therefore specialised. There obviously is the inherent danger of that product for instance no longer being around. Though I expect DBA as a role will be around for while yet. Or at least I hope so 😉


    • K. Brian Kelley
      Nov 13, 2014 @ 10:43:34

      “Master of none” isn’t where that quote should end, though. As per Adam Savage (Mythbusters), “Jack of all trades, master of none, though often times better than master of one.“


  5. Chris
    Nov 13, 2014 @ 08:01:54

    “A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.”— Robert Heinlein, Time Enough for Love


  6. LA
    Nov 13, 2014 @ 09:21:15

    Although I regularly read your articles and tend to agree, this time it’s quite the opposite. I disagree with you Sir Kelley.

    A team need both of them. Only generalists is way no good, only specialists is not better.

    As per Don Melton quote I would response: “Doing something does not mean that you did it right. You can even do 200 times the same thing, if the knowledge (or google-borrow knowledge) is wrong, so the 200 solutions are.”

    If you have a situation where your ship in endangered, what would you do? Put the best person in place or a random one? Having only specialists will sink your ship way fast as well as for generalists only.

    The question is not “are disaster possible” but rather “when will the disaster occurs” and having only one side will make it quite a rough time.

    And on a final note, “exporting knowledge” if I can say so, to my eyes, is more of an intellectual capacity rather than being a generalist or specialist thing.

    my 2 cents


    • K. Brian Kelley
      Nov 13, 2014 @ 10:45:34

      Keep in mind that there’s nothing saying a generalist shouldn’t deep dive on whatever he or she is working on. I would expect any member of my team to deep dive. If I have a ship that’s endangered, I want my smartest, most capable people on it. Absolutely, if I’ve got an expert, I want the expert involved. However, even if I have an expert, if I have other very capable folks, I want them offering input as well.


  7. Generalists communicate, and more easily see integration issues
    Nov 13, 2014 @ 10:44:59

    One major advantage of having a few generalists as well as your specialists is when your pure specialists have a hard time dealing with integration issues. For instance, if you have hard to track down sudden app slowness, you might end up with the DBA, the SAN admin, the network admin, the application developer, the server admin, and the virtualization admin all arguing about how it’s not their area, possibly not terribly successfully because they also all speak different dialects of technical jargon. A good generalist with knowledge of several of those fields is often more likely to be able to communicate effectively with the specialists, and is more likely to see the integration issues that exist at the crossover points “under the walls” between the specialties.


  8. Glen Gorman
    Nov 13, 2014 @ 12:58:41

    At first i thougt this was somewhat of an immature artical. I think you have to look at what makes sense in each situation. There is room for, and need for specialists and generalists.

    At the same time it always pays to be knowlegable beyond a specialization.

    So i decided the article was underdeveloped.

    For DBA’s in my opinion databases are becoming more and more automated. Driven mostly by SQL server. Hey as computer people isn’t it a fundamental goal to put ourselves out of work? Now we seeing alot of cloud services, so i would expect to see more generalization than specialization(except for those folks operating the cloud). Even in the case of enterprise databases i would prefer to hire a DBA that could handle SQL Server and Oracle rather than a specialist in one or the other. In a small buisness i would extend that to the operating system(s) and app servers.


  9. Jason
    Nov 13, 2014 @ 14:53:56

    This is a short sighted view I think. I agree with “LA” in general you need both.
    The question isn’t to have Generalist OR specialists, the question is how many of each. Generalists can handle a wider range of functions and are very suitable when depth of knowledge isn’t particularly important. Specialists handle a narrow scope with deep knowledge and are suitable in areas where predictability and depth of knowledge are important.

    When in a small shop, the generalist’s versatility is huge and a must. In larger shops the generalist still plays a vital role, with the biggest advantage I’ve seen being the ability to handle a majority of the day to day operations effectively which removes burdens on my specialists for the deeper dives.

    A well balanced team (in a large shop with the luxury of a larger team) will have enough generalists to perform all the daily tasks and development of enhancements and the will have enough specialists to develop large scale solutions and serve as point of escalation when an issue or solution exceeds the depth of the generalist.

    So in general, the question of generalist heavy or specialist heavy is dependent upon the needs of the team, size of the organization, the required level of sophistication and complexity and the role(s) of the team (implementation, support, R&D etc)

    Of course there are those Generalists that achieve specialist level knowledge in a lot of disciplines, if you have one, keep him/her, they’re rare and always expensive (as they should be, they’re filling the roles of multiple people)


    • K. Brian Kelley
      Nov 13, 2014 @ 15:07:34

      With the way things are moving and the amount of integration and cross-discipline work that is being done, I don’t see it as short-sighted. For instance, consider the role of DevOps nowadays. Those folks have to be generalists. Very good, almost specialist level in multiple disciplines, but that makes them generalists.


      • Jason
        Nov 13, 2014 @ 16:00:13

        If you’re talking about Generalist with Specialist level skill then no it’s not short sighted. You have both a Generalist and a Specialist when you do that so, while expensive, gives the balance.

        But is the generalist really a specialist level? Sometime yes, but specialists have worked very hard with some huge advances in the last 5 years to make a high level of sophistication and complexity available without the deep knowledge by building tons of specialized tools that simplify development, trouble shooting, implementation etc.. I have run into two types of “Specialist Generalists”.

        The first are the real ones. These people impress me. They can tell me all about the inner workings of SQL Server’s Storage Engine, all about Oracle’s PGA, MySQL, Postgres etc They know deeply T-SQL, PL/SQL, MDX and DAX, they can write a C# service layer for the ASP and JAVA app they’re building at lunch to surface all the data and can do it without third party tools and can even then turn and tell me how to configure my AD, DC and SAN to get the highest optimizations. These people are worth their price (These are the Brent Ozar s you’re talking about)

        Then you have the ones that are really a Generalist enhanced by some really cool tools. These people are still impressive, but will need to be coupled with a specialist in one way or another. They use the tools developed by the Specialists to build very good solutions that even match and exceed the above solutions, However take away the auto code generation, take away the monitoring tools that draw a map to problem diagnosis and now you’ve got problems. Now you need a specialist to help get the rest of the way. The Generalist added huge value, brought in a robust solid solution, troubleshoots day to day with effectiveness and the environment is all the better for it. But this second type doesn’t have the depth of knowledge to figure it out without the tools built by the Specialist (or Specialist Generalist).

        So you still have to balance specialized knowledge with general knowledge and account for cost to figure out how much of both each team member should have.

  10. SamJazz
    Nov 18, 2014 @ 10:04:48

    Specialization is for insects — Robert A. Heinlein


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: