Monday, October 17, 2005

Hands, imagination and marketting

Without a mechanism to use our primitive form of imagination it would not have evolved into creativity. Thus, in our intellectual evolution hands are just as significant as the size of our brain. Things have not changed very much from the early days. A scientists in software development needs to enhance his/her imagination by writing code.

The use of imagination without practical experience has promoted us to the level of rival to nature in creating disaster. Nagasaki and Hiroshima are man-versions of Sodom and Gomorrah. Indeed, much to the luck of Neanderthal we destroyed them before learning to tame animals. Otherwise, our imagination would have made the Neanderthal to put the Pyramids together.

It was our imagination that helped us learn about disguise and deception in hunting, from animals and insects. However, instead of the term lie, we use more dignified nomenclature when referring to various forms of linguistic deceptions, such as politics, marketing and in some cases, doing business.

One form of marketing technique is the invention of new terms and acronyms. The intent is to create confusion and guessing. Once an adopter has made the correct guess he/she is already hooked, usually without the possibility of reversing the damage.

Some adopters never believe that they have made the wrong choice. Instead, they assume that their engineers are not good enough to understand the Enterprise Edition of some useless technology. In fact, they even make their engineers work longer hours and perhaps all 7 days of the week.

In most cases this marketing technique works like the King’s New Clothes. You only realize what has happened when it is already too late. It is not a good strategy to actually pay for a technology and hire people that claim to have the skills to use it. Instead, have your senior engineers make a reasonable prototype using the technology before you pay a dollar. Why should you take any risk based on a promise from a bigger company? Will they help you recover from your loss?

On the other hand, there is little risk associated with a technology, such as C++ that has been used for many years and by many software development companies. The danger is in choosing third-party libraries, which is an acceptable form of outsourcing.

The measure of lower risk associated with a third-party library is a combination of customers using it, as well as the number of engineers working on it. The management team is an irrelevant factor for your purposes. Greedy companies dismiss their senior engineers for a larger profit for the management. The few low-paid junior engineers maintaining the library are stretched way beyond their limits.

A software company is identified by the education and experience of its software engineers, not the list of management posted on their site. In particular if all the original senior developers have been dismissed, the product is on its steep descent towards death.

If you are going to pay for a technology to help you develop software, make sure that technology is still in the hands of engineers, not the management and a team of salespersons.