Thursday, December 18, 2008

Wednesday, November 26, 2008

Thursday, October 2, 2008

walk the walk, don't just talk the talk...

I have realized that work is mostly about ego satisfaction and fact of life is everyone thinks that their ego is more important than others. So earlier this afternoon, while I was explaining my design of a new migration program to my boss, I almost forgot the fundamental principle and the whole explaining ended up in a big mess, since he had his own idea of doing the same thing. And I had my own. Which unfortunately he came to know from a third person, and thought it was third person's idea I was working on. Damn this communication! It was heart breaking.

Now even after a week's thought and some thousands lines of working code, my almost complete module faces unnoticed extinction. The problem is, boss thinks from his application's point of view and during last week he was on holiday. During that time I started working on the design from my application's point of view and almost pulled the desired result out of it.

Now today, the One came back from the holiday in France & Italy and started designing his own French-Italian way. And his logical process was nowhere near mine.

Since I am the reticent subordinate who never likes pressing his point (even to peers), I have to step back and again write the whole code his way. But, it really doesn't matter, until they keep paying me. Ultimately the truth is, there is no right or wrong design - there is just a working and non-working design. If you keep talking about the design and do nothing about it - it's worth crap. I am just hoping this fellow not only has weird design ideas, but also some experience to give those ideas shape (that wasn't clear from the way he was explaining his 'universal migration design' in that ear piercing managerial lingo). I just hope that he not only talks the talk, but also walks the walk.

Tuesday, July 29, 2008

finanacial freedom...

In a realistic world, total freedom is not possible without financial freedom. Below are the links to some stimulating insight into the subject which troubles most of us blue and white collared employees.

Part 1 : Is Your Job Running Your Life?

Part 2 : Four Rookie Mistakes People Make That Keep Them Poor.

Part 3 : Five Steps I Took That Helped Me Become Financially Independent.

Thursday, July 17, 2008

the text book strategy...

It's been long. I could not understand what to write. When mind is so obsessed with thoughts NOT related to work, then nothing can inspire to write about work. Today, somehow I have shrugged away all laziness and insecurity to try to discuss the basic "don't" of the IT industry which everyone knows at finger tips but still does not follow when it comes to it.

Here is a real life example of a project during its definition phase when the manager from client side asks the manager from vendor's side: "...I would like to know how you will mitigate against the risk of getting to mid August for the start of development and delay to development completion." And the manager (vendor) had this idea in mind - "We will put more resources (people) in case we see project getting delayed."

True story and a typical text book situation.

First of all, if the definition of the project has been done with earnest thought and sensible facts, then such questions MUST not arise. Goal of definition is to understand the need, scope in the possibilities, scope out the undoable tasks and estimate the design. Definition gives a foundation for the start of development.

That does not mean that post-definition the risks are not present. There are known risks for which already there should be a plan in place. Also, there are (sometimes) unkown risks, which arise during the later stages, for which mitigation plans have to be improvised using experience.

But here, the question is - in case the project is getting delayed can adding more resources (people) to it accelarate the progress of the project? Text books always say 'negative'. But I think, it cannot be generalized for every situation. In some cases, it might work depending upon what is delaying the project and which area of the project will be supported by the newly added enforcement. The strategists and leaders have huge responsibility for the success of it in any case.

Tuesday, June 24, 2008

old is bold...

Young Indian IT professionals prefer to get into Mainframes because there are more chances of getting relocated to the client locations and harvest pay-checks in USD’s or GBP’s. But at the same time they are paranoid that their skills will become obsolete soon because one day distributed computing will take over Mainframes. Also, they have this notion that there is no real development work in Mainframes; most of the tasks are maintenance and support. Real development work now goes into distributed or open systems platforms. Is it true that Mainframes is dead or it is dying a slow death?

No. Mainframe is not dead, nor is it dying. To the surprise of all, it is coming back with a new look. It is resurrecting. This article and there are many such essays evangelizing the come-back of Mainframes. Only problem with mainframes (when viewed from programmer’s perspective) is that they are not very docile for the application development. But when viewed from a CIO’s eyes, Mainframes are around 80% cheaper than distributed systems (Total Cost of Ownership) and at the same time very efficient to handle heavy workloads.

It’s true that organizations are trying to modernize their old business critical applications. And in doing so, many of the antique applications are getting re-written into distributed platforms. IBM is investing a lot of time and money in reforming the Mainframes and has already done a lot to bring z series. New AD tools are being developed to ease the application development on Mainframes. One thing to keep in mind here is that applications developed easily might not be the best applications developed.
Meanwhile, change is around the corner. Truth is 'old and weak perish and new and strong survive'. Mainframe is old, but it's strong and has a bright future. But there will be changes in its core working style, which hopefully, will be for the good. As a wild guess, there will be new cocktail architectures – Mainframes and Java, Mainframes and Linux, Mainframes and Eclipse etc. Now, it is up to Mainframe professionals to align their career path with the changing Mainframe environment if they plan to thrive along with the changing times.

Monday, June 23, 2008

whither the Indian IT...

Let me open my mouth with a defensive cliche 'life doesn't like straight lines'. Young, restless and 'virgin' Indian IT professionals are making their way into the new world - which also cannot be in straight lines. This global osmosis of talent, skills and potential is happening slowly - and will remain invisible to the eyes until one day it explodes forth an abrupt result (something like information technology Tsunami) which touches every corner of the latent dice. Until then we can only be part of the change and hang on a little more.

James McGovern has written an inciting blog (thankfully on my request)which gives great insight into current IT scenario in India. It is a must read for every Indian IT professional, in or out of India; especially at the time when yearly appraisals are on along with rising inflation and slowing GDP growth in the country.

Monday, June 16, 2008

small is beautiful...

Quotes from Small is Beautiful by E F Schumacher:

"Education can help us only if it produces “whole men”. The truly educated man is not a man who knows a bit of everything, not even the man who knows all the details of all subjects (if such a thing were possible): the “whole man” in fact, may have little detailed knowledge of facts and theories, he may treasure the Encyclopedia Britannica because “she knows and he needn’t”, but he will be truly in touch with the centre."


"No system or machinery or economic doctrine or theory stands on its own feet: it is invariably built on a metaphysical foundation, that is to say, upon man's basic outlook on life, its meaning and its purpose. I have talked about the religion of economics, the idol worship of material possessions, of consumption and the so-called standard of living, and the fateful propensity that rejoices in the fact that 'what were luxuries to our fathers have become necessities for us.'

"The way in which we experience and interpret the world obviously depends very much indeed on the kind of ideas that fill our minds. If they are mainly small, weak, superficial, and incoherent, life will appear insipid, uninteresting, petty, and chaotic. It is difficult to bear the resultant feeling of emptiness, and the vacuum of our minds may only too easily be filled by some big, fantastic notion – political or otherwise – which suddenly seems to illumine everything and to give meaning and purpose to our existence. It needs no emphasis that herein lies one of the great dangers of our time."

"Man is small, and, therefore, small is beautiful."

"A modern economist is used to measuring the 'standard of living' by the amount of annual consumption, assuming all the time that a man who consumes more is 'better off' than a man who consumes less. A Buddhist economist would consider this approach excessively irrational: since consumption is merely a means to human well-being, the aim should be to obtain the maximum of well-being with the minimum of consumption. . . . The less toil there is, the more time and strength is left for artistic creativity. Modern economics, on the other hand, considers consumption to be the sole end and purpose of all economic activity."

"It is clear, therefore, that Buddhist economics must be very different from the economics of modern materialism, since the Buddhist sees the essence of civilizations not in a multiplication of wants but in the purification of human character. Character, at the same time, is formed primarily by a man's work. And work, properly conducted in conditions of human dignity and freedom, blesses those who do it and equally their products."

"The most striking thing about modern industry is that it requires so much and accomplishes so little. Modern industry seems to be inefficient to a degree that surpasses one's ordinary powers of imagination. Its inefficiency therefore remains unnoticed."

why managers...

CPU’s now run at millions of instructions per second. Size of primary memory has increased manifold. New tools, IDE’s have arrived to reduce the involved human effort. But still, IT projects go on as if eternity has their names written on it. IT projects are no longer as much about the technology as they are about people. When it comes to an IT project - people plan, execute, control and hang around without any purpose. People are the primary bottlenecks in a project which keeps overshooting the planned schedule.

Someone overslept in the morning, did not take bath, missed the bus to office, did not have proper breakfast, someone got late because she had to drop her kid (even worse kids) to the school, someone is struggling with the extra alcohol of previous night – and they are supposed to balance another important aspect of their lives – work. No doubt when there is a conflict between work and non-work life, non-work life takes precedence in most of the cases and consequently work suffers. In a way, people don’t suffer as much because of work as work suffers because of people.

People have now become the most conspicuous bottlenecks in the projects. Interdependency of a project upon different teams, different groups and different skills has gradually distorted the uniformity and smoothness of operations. Coordination between such islands of information/operations remains a challenge. Understanding the goals of every group is a challenge in itself and it represents most of the time actually spent during the project.

There comes the need of a charming handsome gentleman or a beautiful articulate lady to smooth the edges and bridge the gap between the otherwise isolated islands. There is a saying in Chinese that ‘if you don’t have a smiling face, don’t open a shop’ which can be rephrased for the present times as ‘if you don’t have a smiling face, don’t even think of becoming a manager’.

Wednesday, June 11, 2008

P for Process...

Processes are, by definition, the set of rules or standards put forth for smooth operations of a business to achieve desired results. There are bulky documents in every organization containing religiously written texts dedicated to processes. But, the question every process document fails to answer is ‘Why the process should be followed?’ And if this question is coming in the mind of a person who is supposed to follow the process, then it is a sure sign of a budding scepticism that, if left unanswered, can be detrimental for the organization in future.

The standards set by the policymakers of an organization, at any level, are delicate rules of organizational ecology. Meaning, for followers, these standards are not as undeniable as the law of gravity or the laws of motion. Reason - these standards are set up by the rationale of human beings and are very prone to becoming obsolete with changing business practices and within a very short period of time. The law of gravity never changes – so there is no problem following the law, every creature is born with the instinctive acceptance. Just imagine if the gravity was 9.8 N one day and the other day it changed suddenly to 6 N, how much effort it will require for the whole creation to adapt to the new law. Thank God gravity is intact but that’s exactly what happens with business rules; they are prone to fast changes. And changes in business rules give rise to changes in processes.

Process is an essential part of everyday life – be it making chicken curry or launching missiles. For a novice cook, it doesn’t matter whether she puts onion in the hot oil first or the asafoetida. But for a seasoned chef that does make a difference in the resultant taste of the dish. That’s the effect of processes – they reflect the maturity of the profession. But sadly maturity cannot come just by labelling it to the job titles of the professionals. It has to take roots in the vision of the individual, only then can it become meaningful for the individual as well as for the organization.

In words of James McGovern:

I believe that process is intended to "raise the floor" - that is to elevate the minimum acceptable standard across all participants. The process itself is designed to create an output of a particular (acceptable) level or quality. Process is also good for consistency.

Competence is about "raising the ceiling." The upper threshold of what I can achieve is dictated by my competence. As per above, my incompetence can be offset by process (to a certain extent). People of high competence may want to resist process, because it brings their execution down to a lower level than what they are capable of delivering. This creates the tension of "do I have to follow THAT process?"

Process is an organization-wide solution. Implement once and it touches all people (or is supposed to). Competence is an individual-wide solution. It is implemented one persona at a time. This makes it much harder to manage...

Thursday, May 29, 2008

where's my oil...

We are the consumers. We are the by products of life style obsession. We have jobs we hate to buy shit we don’t need…Things we own end up owing us…

Tyler Durden of Fight Club (Directed by David Fincher) inspires a lot of scepticism in me especially, when I am having nightmares of the rising inflation.

I get dreams like I am riding my Pulsar and suddenly the fuel is over in front of a petrol pump but five kilometres away from home. How cruel! When my monthly fuel budget is already in deficit, I can no longer afford to buy petrol unless I realign my food budget which, too, is about to dry up because of rising food prices. I have to push that 140 KG of machine all the way to home, or better sell it off. When I am about to sell my beloved stead, suddenly I wake up and realize that I am currently in London, far away from the whirlpool of rising prices, but only for a short time.

Prices are rising. Not only in India – everywhere. Indians abroad are wondering why they are not able to save as much foreign currency as they used to a couple of months ago, while Indians in India cringe when they hear rest of the world (Ms Rice) say that hike in food and oil prices is because of the rising demand in India and China, which in theory is true though not the complete answer. One - USA’s bio-fuel programme is turning the grains into fuel and more here.

We (emerging market citizens and developed country citizens) are not doing that bad anyhow. Only our savings are not that much we can boast any longer. Worst hit are those countries where food is the indispensable commodity – the third world. Prime Minister of Haiti resigned when he couldn’t do anything about the rising food prices and about the rioters shouting slogans of ‘We Are Hungry’. Many got killed in Mexico riots. Army is guarding the paddy fields in Africa. Military is baking bread in Egypt. And to make things worse oil is touching $135 per barrel which is not at all a good price, not because it is high, but because it shows an alarming shortage of oil. Such sharp economic turns change the course of future, leaving layman in shock.

In theory - inflation is caused by either of the two shocks – Demand Shock or the Supply Shock. Demand Shock, as the term sounds like, is a sudden sharp increase in the demand of a commodity which drives the price higher, which is most conspicuous in the housing markets in booming times. Supply Shock is when there is a sudden drop in the supply of a commodity with an unchanged demand, like in case of oil prices.


People say ‘problems never come alone’. India was celebrating the Sensex touching 21k at the beginning of the year. Then suddenly the weather changed from sunny to cloudy to very cloudy and now it seems it is about to rain (if not pour). Elections are approaching, Gujjars are whirling their sticks around in Delhi, commodity prices and crude oil prices are rising. Now this is a really tough challenge for a government, which is interested in coming into power once again. Let’s keep fingers crossed for the best greater good and pray that our policymakers will see an opportunity in this problem instead of burying their heads in the sand like an ostrich to later blame each other and some invisible ghost. And everyone will be left wondering where the oil went.

Wednesday, May 28, 2008

poor programmer...

Problem with the application programmer’s job is that no matter how hard I work and how smart I am, I can never become a mass celebrity or win a noble prize or a Bharat Ratn, Padma Shree or Padma Vibhusan. I am the meek supporter of a bold economy. I am the wistful spectator of a celebrity world.

I mean, a programmer cannot reach out to the people of this world. A journalist writes an article and hundreds of people read it and make opinions about the world. A programmer writes a program and nobody but the compiler understands it, and years later if someone actually dares to go through the source code (which is like the junkyard of a programmer's irrational thoughts), the poor programmer’s soul gets all sorts of critiques and curses, whereas a journalist receives the Pulitzer Prize for his years of service to the world, or even gets the Best Critics Award of the Year!
In a group of people of different professions, a programmer appears like a laid back citizen of an undeveloped world, an unevolved civilization. That’s the problem with the world of programmers. We don’t have role models. If one wants to become a great journalist or a sportsman or a politician s/he has role models like Thomas Friedman, Christiano Ronaldo and George Bush. But if one wants to become a programmer – there is nobody, everyone is on his/her own on the road to perdition.

But it is good for unambitious people who don't seek fame and celebrity status, those outcast self proclaimed geniuses who want to live unknown to the world of natural human beings and go as the tiny footnotes in the pages of history.

Tuesday, May 27, 2008

evolution of a programmer...

To Quote Edsger W Dijkstra

If something goes wrong in the field of Physics or Geology or other natural sciences you can blame the nature. But if something goes wrong with your program you cannot blame anyone but your own brain.

An IT application generally evolves like a human civilization until the technology is able to support the changes in business environment. Once technology is no longer able to support the business, it becomes obsolete.


Consider this – the application I work on, was built some decades ago using CINCOM’s rapid application development tool called MANTIS. Those were the times of mighty mainframe machines, and elegance of modern day servers and MVC architecture was only in the visions of computer engineers. MANTIS is a straightforward, down to earth tool with hardly some twenty commands and an inbuilt compiler which sits on CICS. One of those tools, which experts say can be mastered in two hours. It has no inbuilt garbage collection or exception handling, and front end is very unfriendly compared to today’s sleek and funky JSP. You have to write some 100 LOC to implement the page logic, there is nothing to scroll. There are no date operations like Oracle. What the redundancy of code means becomes very conspicuous when one looks at the source code. On and all, MANTIS is now obsolete given the pace with which business is changing. It is full of known bugs, which can no longer be fixed. So the business is gradually making a shift towards Siebel CRM. Eventually, I have to start looking for a job elsewhere.

When a new person is inducted into the application, given the attrition rate of the ambitious people, the first question s/he asks is ‘Why don’t we write the whole code in J2EE again?’ That’s a valid question, and a smart, futuristic proposition. Who wants to listen to a gramophone record in the times of iPOD nanos? But consider this – you bought a gramophone record somewhere in 70’s and since then you have been collecting the records religiously like a music aficionado. Now you have a library of thousands of records, which has eventually developed an emotional bond with you. You can’t just throw away all of them and buy one 100 GB iPOD nano and download all the songs from Apple’s music store. Business, too, has this unrealistic attachment to the obsolete applications which, though highly inefficient compared to latest technology, give correct results. You cannot expect them to shift immediately; it is a gradual evolutionary process of business transformation which promises exorbitant jobs for enterprise architects.

Moreover, hardly there will be a business which runs on a single technology. Mine, runs on Mainframes, J2EE, VB, and all of these talk to each other through another middleware technology called WebSphere MQSeries. Ideally it looks like a stupid mess from neutral perspective, but for a support provider it is a blessing. Support providers are always in hunt for bugs which they can fix to bill their clients.

Conclusion: When looking/working at an application it is imperative to understand that application is not just the lines of code or the number of java classes. It holds in itself the history of how business rules have evolved, the frustration of restless programmers, the limited knowledge of overqualified application architects and ignorance of pandemic project managers.

Thursday, May 8, 2008

money... my take...

Often, I am bedazzled by the concept of money. From simple barter of things to complicated derivative instruments - we have covered a long way across the evolution.

Once upon a time, two cows were bartered for one ton of barley, one acre of land for three beautiful wives and three silver coins for a sumptuous supper at a place where naked damsels served the food.

Today, the barter has become so complicated that without having an MBA in finance, it is almost impossible to understand what is being bartered against what. Consider this - 'X' bank gives loan to its customer 'Y'. The bank received that money by selling equity stocks in the financial market. A mutual fund bought those equity stocks in hope of making profit, and also hedged the losses by signing some derivative contracts which were sold by some foreign investment bank. There is no wonder that customer 'Y' himself invested in the money in the same mutual fund which bought the equities from the bank which helped the customer to procure the loan. Now, you call that the messy barter.

Still, simple barter does exist. 12 INR for a glass of juice, 99 INR for a pair of allegedly 'imported' sunglasses, £1 for a bottle of orange juice, $1 for a diet coke. But then, £1 is traded equal to INR 80 and $1 equal to INR 40 in currency markets. George Soros, made $1.1 billion on September 16, 1992 by short-selling $10 billion worth of pounds. Now, you think that's simple?

No, it's no longer simple. Different people have different views about money based on their education, culture, upbringing and last but not the least 'how-much-of-it-they-already-have'.

There are worldly, practical, realistic people who think that money is everything, money is power etc. Also, there are poetic, idealist and dreamers who think that money is not everything, and they even go to the lengths to saying that money is the root of all evil, or even money is evil.

I say - both of them are wrong. First kind does not understand the aesthetic sense of money, and the second kind misunderstands its beauty. Money has power, no doubt. It has power to purchase things. But how that power gets exercised, depends on the most complicated organ of human body called brain.

While spending money, we make choices. Those choices depend on our personal values, which we develop throughout our lives. Consider this situation where there are two guys 'A' and 'B' who are given 50,000 INR each to spend. Now what will they do with that?

1. 'A' buys a multifeature mobile phone with 50,000 INR and person 'B' puts it into her savings account and forgets.

2. 'A' buys a multifeature mobile phone and person 'B' after seeing 'A' also buys a mobile phone.

3. 'A' and 'B' collaborate and invest their 100,000 INR in a new business.

4. 'A' goes to a pub and throws a party to his friends. 'B' buys some mutual fund.

Anything is possible.

We have unlimited wants, but limited resources. Based on this and our predilections we make choices of where to apply our available resources and which wants to satisfy. Economics is the study of this, at individual level (micro-economics) and at country/industry level (macro-economics).

prelude...

One day, when I was bored to my bones, a thought clicked in my brain and said that education has ruined my life more than it has made it. I still remember that Alexander the Great invaded India somewhere around 326 BC and died somewhere around 323 BC, ‘x’ is the capital of ‘y’ country, ‘d’ is the head of ‘w’ state, ‘d1’ is the date when ‘t’ was born and ‘e’ died on date ‘d2’. Apparently my brain, overloaded with unnecessary information, is now struggling to find some space in its intricate anatomy where it can process the information it has and make sound judgements. I mean, what do I care if Aurangzeb levied taxes on Hindus on 17th of February 1655, or Mahatma Gandhi died on 30th January 1948? Sadly, the educational system I grew upon was mal-designed to judge a person’s memory and ability of retrieve the information from his/her brain instead of sharpening his/her intellect and strengthening the ability to infer from what s/he knows.

So, I thought I will re-educate myself all over again. I decided that it is imperative for me to know something of everything and everything of one thing. But it is difficult to unlearn certain things, and those things prevent me from learning the right way. Because most of the time I have suffered from not knowing what I really wanted, I dared to choose Economics and Computer Science to be the ‘one thing’ and ‘everything’ remains everything like political science, sociology, driving, swimming, psychology, combat, management, finance etc… Strangely, everything interests me now, when there are no exams which judge me against some stupid definitions and dates.

Till now, I have been putting all the noise of my brain here. That's moslty unstructured and random, as the life is happening to me. That randomness will continue along, and now I am attempting to structure my way through life as I learn and evolve.