On the last day of the Lang.NET Symposium, I sat through an interesting lecture on F# with Don Syme. Don Syme is a researcher at Microsoft Research’s Cambridge office. He and Andrew Kennedy previously researched and designed generics years before its eventual incorporation into the Whidbey version (2.0) of the .NET Framework. The research project was called Gyro. Don’s work was instantly credible because it was implemented on top of the CLR infrastructure.
Research Pipeline at Intel
I congratulated him on being able to navigate the research and development divide, and asked him how he was able to do it. Don said that he previously interned at Intel, which had an established notion of a research pipeline unlike Microsoft and trained researchers on the proper steps to facilitate research into development.
At Intel, researchers were more closely involved in development. They were required to make proposals and identify the stage of their research — prototype, design, development, so on... As each stage proceeded, more development resources would be allocated to it, roughly double the amount before. The researcher had to be associated with a group, and must be able name a number of development contacts. A critical success factor is the researcher ability to convince a development group to invest money and resources into the idea—to bring in important stakeholders.
The culture of integrating research and development at Intel is probably due to the founders, Robert Noyce, Gordon Moore and Andy Grove, all having doctoral degrees and conducting significant research. Robert Noyce coinvented the integrated circuit and, had he lived long enough, would have shared the 2000 Nobel Prize given to coinventor Kilby; compare that to Bill Gates’s intellectual accomplishments.
Because of his prior involvement in Intel, Don Syme successfully spearheaded generics into the CLR, and made sure the implementation of generics was of high-quality and completely orthogonal. As a result, generics introduced hardly any seams into the CLR. Underneath the execution engine, though, a single IL instruction may translate into substantial code as some features like generic virtual methods, generic interfaces, and generic static fields may use dictionary lookups rather than simple vtable dispatch.
Don also paved the way for additional research projects to migrate into development tools like LINQ, which was incubated in research as Comega. Future research projects, Spec# and Polyphonic C#, will probably migrate into the fourth iteration of .NET.
This happens to be why I feel optimistic about Google’s chances, given both top management and the founders of the company are researchers themselves. Google also institutes the now famous 20% time and embeds a researcher into each product team. The executives recognize the bottom-up nature of innovation as well as the limits that bounded rationality places on top-down management.