I had an interesting interview a few days back, and was called a generalist in it as if that’s a bad thing. Since I didn’t get a job out of the interview, I may as well get a post.

I)What advantages does a generalist give you?

The philosophical discussion of the generalist vs the specialist goes back to the Greeks, if not earlier. The concept of the fox versus the hedgehog encompasses this debate. The idea is that a hedgehog knows how to react one way in an adverse situation, and that is curl up into a ball while the fox has a variety of different ways of reacting to an adverse situation. How does this apply to our situation, and when should we apply it?

  • A generalist tends to have a more systemic understanding of an environment. This means that the generalist is likely better in crafting a solution that involves complex environments.
  • A generalist is likely better at getting a first approximation of a system that is unknown. Because they can bring breadth to a situation, it means that they can perceieve it from multiple angles.
  • Specialty is in many cases an illusion. Lets take a storage admin as an example. In my experience a storage admin may be called on to diagnose issues that are really networking, OS, database, application or are otherwise external to the storage its self. This means a base level of knowledge is required to effectively troubleshoot storage problems.
  • Breadth is a force multiplier when collaborating with other teams. As an example, EVERY systems administrator should have a base knowledge of networking and DNS in my opinion. The knowledge of these systems I gained in my early career doing web hosting is a differentiation when troubleshooting in outages.
  • Lack of diversity gives a myopic view of the world. As an example, a DBA who knows only databases will wind up confused when they don’t understand hardware at a minimal level and they hit limitations.
  • Outside of the world of technical knowledge, business knowledge is a valuable form of diversification. It helps ensure that alignment between the technical and business teams.
  • From a career standpoint, over specialization is dangerous because obsolescence is a form of risk.

II)How should diversification of skills be approached

This is arguably the most important part of being a generalist. The totality of the world is immense, and even though the generalist is broad their span is not without limits. My opinions and what I’ve seen success from in the past are simple:

  • Spanning may be based on necessities of a position, or they may be driven on a perspective or belief of where the industry is going.
  • Diversification should be interlocking and/or adjacent with the tasks at hand, or with the direction a person wants to go. As an example, a storage person may learn networking because understanding good network design facilitates improved storage performance and streamlines the design and implementation processes.
  • Diversification may go outside an adjacent realm, but it must be carefully planned and of a strategic nature. It is harder to break into something that’s not adjacent to what a person is doing now.
  • Understanding that failure to enter into an adjacent area is not a failure if it causes an expansion of understanding in core realms.
  • Have a core realm or cluster of core realms with the adjacent skills being bolted on.
  • Understand that a combination of skills may its self be a specialty. As an example, a person who’s skilled in Oracle RAC, server hardware, and networking may in actuality specialize in Exadata.

III)When you should seek a generalist

Keep in mind that these are not hard and fast rules, a situation must be evaluated careful and nuance must be considered in everything one does. One should seek a generalist in:

  • Smaller organizations:These organizations are less likely to have a person doing one thing all the time all day. The people involved tend to be more fluid in what they do, and in the progression of their positions in their respective companies.
  • Architectual roles:An architect needs to have a good understanding of anything that appears within their realm, and be able to adapt as technologies change.
  • Certain foundational technologies:Storage comes to mind immediately and specifically to me. As mentioned above, troubleshooting storage can involve massive amounts of diverse systems.
  • Leadership of teams doing a broad scope of work, or collaborations with a broad scope of other teams. The ability to speak to a wide group of technologies becomes critical. As an example I did a few Exadata refreshes and was the person who determined what the switching architecture looked like because I understood how the servers interacted with the network, and how to make them performant and redundant.

IV)When you should find a specialist

Specialists are immensely valuable in the correct scenarios. Some reasons to seek a specialist are:

  • Niche products:There are some products where knowledge is very hard to find outside of certain people, and there is deep insider knowledge because of that. As an example, I met a guy in around 2013 that worked with OS/2. The ability of a generalist to find information on the broader Internet is likely compromised by the lack of a broader pool of research. This applies doubly so with internal products where the people who developed them are the people who get called for troubleshooting and feature adds.
  • Large organizations:If you’re in a very large, heavily siloed organization having someone who does one thing all day may be an option, and it may improve efficiency.
  • Unfamiliar Projects:Not all projects fall within this realm, but many do. If the project isn’t something that the organization normally does, finding a specialist who can help may be a good idea. This is why consultants exist.
  • Advanced knowledge in specialty realms is required. An example would be a person developing drivers for a piece of hardware. Even though there’s some breadth (hardware and how the software interacts with it) the combination its self is extremely specialist.
  • Leading teams who do very specific work:Once again, this is something that applies to large organizations typically.
  • Escalation Engineering:There are issues that most generalists will just not be able to solve. Having a full time specialist on staff for escalation engineering is probably reserved for large companies doing specific things. In many cases ,we outsource this specialization to a vendor in the form of product support.

V)Conclusion

There is nothing wrong with being a generalist. It’s incredibly valuable in the correct circumstances. If done correctly, it may be a force multiplier. The key is understanding when to use a generalist’s skills, and when to find the specialist. There are ups and downs to both, the big danger of a specialist is a myopic view of the world (everything looked at through the lens of their specialization,) while the danger of a generalist is that they may not be willing to admit they do not have the skills needed to adapt in order to complete an objective. Introspection and honesty about this tunnel visioning is critical.

By utadmin

Leave a Reply

Your email address will not be published. Required fields are marked *