Should a highly knowledgeable professional try to widen his/her knowledge, or deepen it even further?

Obviously this will depend greatly on a large number of factors, but at least for some industries, there may be a general consensus on which choice future employers will find the most interesting.

My own concrete example: I'm a software developer with some years of experience, and feel confident saying that I've gotten rather good at what I'm doing. I'm considering pickup up skills in Information Architecture. Since IA is, from my point of view, rather different from what I regularly practice, I wonder if I should keep focusing on what is already my strength(s) instead.

  • 1
    Short answer: Develop a wide knowledge of your industry, then deep knowledge on a few select subjects highly relevant to your interests and/or job.
    – Anonymous
    Commented Aug 29, 2012 at 7:03

5 Answers 5


Well the correct answer is both! If you could be very broad and very deep, and know everything wouldn't you? Alas though, even geniuses have their limits. So we have to chose what skills we are going to grow vs those we're going to sacrifice.

Generally it boils down to how much of a commodity you're going to be.

With a lot of breadth, you will always be marketable with a large skillset. You have more opportunities. However, as your skills are mostly surface skills, you will be more commoditized. That is to say, with more supply, eventually the salaries drive lower as the odds increase there's someone who can write that iPhone app for $30/hour where you want to charge $32/hour. The extreme example of "breadth" is manual labor which everyone can do and is very heavily commoditized.

With depth, the opportunities are scarcer. However, with deep knowledge you are competing in a smaller workforce. You'll likely be able to demand more $$ for your work as there are only a few people with those skills. You're not a commodity. The ultimate example of all-depth is someone with a PhD. You are so focused on a single problem that somebody may pay you through the nose to help solve that problem. You may, however, have problems finding the handful of people desperate to solve that subproblem. Depth can also be more brittle, the problem you're solving may pretty much be solved one day, making your job obsolete.

You have to find what balance is most appropriate to you between "manual laborer" and "PhD student". Software Engineer is already some level of depth as obviously not everyone can do it. But do you want to be deeper than that? I'd take some things into account:

  1. Is my local area's job market sufficient such that there are multiple jobs at my desired level of "depth". Can I find another job in my chosen subfield easily? Or will it take a lot of work?

  2. Do I want to stay focussed on the same problem my whole career, getting a very deep understanding and learning multiple ways to solve that problem, or do I want to always be learning new, disparate things even if its only surface level? Where do I want to be in that spectrum?

  3. Do I want to command a higher salary, even if it means taking longer to find the job that best fits me? Or will I be ok on a smaller salary but more stability?

My Advice? Take a hedging strategy. Treat your knowledge like an investment. Get some depth in a promising field, but don't lose focus on learning other, sometimes completely unrelated things. Invest 60% depth and 40% breadth or 40/60, not 100% one or the other. Technology is way too fast moving to put all your eggs in one basket. But its also stable enough that many problems do stay around and linger. You want to not get too comfortable in one cushy, well paying gig, only to have that problem become obsolete with nothing to fall back on.

  • 4
    In fact, my grandfather has a story from his engineering industry days, where he needed some undocumented technical specs on a particular capacitor his firm made for a client. He was directed to the Product Development building next door from the consultancy offices, then to the Electronic Components wing, and finally to a door labelled "Capacitors", which he opened to see two guys. One of them looked up, asked "Electrolytic or mica", to which my grandfather replied "mica" and the guy pointed to his coworker and said "you want him".
    – KeithS
    Commented Aug 28, 2012 at 23:35

It depends.

It really does depend on the person and the situation. The answer can be found by examining three questions:

  • What role do I want to move into?
  • What kind of skills and knowledge are required to perform well in that role?
  • Are those skills and knowledge closely related, or spread across a wider spectrum?

The answer to the third question is what will really answer your question, but you need to answer the first two to be able to answer that one.


I would recommend having a deep understanding and ability level in at least one area. Then you can broaden your skill set to other areas. Of course there is going to be some overlap because some job demands require you to work on other things.

A journeyman carpenter who has picked up a little on plummbing is going to be more marketable and higher paid than a handyman.


I believe it partly depends on the level of job you are interested in. At the entry level, no one is expected to have a lot of either. First you need to get some breadth because software today is rarely written in just one language.

However, once you have the basics in your whole technical stack, then it is time to start getting some depth so you can qualify for higher level positions. At a senior level, I'm not interested in someone with only entry level knowledge in a wide variety of languages (often referred to as one year of experience repeated ten times). I need someone who can solve harder problems and that involves getting some depth of knowledge.

At the same time, unless you want to be a specialist, you need to continue to get more breadth of knowledge.

So to me the best plan for most people is to get breadth first - then pick an area where you want depth, then add some more breadth, then add depth in a new area, then back to breadth, etc.


It is not important how wide subjects you receive; you must take the depth of a certain subject into consideration. Today, colleges and jobs always require your one major study or diploma.

Meanwhile, knowing everything in a broad and unspecific way can’t get you a proper major study or diploma. Studying everything in such way can only result none. It’s impossible to get every jobs existing on planet earth, you eventually have to get a proper job that requires your major study. Studying everything broadly is just a waste of time, while studying one thing with convergence produces much more efficiency. Studying one specific subject is my firm cherished opinion. One proficient study is what I pursue more than broad knowledge.

I pursue quality over quantity. There are several things in life that needs your one major study. Not most of the jobs always need your unspecific and broad knowledge. Jobs have specific categories, which clearly means that you have to be major in one topic. Although having broad knowledge can give you far more options or opportunities, it would never increase the quality of the one job you will eventually have to get. So, if a person’s going to eventually get one job, it’s more efficient to study one subject for the job that you’re trying to reach for. There is no job on planet earth that needs all the broad knowledge that you’re not a major on.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .