European companies face a different challenge. There are not many R&D hubs with many big companies present. Typically the local talent pool is smaller and focused on narrower segment, like mobile game development in Helsinki, or car software in Germany. Finland used to have large amount of mobile software engineers, but due to platform change, the old Symbian skills are obsolete.
Nokia managed to develop many great engineers that are now great specialists at other companies. To grow into a great engineer usually needs two things 1) right amount of time 2) suitable challenges. For example to become a great browser engineer, you would have to spent many years in doing fixes and new features for browser engine, even if you are talented. Nokia's best browser engineers have joined companies like Intel, Apple, Samsung, Microsoft, Huawei, and Nvidia and still work on browser technologies. To develop that kind of talent Nokia invested in Webkit development for many years and then on Linux side on Gecko development for several years.
Sometimes companies forget that they have opportunity to grow the engineers from talents to great engineers and only setup new R&D in already hot areas like Silicon Walley, or even worse only hire top engineers (instead of top talent).
While I applauded Nokia's browser team development as a good thing, sadly most of Nokia's development work seemed to be much more short sighted, and even in the browser area Google is much better than Nokia ever was as Chrome's success both on desktop and mobile proves.
Way too often I still see companies only willing to hire ready people, instead of healthy mix of eager young engineers and experienced guys. Hiring is only small part of developing people. Keeping the right people and giving them right jobs is probably even more difficult.