2 min read

Specialization vs Generalization

I’ve been pondering about specialization vs. generalization in terms of career skills.

I have this notion that I should be a maven, should be an expert at something. But yet, I mostly do things that are the very opposite of this idea.

Since I don’t tend to be a specialist, I tend to not focus on a particular topic. I want to learn about different things and hence I tend to meet people of varied interests, and consequently end up being excited about a lot of different ideas. For example, one of my good friends is someone who I happened to meet on a bus because my seat was next to his, and we talked non-stop for 5 hours from the moment we said ‘Hello’. I was able to connect with him well because I knew a bit about his profession and we had some common terminology right at the beginning of the conversation. And I really love having such conversations. It’s one of the things that really motivate me and it ends up throwing me in different directions.

Maybe it’s not really a generalization vs. specialization debate, and more of an attitude. Then again, I see that people tend to really pigeonhole themselves, such as “I’m looking for C++ jobs” or “I want only bluetooth jobs”. Why? Because they’ll get experience in a particular technology and employers will give higher pay packages to specialists. This means these people focus only on things related to that one particular area and ignore everything else. Somehow I’ve been unable to do this, even though I want to.

As Tim Ferriss puts it:

Most people avoid certain actions because they view changes as permanent. If you make a change, can you go back to doing it like you did before? You can always reclaim your current state in most cases. If I quit my job in industry x to test my artistic abilities in a different industry, worst case scenario, can I go back to my previous industry? Yes. Recognize that you can test-drive and micro-test things over brief periods of time. You can usually reclaim the workaholism that you currently experience if you so decide to go back to it.”

This kind of sums up what I’ve been doing in the past six months – test-driving things over brief periods of time, trying my hand at different things.

Yesterday, I needed some inspiration, so I ended up listening to one of my favorite podcast talks – Jason Fried on “Lessons learned from building Basecamp” (transcript). A few things that he said made a lot of sense, not only in terms of software, but also in terms of career:

  1. Reduce mass
    • Enable change. Enable speed.
    • Do not worry about what may be needed 8 months down the lane.
    • Make just-in-time decisions, when you have the data.
  2. Every decision is temporary.
    • If it is too costly to change, it’s probably wrong.
  3. Getting Real
    • Design the interface first.
    • This is the same as Cal Newport saying “Fix the lifestyle you want. Then work backwards from there.”
  4. Iterate. Start small. Make your first version half a product, not a half-assed product.
    • Do a 30-day trial of things, such as your decisions of trying something new, etc.
    • But do the basics and do them well. For example, if you want to start a blog, don’t expect 1000 readers overnight, work at writing 5 good articles instead.
  5. There are so many more ideas that could be applied including the concept of publicity amplifiers, transparency and trust, blogging, etc.

It’s funny that a methodology for software can be used for lifehacking.

Of course, it’s not just software programmers who have this debate, even designers and productivity specialists do.

Later, I realized that another way of looking at this is “doing as much as required, no more”. Why is this important? Because results matter more than “expertise”. I had an Aha! moment. Suddenly, I feel less guilty and more positive.