Tuesday, April 28, 2015

I Can't Agree with Advice to Specialize

I follow John Sonmez from simpleprogrammer.com. His latest post "I'm Not Sure I Want to be a Specialist" got me thinking. John says:
"I’m definitely ... going to tell you specialize ... It’s going to be very hard to narrow yourself down so much that you’re pigeonholed into a place where you’re not going to have customers, especially if you’re just looking for a job."
I just don't agree. There are plenty of technologies that developers might have specialized in that just aren't in use anymore - the digital equivalent of buggy-whips.

Certainly some specialists have fantastic success, but aiming for that kind of success feels like aiming for a career in the NBA. If you are one of the few who can, that's great. But it's not the kind of advice I'm going to give out as a mater of course.

Specialization has real risks, for individual developers and for teams. For instance, as I mentioned, if I specialize in a technology that goes out of favor, my employability declines, potentially seriously.  Additionally, teams of specialists can face roadblocks when a particular type of work piles up faster than the team specialist can complete it. Or worse yet, when a team loses a particular specialist, predictable team capacity, a critical value for project owners, can tank until a replacement can be found and ramped-up (see Bus Number).

My employer, a consulting firm, seeks "Generalizing Specialists", developers who:

  • have one or more technical specialties
  • has a strong general knowledge of software development lifecycles
  • has at least a general knowledge of business and a willingness to gain at least a minimally functional knowledge of their client's business domain
  • actively seeks to gain new skills in their specialties and beyond, in technical and non-technical areas
If the team I am on suddenly needs an an extra push in QA, I am comfortable enough with testing that I can temporarily shift my responsibilities.

My advice to developers is: "Specialize in one or two things, stay on top of market trends without following fads, and always be learning, in your specialties, in tech areas you don't specialize in, and in non-technical areas."


  1. Nice rebuttal to the original video.

  2. I received a follow-up comment from John Somnez ( http://disq.us/8n51su ). In it, he distills his advice down to:

    "pick one thing to be really, really good at and market yourself in regards to that one thing, but learn as many other things as you can (just not as deeply.)" and points out how similar our suggestions are. I see his point.

    I forgot something to put in my advice something that that John specializes in teaching: the importance of self-marketing. I completely agree that a very specific self-brand is instrumental in great success, especially these days. In fact, I just ordered his "Soft Skills" book: http://manning.com/sonmez/ in part because of the marketing chapter.