Culture, programming and technology

The global nature of the Internet offers an interesting insight into cultures around the world. As an observer, you may want to focus on the positives or the negatives.

For example, the Tokyo Stock Exchange just suffered two embarassing glitches in their software and electronic systems (see “Tokyo Exchange Struggles with Snarls in Electronics” – New York Times).

An excerpt:

In a hastily called news conference late Sunday evening, the exchange’s president and chief executive, Takuo Tsurushima, admitted that a failure by the exchange’s computer system was also at fault. Previously, the exchange had squarely blamed Mizuho, saying that the brokerage had not only botched the trade order but also had made an error as it tried to stop the order.

But Mr. Tsurushima also made reference to a glitch on Nov. 1 that froze trading on the Tokyo Stock Exchange for all but 90 minutes of an entire day, an unusual and embarrassing mishap for one of the world’s top bourses.

“I feel a heavy responsibility for having caused turmoil in the market twice in such a short time,” Mr. Tsurushima told reporters. He said he might resign, a customary gesture in Japan to take responsibility.

So, the Japanese take responsibility very seriously, seriously enough to consider resigning their positions or taking a pay cut as punishment. Obviously, some engineer somewhere in the Fujitsu ranks made a mistake. His management were more than ready to take the blame. I need not add that the Japanese are highly regarded for the lowest error rates in their software.
I sense a widespread trend amongst many American technology employees to prop up Indian programmers in general for a dressing down.

Take these comments below (original story “Competing to work for Microsoft” – Slashdot). The original story is about the Microsoft programming competition in India. The winner gets to work with Bill himself.

Give me that guy’s code, and I’ll find at least a dozen things in it that are pretty much fireable offenses in any reasonably disciplined dev org. During my time at Microsoft (5+ years), I’ve known no less than 50 Indian SDEs (MSFT jargon for software developer). Only two of them could write what I’d call “good code”. One of these two was a freakin’ genius, but I digress. I don’t know if it’s cultural or not, but it seems that Indians are predisposed to writing horribly convoluted, unmaintainable cut&paste garbage (sorry, I can’t call _this_ “code”). For most of them, if it works _somehow_ means it’s good enough. If it were up to me, half of these folks (not just Indian, of course) would be gone and the rest would be scared of checking in atrocities they check in right now for others to rewrite later.

And the thing is, the culture at MSFT is such that you can’t just email into dev team alias and say “this is crap, and this needs to be rewritten”. You’d “hurt people’s feelings”, which will affect your yearly review, pushing it towards (or below) 3.5 grade, for which you get bonus and stock grant that may or may not cover the cost of living. So folks just shut up and suffer.

BTW, this is not a racist or anti-outsourcing rant. Test folks in China did (and no doubt still do) a stellar job. I’m just puzzled that Indians fuck up so badly time after time. If you guys are reading this, you’ve got to realize that sooner or later it will become clear to the higher ups that company money is better spent in China, despite pretty shitty English that Chinese folks speak.

How is this not a rant against Indian programmers in general, or not racist in nature? When did dev orgs start firing people they hired for the code they write? The comment promotes the assertion that if your Indian, and your a programmer, you probably suck at programming. But isn’t the real issue the culture at the authors company that does not promote self-improvement? Is it not a problem that Microsoft is hiring people who can’t write code in the first place? At least give them an opportunity to improve? No, of course not, the author intends to conclude that the programmers country of origin is an issue here. Does it piss me off to see that Slashdot condones such a narrow, misdirected view? Yes, it does.

Someone followed with comments that came closer to appropriating the blame:

I totally agree with you but I think your aim is a bit off. I do not see the engineers from India as competitors. I see it as my managers just gives my job away to anyone they feel like. If my manager does not value my competence there is nothing I can do about it.

The company I work for outsource projects to Wipro and TCS. The thing that is strange is that any person they send is automatically accepted as an engineer without any tests or screening what so ever. Ofcourse this is now being abused and I am now seeing 24 year old graduates arriving into mission critical projects.

The problem is that management is seeing software development as hard as digging a ditch. You just give anyone (preferebly the cheapest one) a shovel and off he/she go. The thing that is most funny is that in the company I work for it is all based on a lie. My manager plus a senior manager I spoke to 2 days ago claims that I cost 4 times as much as a resource from India. This is not true. What they are comparing is my funny money internal cost with the real fee from Wipro or TCS. What I really cost is 1.5 times. (+ the cost for my office) Of the cost for my salary the Swedish government is taking 55% and when ever I buy something I pay around 25% sales tax. (Food is 12.5% and taxi/bus is 6%) so in the end I might earn LESS than my Indian counterpart.

I want to finish off my rant with a quote from a management book, Object Technology – A Manager’s Guide. Page 11. I think this quote explaines quite well managements view on us software developers. “For most business people, polymorphism is so obvious that they have a hard time seeing what is so special about it”

He is right to a certain degree – the process of outsourcing to India should not worry the good Engineers in the U.S. In the majority of shops in India, mismanagement (in outsourcing shops) is possibly the rule rather than the exception. New Engineers are often inducted without sufficient training. However, I will also point out – don’t be so condescending as to dismiss all Indian Engineers as incompetent. The ranks of the smartest at Microsoft are replete with Engineers from India. People of Indian origin, or with education from India count themselves amongst eminent scientists and businessmen in the technology area. They have worked hard to get there.
I promise you, the code written by this guy who will win this Microsoft competition will blow your socks off. Next time you see some junior developer write poor code – don’t blame his country of origin. Criticise him, give him an opportunity to improve, display some maturity in thought!