Tuesday, June 06, 2006

Six secret ingredients for a successful career in software

These are vague (abstract) enough to stand the test of time..

Conceptualization of obvious things
The unique selling point (USP) of any virtual and intangible form is not its function, performance or quality but its conceptual model. Since Software falls under the same category, conceptualization is a critical thought process that every professional should master.

Take for instance Adobe Acrobat reader/writer marketing strategy - "Reader is free and writer has to be purchased"! Sounds straightforward and lackluster right? Conceptualization of the same statement would turn out like this - "The burden is rightfully on content producer/creator rather than on content consumer or distributor". Which one sounds cool?

Context driven Conceptualization
After mastering conceptualization, the next step is manage your portfolio of concepts. Concepts are highly volatile and hence the containment of concepts deserves the same magnitude of attention as that of cryogenic liquids. Human brain is however overwhelmed with the conceptual bigbang. Here is where 'contexts' come to rescue. Contexts are the natural containers of concepts. Contexts have MxN relationship with concepts.

In layman terms, I don’t remember any grammar rules, but can never forget my english teacher's jokes. How I wish those jokes were in some way mapped to the rules of the language!

Unification of technology
Software engineers are constantly worrying about their domain depletion and spend a lot of time and effort in context (career) switching rather than doing any real useful work. At a high level you can draw parallels even across the diverse technologies. For instance: Session initiation protocol (SIP), a Voice over IP (VoIP) protocol is clearly inspired from hyper text transfer protocol (HTTP). Storage area networks (SAN) work on the principle of separating data management traffic from application traffic; Common Management Information protocol (CMIP) used for monitoring of telecom networks applied the same technique of separating network node management traffic from application traffic.

Burning hay stack to find the needle
I am reminded of a well known theory in economics - "Value is lost with its abundance". The declining prices of consumer electronic items with increase in volume proves this theory. That also explains why gold is precious! We are all taught in our elementary schools or rather brainwashed that "Knowledge is value". Combining both of these theories we can come to the conclusion that "Knowledge is lost with its abundance"!

No doubt, internet has brought information at your finger tips that lead to information overload. The only way to address this is by assimilating knowledge from selective sources. The selection should be based on two sets of filters.

1. Read only classics in the field of your study.
2. Judge the credibility of information before consumption.

Don't forget to unlearn a few things on your way. Unlearning is a liberating process that will override your old hard earned knowledge with new ideas.

Art of loving and living with workarounds
You all would agree with me when I say that you don't need explanation for this.

Science of learning technology by evolution
Learning by evolution is NOT learning calculus in college instead of kindergarten. Learning by evolution is phase wise learning process with a clear focus on what to learn in each phase. Start with the study of the fundamentals or basics. Though this sounds obvious it’s not easy. After you learn the basics, you immediately apply them. You will then figure out that you need to know more. When you get to 'gotta know more" stage, learn about the limitations, disadvantages. Then for each limitation, research on how the a new work around circumvents the limitation. You are now aware of basics and also workarounds. At this stage, there two paths that can be taken based on your capability:

A. Get into the vicious cycle of learning workarounds of workarounds.
B. Stop learning and start working on unsolved problems

Option B is risky and hence less exercised. If you choose option B, then 'know-why' is any day better than 'know-how'. However, if you excel in option A you will be known as solution architect;-) I am not here to influence your decision making, as my goal ends with creating awareness.

No comments: