Outsourcee

This is the other side of the story. The other side of all those jobs that disappeared from the US of A, the ones people debate over endlessly on Slashdot. I'm one of the people who do those jobs. When I read those debates on Slashdot, on CNN, on the Indian Express, I wonder if they know what it feels like to be the guy who's taken those jobs. Here's what it's like...

Name:
Location: Karnataka, India

My writing tries to do the one thing I'd like to be able to do : Express emotion in the restricted vocabulary of language. Besides that, I find I'm an outsider to the human world, constantly trying to catch and analyze thinking patterns, adding them to my psyche when I can.

Monday, June 13, 2005

Giving back

There is a disquieting story in a recent Indian Express, about how seats in Engineering colleges are being reduced for lack of faculty to teach them.

This brings up two issues in my mind: Quality and Quantity. Of the faculty, of course.

Traditionally, Industry and Academics in India tend to look down on each other. Your average professor or Ph.D student would scorn the idea of actually doing the work which an engineer in a company would do, and the engineer would think the research student is only doing research because he couldn't get a job anywhere. Both stereotypes are partially true, in fact. But it didn't matter, because the demand for teaching faculty in the colleges was much less than employable engineers in industry. And the subjects which the faculty taught moved slowly enough that it was possible to wait till the next editions of textbooks came out and were incorporated into syllabi.

None of these things are true for software in India. Actually, none of those things are true for any engineering discipline in, say, the US, but research and innovation was such a low priority in Indian industry that it used to be all right. But for software, the field is intrinsically fast-moving, and besides we have this sense of really competing with the world here. Hence the interaction between academia and industry is more in this area. In order to sustain the growing demand for software folks, more and more teachers are required - teachers who know what the latest technologies are, who know the hot research topics and the newest theoretic trends.

And this is where, for some time now, the Quality issue of college faculty comes in. From personal experience I can say that the vast majority of people who teach computer science are not up to date with what is going on in the industry. The feeling of inferiority persists - people who can gets jobs programming take them, the ones that are left, teach, feeling they have no other option. I don't include professors in the absolute top institutes - IITs and their sort - but the average college which produces the bulk of the programmers for the IT companies. Since the teachers are not up to date, neither are the students. I remember a particularly inept Databases teacher who brought printouts of Oracle command manuals and dictated them to us as notes. All of our class ultimately learnt databases by ourselves, and then did some fast learning when we were recruited.

If our current crop of teachers is this bad, how are we going to get more of even the same quality, if we want to produce more engineers? Something tells me we're already dredging the bottom here.

A good friend of mine, something of an activist and a brilliant engineer besides other things, took it upon himself to help. He went back to the college he graduated from and offered to teach a subject for a semester. Together with one of his classmates, he went every week to his alma mater and taught the subject to his juniors. He had the benefit of having actually used the subject in his job, so he knew what he was talking about. The exercises he set were practical, the problems were real-life situations he'd faced. He knew which books were really useful.

The net result was that that particular batch learned the subject from a real expert - or atleast someone who really knew the topic. All the classes were packed throughout the semester, and the experiment was a real success. Subsequently, people from that batch came back from their jobs to teach their juniors, too.

It only takes a little bit of effort to solve a problem. You, dear reader, fellow software engineer, have learned a lot of things after you graduated from college and began working. Wouldn't you like that the people who come after you don't have to struggle as much? Wouldn't you like it that the new trainees in your company pick up things quickly, and that they know what's what, right after joining? How much effort does it take to solve the problem reported in that IE story? If not teaching for an entire semester, you could take on a final-year project for your juniors. If not that, you could create web tutorials and question sets and pass them on to someone at your college. If not even that - well, any little bit would help - you know best what can be done.

Friday, June 03, 2005

See a need, fill a need

A visit to salon.com after quite a while got me this interesting article : The world in the iPod. The writer talks about how chip fabrication units in China are taking away business from American units. There is talk of a "Golden Triangle" : Architecture in the US, Coding/design in India, Fabrication/Assembly in China.

Unfortunately, the conclusion that he comes to seems wrong :

This shift has some people very worried -- and they are not just out-of-work engineers. They fear that advanced R&D follows the physical location of production. If you are a cutting-edge engineer interested in working with innovative new techniques for chip manufacturing, you will be drawn not to Silicon Valley but to the scores of brand new fabs being built in Asia.


The bit in bold (emphasis mine) is the core of the argument, and it is totally wrong. The correct version would be : Advanced R&D follows markets, not production. It's the old principle of "see a need, fill a need" that drives the creation of any successful businesses.

So, for example, the only sort-of successful products made in India are the myriad banking solutions which are deployed all over Indian banks : because those banks were in a position to buy the software and be immediately benefitted by its installation.

What does it mean for us, the Indian programmers? It gives us a vague timeline for when a successful product market can be created here. If we look over what kinds of products would do well here, we see that consumer electronics - especially mobile phones - is the one burgeoning field - far more than any software industry. Today if you write a little app that helps/entertains the Indian mobile phone user, you'll have a winner on your hands. Note the meteoric rise of the "SMS your entries to 8888" type money-making schemes. Note the dozens of ringtone sellers. Write a codec that'll show amazing video on a mobile phone and see the queue of serive providers at your doorstep.

The only part of the software industry that seems to be doing well in India is the Educational software area. Every large bookstore has a shelf full of these CDs now.

But try to make a high-performance Email Server or office suite here. See whether anyone at all is interested. Unless it's something dramatically suitable for the Indian market, it won't sell. The computer software industry in India lives off the US and European markets, not the Indian.

Even though so-called product companies are coming up in India, the software products they make are built for the US markets. Those companies can get wide-based support only if there is a local market - even if niche - for the products. This requires higher computer penetration, mainly.

The good part is that all this is already happening - more and more computers are being sold, and more and more industries are getting interested in computerized solutions for their business practices. It's a matter of time.