Wednesday, November 29, 2006

4 Challenges of Offshoring Your Web Development

Today I had a conversation with a client in which he told me about his frustrations trying to get quality web development done overseas. The lure of ultra low-cost development is definitely powerful and I certainly read plenty of success stories in my business magazines.

So why isn’t it working for my client? Why hasn’t it worked when my company has tried it? I’m not certain I know all of the reasons, but I have a few ideas at this point.

  1. Type of project

    It seems like most of the success stories I read involve mid- or large-sized companies who have a web development need that is consistent and predictable (same thing over and over). I am not personally aware of any small companies who’re having great luck with small, one-off projects.

    If a project is sufficiently long to absorb some of the training costs of bringing a foreign team up to speed, I think the odds of success go up. Working on a small project with an overseas team can be pretty inefficient. There isn’t adequate time to work through communication issues, train the developers on the unique nature of your project, etc.

  2. Quality of requirements sent

    In defense of programmers everywhere, and specifically those who’re offering overseas outsourcing in this case, most clients give pretty crappy requirements. I’ve seen everything from the proverbial napkin-sketch to a bulleted list of 3 or 4 requirements and been expected to accurately estimate and deliver a finished product from this.

    Whether in or out of the U.S. the amount of detail a programmer needs to do his or her job is always more than a client thinks should be the case.

    The problem is severely exacerbated in overseas development due to the issues inherent in cross-culture, cross-continent communication. My team is exceptional at “interpreting” clients’ requirements but even we find it challenging.

    I believe your odds of success overseas is, in part, related to the quality of the specs you send.

  3. Actual quality of work and skills

    This is the one that has me most concerned. I’ve honestly never worked with an offshore developer whose skills matched or exceeded those of my in-house developers. My programmers are better every time. More expensive? Yes, but I believe quality matters too much to accept sub-par work just to save some dough.

    I think there are definitely situations where “good enough” does the job, but our clients are very detail oriented and the quality of our work is crucial to our reputation. Additionally, our clients bring us a very wide variety of projects so we’re often working with new technologies and pushing the limits of our skills. I need developers whose skills are current and who can solve problems they’ve not yet encountered.

    Even with the “simple” stuff we’ve been sorely disappointed. We recently spent a significant amount of time trying to hire a few overseas programmers who could take website design files and slice and program them. We advertised for expert-level programmers and were willing to pay a premium to find them.

    The experts who applied had 2-3 years experience and were mostly Dreamweaver and FrontPage users. Not one of them was capable of writing clean, semantic markup or creating tableless, CSS-based layouts. The discrepancy between the design file we sent and the “finished” website that was delivered was shocking in every case. Not even close.

    I maintain hope that there are actually some high-quality programmers somewhere out there. Maybe some of these skills are just still too new? Maybe the overseas programmers will eventually catch up?

  4. Communication

    There probably isn’t much controversy on this subject. Communicating with a team in Asia means being up in the middle of the night. Worse, it means work that needs to be done ASAP isn’t possible and change-orders to a delivered project might take a day or two, due to the time zone differences.

    I’ve read with interest about outsourcing options springing up in Central and South America. Most countries there are within a few hours of any U.S. time zone so this is much more reasonable. I haven’t tried any firms there yet but I’m hopeful that at least the time zone issue can be crossed off the list of problems!

    In addition to the time zone issues, cultural and language barriers also exist. English spoken with an accent over a Skype connection can almost sound like a foreign language.

    Again, for long-term projects or relationships I think communication issues can be resolved.

I’m still holding onto hope that I may have a successful experience at some point, but I’ve also accepted the possibility that the types of projects we do and the level of quality we need may not be achievable.

I’m interested in hearing about your experiences outsourcing to overseas firms. What challenges have you faced? What secrets to success have you discovered?

Friday, November 24, 2006

The Difference Between Big and Small Companies

Roughly speaking, the first half of my software development career was spent in, or consulting for, Fortune 100 companies.

The last couple years I've been working in mostly small companies. Here, in a nutshell, is how I see the difference between the two basic environments:

In a big company it's often hard to figure out who knows the answers to the questions you have.

In a small company, it's obvious who has the answers to the questions you have, but they're too busy on 5 other projects to help you.

My 5 most used free utilities

With Microsoft's release of ProcessMonitor, the next version of SysInternal's FileMon, I thought I'd share the 5 free utilities I use most often in my day to day programming.In no particular order (and I realize there's nothing original in my list):

ReflectorReflector is a "class browser", which pretty much it let's you look inside .NET assemblies and figure out how they work. Recently I used Reflector to uncover a [possible]

threading bug in MySQL Connector/NET. I also looked inside the SynchronizedQueue class to see exactly how it worked (yes, it was obvious but I wanted to make sure).

FiddlerFiddler is an HTTP Proxy aimed at helping you debug HTTP requests. It's particularly useful at Fuel because we work with a lot of different data protocols over HTTP. Of the 5 tools, it's probably the one I'd be most screwed without :)

FileMonFileMon is one of those "last resort" tools - you don't use it often, but when it gets to the point where you need it, it comes in really handy. FileMon monitors file/directory access, so it's great when you think their might be permission issues or missing files.

Snippet CompilerLately I've been using SC less often, but it's still pretty handy. SC is a mini-IDE which lets you quickly compile C#/VB.NET code and run it as a console application. It's great for testing small chunks (snippets) of code.

Visual Source SafeI know a lot of developers hate visual source safe. For the most part I agree with all of you. The truth though is that any source control is better than none (ya ya, not if it corrupts your repository). If you can, consider buying the relatively cheap SourceGear Vault or installing the free Subversion, but we are using VSS here at work and it's doing it's job just fine.
Honorable Mentions

TestDriven.NETI haven't had a lot of opportunity to work with TDD.NET lately (doing a lot of planning/and very small projects). I love tools that enhance VS.NET, and this is the best one if you're into unit testing.

FireFox There are a lot of addons that make FireFox a great tool for web developers. JavaScript console, DOM Inspector, Web Dev Bar.

How to hire a programmer

I'm always a little amazed when I hear of an employer who doesn't give a written test when hiring someone. I know it might take more time and I've often heard how some people don't work well under interview-pressure – but that's just tough luck. I swear to god, we have higher standards when it comes to hiring a juggler for a kid's birthday than when it comes to hiring programmers – I blame talentless managers.

That mini-rant aside, my favorite way to perform interview tests is to write a very basic feature description go over it with the person and ask them to actually code it on a COMPUTER with all the tools you're used to using (specifically, google/the internet, VS.NET, SQL Management Studio, …). I never remember what an SQL Server connection string looks like, and I'm not going to expect someone else to remember.

The type of "feature" I normally ask for is a *very* simple user-management tool where you see a list of users and can edit/add/delete their information (maybe a name, email address and password or something). I'll typically mention that the feature would be part of a larger enterprise application where maintenance is key. The goal is to get to see how they write their code. I'm specifically interested in seeing if they use any N-Tier or OOP concepts and how their codebehind/aspx are done.

I like to give them about 1 hour to work on this and will let them have up to 30 minutes of "do you want a bit more time?" Hopefully we can all agree that 1.5 hours is more than enough.

The first time I used this system we interviewed 7 people who did miserable. My manager (the owner of the company) told me the test was obviously too hard and I needed to adjust it. Luckily, before I had time to do so, we interviewed an 8th person who wrote it in 30 minutes and did better than people who worked on it for 2 hours. We hired him and it was well worth it.

Here are some general recommendations if you do give exams (or want to start) during interviews:

  1. Don't make the exam too hard or too long
  2. Write it yourself, have other coders on your team do it too, and adjust it accordingly to how well you did
  3. ALWAYS let the person know they'll be writing a test prior to the interview and let the person know how long it should take
  4. Don't bother giving the exam unless you think the person is a good fit in all the other important categories
  5. To expand on point 4, consider doing it as part of a follow up
  6. Tell them to fill in any auxiliary parts (like logging) with comments if they want to, and that other comments aren't really necessary
  7. Give them full access to all the tools you use, create a blank database for them and give them a username and password that has full access to that database – for security purposes, you might have to adjust your network a bit
  8. Let them use the internet and any books you have (you might want to mention to them that they can bring any books they like to the interview for the exam)
  9. Treat them like any other employee: don't look at them code more than normal, sit them with your team (if possible)
  10. If you use stored procedures, mention that you'd prefer they used stored procedures if possible. If you don't say anything, don't hold it against them for whatever they use.
  11. At least 2 or 3 times ask them how it's going, what part they are on and if they are having any difficulty. GIVE THEM the answer to any questions they ask. If you don't know the answer, either tell them they are looking at it wrong or help them look it up. Don't be afraid to sit down and type A BIT for them.
  12. Let them know that their time is up and ask if they'd want to spend more time finishing stuff up or reviewing it.
I'm not going to tell you what you should look for or not (since it'll depend on your own personal prefences), but there are some real tell-tell signs as far as I'm concerned:
  • Datasets and SqlDataSource are very bad (update: the dataset thing didn't go over too well in the comments ;) )
  • Data access shouldn't be in the aspx or codebehind
  • Objects should be properly disposed of (using either try/finally or usings)
  • Check how exceptions are handled: I don't expect anything in the global.asax Application_Error but exception swallowing is also very bad
  • Naming convention might not be a big deal, but I hate Hungarian notation
  • No hard-coded connection string (or at least a //todo, move to config)
  • Caching!
  • Parameterized queries for either sprocs or in-line

Friday, November 10, 2006

Which way are mobile phone games heading?

Aside online games and static game devices like Playstation, mobile games are the next most popular games around now.
The popularity has grown so big that mobile operators are competing against each other by offering their subscribers loads of both free and paid games for their pleasure. Not only mobile operators, cell phone manufacturers are also pre-programming their phones with a variety of games.



The growing interest in mobile gaming is producing a lot of benefits for the mobile industry. The operators are deriving sizable revenue from selling these games, software developers are regularly deriving royalties from phone manufacturers and the manufacturers themselves are cashing in heavily on revenue from subscribers. You will appreciate the level of income in this are if you consider the fact that by the year 2009, there would be 220 million mobile phone game fans in the world.
Now lets delve into the kinds of games we have around:
We have the embedded games that are factory coded into the phones, SMS games that operate by interacting with a SMS server upon which the game resides and browser games that are played online using the cell phones mini browser. Of all these games the cheapest and most popular is the inbuilt ones though the excitement offered by SMS and online games are not a deterrent to people who would spend every dime to get hooked on. The reason is browser games are of multi-media origin and can be compared to the type experienced on Playstation or xbox.
There are several ways to develop mobile games though the most popular language used are C++, Java and Binary Runtime Environment for Wireless (BREW) platform .
Out of these three, Java is the most popular method. The reason is obvious – java is widely supported by the web and supported by all the principal phone manufacturers. Again a medium like J2ME is open source and thus cheap to use as a development medium.
Java as we know it is highly portable across platforms and leaves developers with little worry that their program will not work on certain phones. Programmers choose this language platform because it does not interfere with programs running natively on the phone.
But in reality the future of mobile game development is in MIDP 2.0 API which is a compilation of high end applications that allow developers to come up with sophiscated and highly interactive games for fans. It is fast to use and ensures a stable program after compilation.
It is projected that this program, though futuristic, shall be the standard for mobile game developers for a long time as it exhibits versatility and the quick deployment – qualities programmer love.

Wednesday, October 04, 2006

Software Development Engineer in India Vs China

Indian software development companies have a good programming skills software developer but Software developers in China earn nearly 30% more than them.

According to the survey for software outsourcing companies conducted by Mercer Human Resource Consulting LLC.

Survey says that, the average annual pay of a software development engineer in Beijing is $13,400. By similarity, the average base pay for a software development engineer in India is $10,300.

Mercer concluded that multinationals those are set up there software shop in China face upper wage costs than they would in Indian software companies, the average base pay was lower in India than in China. At lower levels of Job post, the salary significant change between China and India are not that good but rise rapidly with seniority.

A part of survey found that some senior managers in China earn more than 200% the salary paid to their counterparts Software Developer in India.

Software Development and Information Technology service exports of India will grow by 30-32 per cent in this year, jobs have already crossed figure of million with sustaining the boom in a business, industry exports have grown more than 34 per cent, that is marked highest for last 5 years.

Looking ahead, the salary significant change between china and India may decrease as request growing in India for skilled software development coder and executives. Indian software development companies salaries are increased an average of 11.5% per year during the past 5 years, Mercer said. During the same period, salaries rise on an average of 7.5% per year in China software industries, it said.

Mercer noted that Beijing software firm salaries aren't indicating existence of wages paid throughout the behalf of the country. Salaries in Beijing software industries, Shanghai and Guangzhou are around twenty percent more than in other Chinese cities.



Agency / Source: TatvaSoft - Custom Software Development India

Can India Overtake China?

What's the fastest route to economic development? Welcome foreign direct investment (FDI), says China, and most policy experts agree. But a comparison with long-time laggard India suggests that FDI is not the only path to prosperity. Indeed, India's homegrown entrepreneurs may give it a long-term advantage over a China hamstrung by inefficient banks and capital markets.

Walk into any Wal-Mart and you won't be surprised to see the shelves sagging with Chinese-made goods-everything from shoes and garments to toys and electronics. But the ubiquitous "Made in China" label obscures an important point: Few of these products are made by indigenous Chinese companies. In fact, you would be hard-pressed to find a single homegrown Chinese firm that operates on a global scale and markets its own products abroad.

That is because China's export-led manufacturing boom is largely a creation of foreign direct investment (FDI), which effectively serves as a substitute for domestic entrepreneurship. During the last 20 years, the Chinese economy has taken off, but few local firms have followed, leaving the country's private sector with no world-class companies to rival the big multinationals.

India has not attracted anywhere near the amount of FDI that China has. In part, this disparity reflects the confidence international investors have in China's prospects and their skepticism about India's commitment to free-market reforms. But the FDI gap is also a tale of two diasporas. China has a large and wealthy diaspora that has long been eager to help the motherland, and its money has been warmly received. By contrast, the Indian diaspora was, at least until recently, resented for its success and much less willing to invest back home. New Delhi took a dim view of Indians who had gone abroad, and of foreign investment generally, and instead provided a more nurturing environment for domestic entrepreneurs.

In the process, India has managed to spawn a number of companies that now compete internationally with the best that Europe and the United States have to offer. Moreover, many of these firms are in the most cutting-edge, knowledge-based industries-software giants Infosys and Wipro and pharmaceutical and biotechnology powerhouses Ranbaxy and Dr. Reddy's Labs, to name just a few. Last year, the Forbes 200, an annual ranking of the world's best small companies, included 13 Indian firms but just four from mainland China.

India has also developed much stronger infrastructure to support private enterprise. Its capital markets operate with greater efficiency and transparency than do China's. Its legal system, while not without substantial flaws, is considerably more advanced.

China and India are the world's next major powers. They also offer competing models of development. It has long been an article of faith that China is on the faster track, and the economic data bear this out. The "Hindu rate of growth"-a pejorative phrase referring to India's inability to match its economic growth with its population growth-may be a thing of the past, but when it comes to gross domestic product (GDP) figures and other headline numbers, India is still no match for China.

However, the statistics tell only part of the story-the macroeconomic story. At the micro level, things look quite different. There, India displays every bit as much dynamism as China. Indeed, by relying primarily on organic growth, India is making fuller use of its resources and has chosen a path that may well deliver more sustainable progress than China's FDI-driven approach. "Can India surpass China?" is no longer a silly question, and, if it turns out that India has indeed made the wiser bet, the implications-for China's future growth and for how policy experts think about economic development generally-could be enormous.

THE STIFLING STATE

The fact that India is increasingly building from the ground up while China is still pursuing a top-down approach reflects their contrasting political systems: India is a democracy, and China is not. But the different strategies are also a function of history. China's Communist Party came to power in 1949 intent on eradicating private ownership, which it quickly did. Although the country is now in its third decade of free-market reforms, it continues to struggle with the legacy of that period-witness the controversy surrounding the recent decision to officially allow capitalists to join the Communist Party.

India, on the other hand, developed a softer brand of socialism, Fabian socialism, which aimed not to destroy capitalism but merely to mitigate the social ills it caused. It was considered essential that the public sector occupy the economy's "commanding heights," to use a phrase coined by Russian revolutionary Vladimir Lenin but popularized by India's first prime minister, Jawaharlal Nehru. However, that did not prevent entrepreneurship from flourishing where the long arm of the state could not reach.

COMPETING GIANTS

Population (2002): China 1.28 billion; India 1.05 billion

Population Growth Rate percent (2002): China 0.87; India 1.51

Infant Mortality per 1,000 live births (2002): China 27; India 61

Average Annual Real GDP Growth Rate percent (1990-2000): China 9.6 : India 5.5

Foreign Direct Investment (2001): China $44.2 billion; India $3.4 billion

Population in Poverty (2002): China 10 percent; India 25 percent

Labor Force (1999): China 706 million; India 406 million

Fixed Lines and Mobile Phones per 1,000 people (2001): China 247.7; India 43.8

Size of Diaspora: China 55 million; India 20 million

Sources: CIA World Factbook 2002; The Economist Pocket World in Figures; World Development Indicators CD-ROM; Financial Times

Developments at the microeconomic level in China reflect these historical and ideological differences. China has been far bolder with external reforms but has imposed substantial legal and regulatory constraints on indigenous, private firms. In fact, only four years ago, domestic companies were finally granted the same constitutional protections that foreign businesses have enjoyed since the early 1980s. As of the late 1990s, according to the International Finance Corporation, more than two dozen industries, including some of the most important and lucrative sectors of the economy-banking, telecommunications, highways, and railroads-were still off-limits to private local companies.

These restrictions were designed not to keep Chinese entrepreneurs from competing with foreigners but to prevent private domestic businesses from challenging China's state-owned enterprises (SOEs). Some progress has been made in reforming the bloated, inefficient SOEs during the last 20 years, but Beijing is still not willing to relinquish its control over the largest ones, such as China Telecom.

Instead, the government has ferociously protected them from competition. In the 1990s, numerous Chinese entrepreneurs tried, and failed, to circumvent the restrictions placed on their activities. Some registered their firms as nominal SOEs (all the capital came from private sources, and the companies were privately managed), only to find themselves ensnared in title disputes when financially strapped government agencies sought to seize their assets. More than a few promising businesses have been destroyed this way.

This bias against homegrown firms is widely acknowledged. A report issued in 2000 by the Chinese Academy of Social Sciences concluded that, "Because of long-standing prejudices and mistaken beliefs, private and individual enterprises have a lower political status and are discriminated against in numerous policies and regulations. The legal, policy, and market environment is unfair and inconsistent."

Foreign investors have been among the biggest beneficiaries of the constraints placed on local private businesses. One indication of the large payoff they have reaped on the back of China's phenomenal growth: In 1992, the income accruing to foreign investors with equity stakes in Chinese firms was only $5.3 billion; today it totals more than $22 billion. (This money does not necessarily leave the country; it is often reinvested in China.)

THE MOGUL IS HERO

For democratic, postcolonial India, allowing foreign investors huge profits at the expense of indigenous firms is simply unfeasible. Recall, for instance, the controversy that erupted a decade ago when the Enron Corporation made a deal with the state of Maharashtra to build a $2.9 billion power plant there. The project proceeded, but only after several years of acrimonious debate over foreign investment and its role in India's development.

While China has created obstacles for its entrepreneurs, India has been making life easier for local businesses. During the last decade, New Delhi has backed away from micromanaging the economy. True, privatization is proceeding at a glacial pace, but the government has ceded its monopoly over long-distance phone service; some tariffs have been cut; bureaucracy has been trimmed a bit; and a number of industries have been opened to private investment, including investment from abroad.

As a consequence, entrepreneurship and free enterprise are flourishing. A measure of the progress: In a recent survey of leading Asian companies by the Far Eastern Economic Review (FEER), India registered a higher average score than any other country in the region, including China (the survey polled over 2,500 executives and professionals in a dozen countries; respondents were asked to rate companies on a scale of one to seven for overall leadership performance). Indeed, only two Chinese firms had scores high enough to qualify for India's top 10 list. Tellingly, all of the Indian firms were wholly private initiatives, while most of the Chinese companies had significant state involvement.

Some of the leading Indian firms are true start-ups, notably Infosys, which topped FEER's survey. Others are offshoots of old-line companies. Sundaram Motors, for instance, a leading manufacturer of automotive components and a principal supplier to General Motors, is part of the T.V. Sundaram group, a century-old south Indian business group.

Not only is entrepreneurship thriving in India; entrepreneurs there have become folk heroes. Nehru would surely be appalled at the adulation the Indian public now showers on captains of industry. For instance, Narayana Murthy, the 56-year-old founder of Infosys, is often compared to Microsoft's Bill Gates and has become a revered figure.

These success stories never would have happened if India lacked the infrastructure needed to support Murthy and other would-be moguls. But democracy, a tradition of entrepreneurship, and a decent legal system have given India the underpinnings necessary for free enterprise to flourish. Although India's courts are notoriously inefficient, they at least comprise a functioning independent judiciary. Property rights are not fully secure, but the protection of private ownership is certainly far stronger than in China. The rule of law, a legacy of British rule, generally prevails.

These traditions and institutions have proved an excellent springboard for the emergence and evolution of India's capital markets. Distortions are still commonplace, but the stock and bond markets generally allow firms with solid prospects and reputations to obtain the capital they need to grow. In a World Bank study published last year, only 52 percent of the Indian firms surveyed reported problems obtaining capital, versus 80 percent of the Chinese companies polled. As a result, the Indian firms relied much less on internally generated finances: Only 27 percent of their funding came through operating profits, versus 57 percent for the Chinese firms.

Corporate governance has improved dramatically, thanks in no small part to Murthy, who has made Infosys a paragon of honest accounting and an example for other firms. In a survey of 25 emerging market economies conducted in 2000 by Credit Lyonnais Securities Asia, India ranked sixth in corporate governance, China 19th. The advent of an investor class, coupled with the fact that capital providers, such as development banks, are themselves increasingly subject to market forces, has only bolstered the efficiency and credibility of India's markets. Apart from providing the regulatory framework, the Indian government has taken a back seat to the private sector.

In China, by contrast, bureaucrats remain the gatekeepers, tightly controlling capital allocation and severely restricting the ability of private companies to obtain stock market listings and access the money they need to grow. Indeed, Beijing has used the financial markets mainly as a way of keeping the soes afloat. These policies have produced enormous distortions while preventing China's markets from gaining depth and maturity. (It is widely claimed that China's stock markets have a total capitalization in excess of $400 billion, but factoring out non-tradeable shares owned by the government or by government-owned companies reduces the valuation to just around $150 billion.) Compounding the problem are poor corporate governance and the absence of an independent judiciary.

DOLLARS AND DIASPORAS

If India has so clearly surpassed China at the grass-roots level, why isn't India's superiority reflected in the numbers? Why is the gap in GDP and other benchmarks still so wide? It is worth recalling that India's economic reforms only began in earnest in 1991, more than a decade after China began liberalizing. In addition to the late start, India has had to make do with a national savings rate half that of China's and 90 percent less FDI. Moreover, India is a sprawling, messy democracy riven by ethnic and religious tensions, and it has also had a longstanding, volatile dispute with Pakistan over Kashmir. China, on the other hand, has enjoyed two decades of relative tranquility; apart from Tiananmen Square, it has been able to focus almost exclusively on economic development.

That India's annual growth rate is only around 20 percent lower than China's is, then, a remarkable achievement. And, of course, whether the data for China are accurate is an open question. The speed with which India is catching up is due to its own efficient deployment of capital and China's inefficiency, symbolized by all the money that has been frittered away on SOEs. And China's misallocation of resources is likely to become a big drag on the economy in the years ahead.

In the early 1990s, when China was registering double-digit growth rates, Beijing invested massively in the state sector. Most of the investments were not commercially viable, leaving the banking sector with a huge number of nonperforming loans-possibly totaling as much as 50 percent of bank assets. At some point, the capitalization costs of these loans will have to be absorbed, either through write-downs (which means depositors bear the cost) or recapitalization of the banks by the government, which diverts money from other, more productive uses. This could well limit China's future growth trajectory.

India's banks may not be models of financial probity, but they have not made mistakes on nearly the same scale. According to a recent study by the management consulting firm Ernst & Young, about 15 percent of banking assets in India were nonperforming as of 2001. India's economy is thus anchored on more solid footing.

The real issue, of course, isn't where China and India are today but where they will be tomorrow. The answer will be determined in large measure by how well both countries utilize their resources, and on this score, India is doing a superior job. Is it pursuing a better road to development than China? We won't know the answer for many years. However, some evidence indicates that India's ground-up approach may indeed be wiser-and the evidence, ironically, comes from within China itself.

Consider the contrasting strategies of Jiangsu and Zhejiang, two coastal provinces that were at similar levels of economic development when China's reforms began. Jiangsu has relied largely on FDI to fuel its growth. Zhejiang, by contrast, has placed heavier emphasis on indigenous entrepreneurs and organic development. During the last two decades, Zhejiang's economy has grown at an annual rate of about 1 percent faster than Jiangsu's. Twenty years ago, Zhejiang was the poorer of the two provinces; now it is unquestionably more prosperous. India may soon have the best of both worlds: It looks poised to reap significantly more FDI in the coming years than it has attracted to date. After decades of keeping the Indian diaspora at arm's length, New Delhi is now embracing it. In some circles, it used to be jokingly said that nri, an acronym applied to members of the diaspora, stood for "not required Indians." Now, the term is back to meaning just "nonresident Indian." The change in attitude was officially signaled earlier this year when the government held a conference on the diaspora that a number of prominent nris attended.

China's success in attracting FDI is partly a historical accident-it has a wealthy diaspora. During the 1990s, more than half of China's FDI came from overseas Chinese sources. The money appears to have had at least one unintended consequence: The billions of dollars that came from Hong Kong, Macao, and Taiwan may have inadvertently helped Beijing postpone politically difficult internal reforms. For instance, because foreign investors were acquiring assets from loss-making soes, the government was able to drag its feet on privatization.

Until now, the Indian diaspora has accounted for less than 10 percent of the foreign money flowing to India. With the welcome mat now laid out, direct investment from nonresident Indians is likely to increase. And while the Indian diaspora may not be able to match the Chinese diaspora as "hard" capital goes, Indians abroad have substantially more intellectual capital to contribute, which could prove even more valuable.

The Indian diaspora has famously distinguished itself in knowledge-based industries, nowhere more so than in Silicon Valley. Now, India's brightening prospects, as well as the changing attitude vis-à-vis those who have gone abroad, are luring many nonresident Indian engineers and scientists home and are enticing many expatriate business people to open their wallets. With the help of its diaspora, China has won the race to be the world's factory. With the help of its diaspora, India could become the world's technology lab.

China and India have pursued radically different development strategies. India is not outperforming China overall, but it is doing better in certain key areas. That success may enable it to catch up with and perhaps even overtake China. Should that prove to be the case, it will not only demonstrate the importance of homegrown entrepreneurship to long-term economic development; it will also show the limits of the FDI-dependent approach China is pursuing.

Yasheng Huang is an associate professor at the Sloan School of Management at the Massachusetts Institute of Technology. Tarun Khanna is a professor at Harvard Business School.

Free Photo Editor