Which is more important? Breadth of knowledge or depth of knowledge?

Breadth refers to knowledge on a wider range of topics while depth refers to more specific knowledge on one particular topic.

This question on which one is better is perhaps an offshoot of my search to improve myself on this front.

Although I have had extensive experience in designing and developing software applications, there is no particular language or tool that I have memorized like the back of my hand as some “experts” have. I have gathered knowledge from various sources on a variety of tools/languages and make use of that knowledge whenever I work. I will rarely hesitate to begin working in a different language if it suits my purpose, despite the learning curve associated with anything different.

Some people, though, think differently. They prefer to become specialists in their chosen field. Here we come to a crossroads. To specialize or not to specialize?

(more…)