Ravi Mohan's Blog

Friday, March 31, 2006

The Storm Before the Calm

As of May the 6th of 2006 (the final day of the Agile India Conference, where I am speaking on "The Design And Implementation of Robotics Languages"), I am completely abandoning all connections to the "offshored software" world. No more agile/extremeprogrammng/tdd, no more j2ee, no more "offshore teams" delivering "superior business value" using "best practices" crap.

Paul Graham said,

"If it is possible to make yourself into a great hacker, the way to do it may be to make the following deal with yourself: you never have to work on boring projects (unless your family will starve otherwise), and in return, you'll never allow yourself to do a half-assed job. All the great hackers I know seem to have made that deal, though perhaps none of them had any choice in the matter."

Now whether I am or will ever be a "great hacker" aside, "you'll never work on boring projects, and in return, you'll never allow yourself to do a half-assed job." seems a fantastic principle to live by (it helps that I don't have a family I need to keep above the starvation line - Oh the blessed joys of bachelorhood :-) ).

Once you cross the age of 30, you are in the second half of your life. It is horrible enough that I spent one decade caught up in the "offshored software" paradigm. One decade - think of it and weep. A decade of dedicated practice would make you world class in anything you choose. One could be a world class athlete, musician, martial artist, dancer,writer, film maker... whatever! And I spent it writing "plonk this data off a database and put it on a set of dinky webpages" systems.

Shakespeare got it right when he made Macbeth say "And all our yesterdays have lighted fools, The way to dusty death."

And it is a very seductive bargain - in the beginning - money for nothing, multiple trips abroad (ignoring the fact that you are roughly in the position of a Sepoy in the Old army of the British Raj, occasionally sent abroad to shed your blood in the Empire's mysterious wars), all the trappings of a "successful" life. Time blurs and you wake up to find yourself either a second grade "project manager" type implementing commands from across the seas (and trying desperately to convince yourself that you are now in a superior position compared to the lowly blue collar techies, having forgotten what little you knew) or yet another burned out "techie" having no skills beyond "j2ee" or "perl and php".

Spending any more time in that world would mean I am frittering away what remains of my life. The Red Pill came just in time, methinks.

The number of genuinely good programmers and the amount of true innovation in India is astoundingly low, for all the talk of being the "21st century superpower". The "pseudo geek" profile many people unwittingly take on is very low on substance and very high on deception.

But it is not all doom and gloom. The less something exists, the more the opportunity to create it.

The mistake,I've found, is in thinking, like many Non Resident Indians do, that "I'll go home next year (and meanwhile, endure another year of meaninglessness)". Of course "next year" never comes. If one plans to "go home", the time to do it is right now.

From Snow Crash,

" Until a man is twenty-five, he still thinks, every so often, that under the right circumstances he could be the baddest motherfucker in the world. If I moved to a martial-arts monastery in China and studied real hard for ten years. If my family was wiped out by Colombian drug dealers and I swore myself to revenge. If I got a fatal disease, had one year to live, and devoted it to wiping out street crime. If I just dropped out and devoted my life to being bad."

I am way past 25, but "devoting my life to being bad" sounds good anyway.


Anonymous said...

Nice Post! Shakespeare, Paul Graham, Neal Stephenson. Who will you quote next? Milton?

Ravi said...

"Who will you quote next? Milton? "

Your wish is my command

"Said then the lost Archangel, “this the seat
That we must change for Heaven?—this mournful gloom
For that celestial light? Be it so, since He
Who now is soveriegn can dispose and bid
What shall be right: farthest from Him is best,

Whom reason hath equalled, force hath made supreme
Above his equals. Farewell, happy fields,
Where joy forever dwells! Hail, horrors! hail, 250
Infernal World! and thou, profoundest Hell,

Receive thy new possessor—one who brings
A mind not to be changed by place or time.
The mind is its own place, and in itself
Can make a Heaven of Hell, a Hell of Heaven.

[Paradise Lost]

Anonymous said...

If you have enough money, no dependants and a cushion to fall back if things ever go wrong, then YES, whatever ravi said is right. But if you are starting your career, have a very small pocket and nothing to break your fall, plug your ears and don't listen to ravi. :-))

Ravi said...

Good Point :-) of course whatever was siad is *my* perceptions and conclusions and may not be applicable to everyone. (of course)

Anonymous said...

Joe, Ravi, allow me to quote John Lee Hooker I'm baaad ... like Jesse James :p

Anonymous said...

Ravi I totally agree with you. What I feel is that we are human beings and we have tendency to "Get Bored" after some time..you can surely give credit to this "bored" factor for half assed job done..another point I have is that in your job you might have 20% interesting work and rest 80% you really don't want to do..but thats how world is..to do that 20% interesting work..you have to do 80% boring job...
But what I always think..whatever I do that "is it really helping this world to move faster"..though it is through dingy webpages..."It Should Have Impact"

Manoj Govindan said...

"to do that 20% interesting work..you have to do 80% boring job..."

I do not know if this statement is universally true; but I would swear that this is a myth perpetrated in particular in the Software Services Industry. Most often the theme takes the form "we have to endure [painful chore of the moment] to do [allegedly 'enjoyable' work] later". Specific examples of the two variables that I have come across include:

1. CMM/Quality/PCMM paperwork -> "better estimation " and therefore "shorter/better" working days that can be spent on "coding"
2. Focus on getting/working for years on atrocious maintenance/support projects -> impress the client to get "path breaking" "development" projects that are in "the near future"
3. As a team leader, pass on deliberate lies/half truths to long suffering "juniors" -> to keep up "optimism" and improve "bonding"

I for one stopped pretending some time ago. To claim that the multitude of coding dudes working for software services companies are doing "interesting work" is like claiming that every fast food vendor employing child labour selling sub-standard, uncooked, overpriced food to customers (who have money to spend, are not sure if they are hungry, and if so what to eat, and couldn't tell low grade poison from caviar) is "feeding the world".

"But what I always think..whatever I do that "is it really helping this world to move faster"..though it is through dingy web pages..."It Should Have Impact""

Once again, I beg to differ. In my 6+ years of work, I have come across several projects that had "dingy web pages"
(and decent web pages for that matter). I can count on my right hand the projects that actually made the lives of the customer and user anywhere "faster" or "better". And in all these cases, someone else could have always given them a similar or better solution for a cheaper price - if the said someone could be interested to do the work.

Anonymous said...

Manoj..sorry to say that but I see a typical "service oriented software company" style which is binding you to understand other's view. Always thinking in terms of "Client" , "Support" , "maintenance" is not good..

And as Ravi said "of course whatever was said is *my* perceptions and conclusions and may not be applicable to everyone"


Journeyman said...

To quote from a Hindi gangster movie called "D Company", there are no bad jobs (or tools), only bad workers.



It is good to see that you are slowly finding your path.


Ravi said...

"there are no bad jobs (or tools), only bad workers. "

this is the kind of bullshit people repeat endlessly when stuck in terrible jobs! Of course there are bad (and good ) jobs (see manoj's comment above for a good exposition of such self deception) and goiod and bad workers.

As to "finding the path" well the problem is (as always) not so much finding the path as walking it :-)


Ravi said...

"there are no bad ..tools"

bwaaaaa ha ha ha haha ha ha ha haa!!!!!

"no bad tools"

ROTFL !!!!!!

I'll die .....

Journeyman said...

Time has not mellowed your tendency for entertaining, acerbic retorts.

A Ph.D in Math married with a Master's in Philosophy will arm you best to soothe your angst about the world's inconsistencies.

Ravi said...

"A Ph.D in Math married with a Master's in Philosophy will arm you best to soothe your angst about the world's inconsistencies."

What rot! And what a weak argument.

Let us try some of the same kind of reasoning.

"Seeing how some folks with double masters conduct their lives is lesson enough thanks"

See? it is easy to make personal (and unsubstantiated, weak) attacks but they don't carry an argument or point of view forward.

If you have something to say, can the attempts at juvenile humor (especially on other folks' blogs).

If you believe the existence of bad tools is some kind of myth, you haven't worked in the software industry (or in the real world for that matter) .

Also beware of projecting one's feelings onto others and/or reading emotions into other's prose where they don't exist.

Above all, be aware of the words you use..

Angst? yeah right. learn to read.

Ravi said...

"wayfarer" is someone I know personally, hence the detailed reply. People I've known for years are treated more gently (;-)) and are cut more slack than usual!

"Wayfarer" is hardly a nincompoop. He is a very bright kid (and an old friend of mine) who needs a few whacks around the head when he strays from intellectual rigor :-)

I do delete ill thought out comments as a rule.

I have no problem with people who disagree with me but I do expect a well reasoned argument.

Also, please let us eliminate the notion of blog readers calling other blog readers names.

At least do it on your own blogs not here.

Ravi said...

Joe, "wayfarer", I have seen "second round" comments from both you but I choose not tpo publish them here.

Comments on this entry are now closed. Both of you, ping me when you get online. Thanks.