It’s a crazy era for IT! everyday new concepts, libraries, products, and even languages are introduced; so many solutions for so many problems. It is indeed the era of specialization.
There is absolutely no way to grasp all this knowledge, specialization and concentration of knowledge has to occur, and we must choose a technology to specialize in. But… (You knew this was coming, didn’t you)… this is not good enough!
Before you jump on me and start yelling “But you just confessed; it’s impossible!”, let me explain.
Different roles require different type of knowledge, depending on what? depending on the problem the role is supposed to solve; some problems are so deep and complicated that requires specific field knowledge as deep and as complicated. The solution to the problem lies in deeper knowledge.
On the other hand, some problems require little bit broader knowledge, because the solution of the problem might not be buried too deep; it might be hanging there closer to the surface, but little bit further on a related knowledge.
And being the humans we are; weak, ignorant, and with short life span, we (as individuals) can either go deeper in specific field knowledge, or span wider in related fields knowledge, but rarely both.
The following diagram is my trial to draw this graphically:
Let’s take Medical Science for example: Specialists and GPs (I really wanted to find a better example; GPs these days have a bad reputation!).
The Specialists role should solve problems that require deeper knowledge of the field, e.g. eye specialist, his knowledge is higher on the y axis, shorter on the x axis, something like the Orange line.
On the other hand, the GP’s role is NOT to solve too specific problems, the GP is needed as a hub; he/she needs a breadth of knowledge that will enable him to direct the patient to the right source of the solution, so he should span more on the x axis and lower on the y axis (something like the Green line). I guess this also applies for Software Consultants, maybe.
But what does all this mean? it means that in order for you, my dear reader, to become a successful professional, you have to figure out how your diagram should look like. How to do that I hear you say? three things you should be doing constantly to figure this out:
note:don’t try to draw the diagram per se, it’s only a metaphorical way to make the picture clearer in your mind
- Decide which field is the one you’d love to make your home? which field you’d want to spend most of your time growing in? When you find that, set it as your base, and then lay related fields in order according to relevance
- Think about your role, in general, what is the problem your role usually tries to solve? where in the diagram do the solutions usually lay?
- Update the diagram regularly; as time goes by, humanity advancement forces the axis’s to a zoom-like effect: we get deeper knowledge, and we have wider knowledge (as humanity), and so you have to know your capacity, and maintain a slope that covers the proper spans for your role.
And as you may have discovered, the ways used to acquire the knowledge varies depending on the depth or breadth of the knowledge.
Here are some, starting from deep knowledge to wide knowledge:
- Attending courses, detailed text books, and practice
- Videos and community sessions
- Articles and white papers
- Skimmed reading
- Reading titles only, and news on Twitter
Finally, striking a balance between the depth of knowledge and the breadth of knowledge is not an easy task, but let me end with a key tip: I have noticed that most of the successful Software Consultants I have interacted with have a really good breadth of knowledge, and then they bet on their ability to dig deeper when needed.
May your diagram be the highest and widest .