Dr.Dobb's Portal – by Michael Swaine
Why the next big thing in software may come from Eastern Europe.
Where will the next big thing in software come from? How about Eastern Europe.
Why, the Christian Science Monitor asks, did Google recently open a research lab in Krakow? Answer: So Microsoft and Intel don't grab all the good programmers. The same thinking has brought other big companies to Prague, Budapest, Bratislava, and other Eastern European cities in search of programming talent.
Eastern Europe is definitely attracting attention as a software development hot spot. In fact, for sheer intensity of attention to software development, Eastern Europe outshines the U.S. and Western Europe. "The software industry in Eastern Europe," says Bulgaria-based Ivanka Panayotova of MindFusion Ltd., "as a portion of the entire business sector, is larger than in most other countries worldwide...definitely bigger than one would find in a developed country."
But it would be a mistake to see Eastern Europe as simply the next outsourcing target, or as the next India. What's happening now in software development in Eastern Europe is unique and important — and complex.
Why Prague is hot
Put it down to the fall of the Soviet Union — and, paradoxically, to the legacy of the Soviet Union. Since the end of the Cold War, countries formerly part of the Soviet bloc have been restructuring their economies and evolving their political climates for business, reaching out to Western markets and companies. Plans for expansion of the EU have accelerated these changes. This shift has played out across most business sectors, but has been especially significant in software development.
Partly, this is because of the talent pool. Arkadiy Dobkin, CEO of outsourcing powerhouse EPAM, credits what he calls the "Soviet heritage" of traditionally strong engineering education for the region's large pool of trained professionals. As Accelerance consultant Clay Bullwinkel has pointed out, the Nazi Enigma codes were first broken by Polish professors in 1939, before Alan Turing and the British code-crackers at Bletchley Park made any progress. Today, Eastern European programmers do impressively well in competitions like Google's Code Jam.
But there are other factors that make the region of particular interest, in particular, Western European countries' past experience with offshoring. Software projects combine tight deadlines with complex communication demands, making it challenging to work with programmers in far-off time zones and with cultural and language differences. "Nearshoring" software operations to geographically close and culturally similar programming teams in Eastern Europe solves a lot of problems for Western European companies. This is particularly true if Eastern European salaries are comparable to those in other offshore locations like India — which, initially, was the case. But it's all getting more complicated now.
A region in transition
What we're talking about: The United Nations Statistical Division defines Eastern Europe as including the nations of Poland, Belarus, and Russia, south to the Czech Republic, Slovakia, and Hungary, to the Black Sea-bordering countries Ukraine, Romania, Moldova (okay, Moldova's landlocked), and Bulgaria. The inclusion of bicontinental Russia in Eastern Europe leads to the oddity of remote Siberia being cited as a significant Eastern European software development site.
Other definitions of Eastern Europe would include some or all of the Southern European nations of Albania, Bosnia and Herzegovina, Croatia, Macedonia, Montenegro, and Serbia; Eurasian countries Armenia, Azerbaijan, Georgia, and Kazakhstan (I insert Borat joke here — not); and the Northern European Baltic States Estonia, Latvia, and Lithuania. But sometimes Poland, the Czech Republic, Slovakia, Hungary, and Slovenia are referred to as "Central Europe."CEE, short for "Central and Eastern Europe," is a newly emerging term of convenience for referring to many or all of these European or Eurasian countries.
What they all have in common is that virtually every one of them is currently under intense scrutiny for its potential as a base for software development. And everywhere you look, you find differences. If you want to work with programmers in Belarus, which was considered the Soviet Union's Silicon Valley and today has some of the lowest software development costs in Europe, an outsourcing company like Minsk-based EffectiveSoft can help you. Going it alone, though, could be tough: Inc. magazine calls the tax situation in Belarus "a nightmare."
The Baltics have the highest growth in GDP right now. Estonia has the highest per capita usage of computers in the world. The Czech Republic is turning out some 5000 engineering grads a year, the Ukraine about seven times as many.
In Romania, as in most Eastern European countries, salaries are going up due to various factors, including improving economies and a shrinking talent pool. Romanian software developers are now getting something like 50 percent of what a Western developer gets, and in a year or two, will probably be close enough to Western rates as to make the country an unappealing offshoring target. Since economic and other forces are operating unequally on the many Eastern European countries, first one and then another country becomes the current hot EE outsourcing target, but in the games industry, one source describes the formerly crucial pool of cheap Eastern European programming talent as simply "gone." Why is the talent pool shrinking? Well, if you were a bright, talented graduate of an Eastern European engineering program and you knew that you could stay in Eastern Europe and earn X or move to the U.S. or Western Europe and earn 2X working for a world-famous software company, what would you do? Eastern Europe is experiencing a programming talent brain drain. Eastern European universities have responded by pumping out more graduates, but new grads are diving into the labor pool with, as Panayotova puts it, "mediocre theoretical knowledge and basic, if any, practical skills." Not that there isn't still a lot of talent in Eastern Europe, but you have to know where to look for it.
Outsourcing, offshoring, nearshoring
All of these things make Eastern Europe a confusing and intriguing and often appealing target for outsourcing. Or as Inc. magazine puts it, "your ticket to new markets, new ideas, and a world of adventure." The opportunity is large, and relatively untapped. Only about one percent of the world's outsourcing, across all business sectors, is in Eastern Europe, according to McKinsey & Co. But when you get to the essential details, what emerges is really many targets, with different economies and business and political climates. And they're all moving targets.
The Czech Republic, with high-quality math and engineering education, a motivated and talented labor pool with professional standards, favorable labor costs, and cultural and geographic and linguistic advantages, is currently the leading Eastern European outsourcing target. But for Western European countries, the subtleties of nearshoring come into play. Favored nearshoring partners for Finland, for example, are Russia and the Baltics, followed by the Czech Republic with strong skills in software development, Poland, and Hungary.
There are still cultural, political, and linguistic issues to deal with, so companies wanting to outsource to Eastern Europe are well advised to work with one of the many companies experienced in the various countries of the region. But the barriers are lower than in other parts of the world; beyond the stated advantages of Eastern Europe for offshoring firms, there is this humble fact: You can drink the water. But outsourcing is only one way in which the Eastern European programming talent pool is being tapped.
Partnerships and incubators
U.S. and EU countries are opening offices in Eastern Europe at a rapid pace, partnering with local software firms, and establishing research labs in the region. Partnering with a local firm solves a lot of the cultural and linguistic and legal problems, or at least internalizes them.
But there are other models. Open-source development, for instance. Open-source development spans international borders more easily than proprietary software, for a number of obvious reasons. The fact that a large part of the development team for MySQL is in Eastern Europe is due not to any recruiting effort or salary differential, but just to the fact that Eastern European programmers contribute to open-source projects in disproportionate numbers.
Globally distributed companies are a step beyond the globally distributed development model often characteristic of open-source software. Sun's NetBeans operation is such a globally distributed operation, and there are many more, sometimes powered by what Dr. Dobb's 2007 Excellence in Programming award winner Grady Booch calls "new development environments that support interactions between geographically disparate stake holders." In NetBeans' case, that would be CollabNet.
Partnering takes on many forms, and frequently Western firms are tapping Eastern European talent not just for cookie-cutter coding but also for key development and R&D work. Few know how dependent Intel is on Eastern European talent for key Intel products. CA recently opened a mainframe development center in Prague. IBM opened a software lab in Krakow, its first in Eastern Europe. And of course so, did Google. Motorola, too. Microsoft, Sun, Deutsche Telecom, and others have opened labs in other Eastern European countries near universities to grab new grads. California-based aBeam Technologies outsources R&D to Russia. MultiMetrix, a California company founded by Russian emigres, hires Russian programmers. Based in Santa Clara, eASIC has R&D operations in Romania.
Becoming a player
Not all Eastern European software developers are waiting for a call from a Microsoft or an EPAM. Some are stepping out onto the stage to play their own tune. A number of well-known products, technologies, and companies were started in the region: Skype, UPEK, and NetBeans are examples with international reputations. And although most Eastern European software companies do most of their business out of the country, there are significant local markets: Estonian-based Cybernetica is producing the e-voting software that the country will use in this year's parliamentary elections.
Poland was an early outsourcing-target leader among Eastern European countries. As conditions have changed (and programmer salaries have increased), the effect has been to shift the emphasis of software development in the country. IMPAQ once served foreign companies; now its typical customer is a Polish company wanting something done quickly. Bulgarian firm Sciant has become a consumer, rather than a supplier, of outsourcing labor, sending work to Vietnam.
It seems likely that the future of software development in many Eastern European countries will be very different from what it is now. With a history of commitment to science and engineering education, growing economies, and other advantages, Eastern Europe has the potential to become a major player in the software development game.
Panayotova believes that "gradually, with the expansion of the European Union, the computer sector [in CEE] will start to move ahead — not in quantity, but in quality — and it shall meet its Western counterparts as equal to equal."