注:本文譯自Microsoft Research and the industrial research cycle,點擊網址便可查看。程序員
https://www.microsoft.com/en-us/research/blog/microsoft-research-and-the-industrial-research-cycle算法
大約14年前我升任經理時,曾經對微軟研究院的新進員工這樣說:spring
微軟研究院不只爲你提供瞭如學術界同樣充分探索和增進科學知識的自由,同時還有額外的要求,這就是將你的科學追求與公司的問題結合起來、致力推進微軟的發展,這一要求也會隨着你的年資增加而提升。數據庫
這個說法至今仍然是成立的;一如我17年前加入微軟研究院時那樣,這也反映了微軟研究院在推動科學前沿研究的同時也要給公司帶來正向推進的雙重使命。編程
我借用「產業研究週期」模型來解釋微軟研究院的運做方式。研究人員能夠自由地選擇研究問題,並在各自學科(週期的左側)探索,以推動科技的進步。同時,他們也有責任和機會在進行了充分探索的前提下將本身的注意力集中在他們認爲可能對公司(週期右側)產生影響的領域。在理想狀況下,他們對科學研究問題的解決方案的探索最終會影響到公司的技術應用。他們從公司實踐領域得到的經驗不只會用於驗證科學知識,還會在下一階段推進科學新方向的探索。一名研究人員在其職業生涯中將沿着這個週期作許屢次往復。安全
探索與專一很難兼顧,更難以俱佳!相反,人們須要在某些階段進行探索,而在此後的多年間作到專一。網絡
我借用「影響力」圖來解釋影響的不一樣形式。x軸表示科學影響的水平。y軸表示對微軟影響的程度(參見上圖)。我的影響以曲線之下的面積來表示。我的影響曲線的形狀隨着時間推移而變化,既取決於他在產業研究週期中所處的階段,也取決於他在公司內的資歷增加。app
在探索階段,我的影響曲線的形狀通常是水平的,這是由於他的主要受衆還侷限於科學界。在專一階段,我的曲線的形狀一般是垂直的,並創建在先前探索階段的基礎之上。機器學習
隨着我的在公司的年資增加,公司自己對於他專一於微軟影響力的指望也在提升。另外一方面,初級研究人員享有更多的探索自由。微軟研究院新招聘的博士生仍有許多工做要作,才能在本身的領域創建起公認專家的聲譽。雖然有些人可能確實在職業生涯的早期階段就開始與產品團隊互動,但咱們並不要求初級研究人員直接着手爲公司解決問題。異步
咱們鼓勵研究人員積極著述,但微軟研究院並不強調發表數量。質量是咱們的首要目標。
微軟研究院在科研上的投資可能不會當即對微軟產生影響,但從長遠來看將爲公司培養新的力量/能力。我借用「長期做戰」示意圖來講明,要將科學結果轉化爲公司影響力離不開協調而長期的努力。
我用如下三個例子說明發揮影響力的路徑,這須要與合做夥伴長期共事、創建關係和信任,以及經過解決問題的新方案來改變公司文化。
1999年末,Sriram Rajamani和我在微軟研究院創立SLAM項目,旨在探索自動發現設備驅動程序中代碼缺陷的新方法。Windows驅動程序質量組終於在2002年成形時,Byron Cook、Jakob Lichtenberg和Vladimir Levin加入了團隊,推出了一個基於SLAM引擎的靜態驅動程序驗證器(SDV)。SDV的第一個版本是在2004年與Windows一塊兒交付的。在過去10年間,不一樣梯隊的微軟研究院研究人員與驅動程序質量團隊密切合做,對SDV的底層分析引擎改進/迭代了三次。
相關論文:
SLAM2: static driver verification with under 4% false alarms (http://dl.acm.org/citation.cfm?id=1998508 )
The Yogi Project: Software Property Checking via Static Analysis and Testing(http://rd.springer.com/chapter/10.1007/978-3-642-00768-2_17)
Powering the static driver verifier using corral(http://dl.acm.org/citation.cfm?id=2635894)
2004年,我聘請Nachi Nagappan進入微軟研究院,在微軟雷德蒙研究院帶領實證軟件工程(Empirical Software Engineering)研究。在5年時間內,Nachi及其同事Brendan Murphy、Jacek Czerwonka、Christian Bird和Thomas Zimmermann經過對產品版本歷史、錯誤數據庫和其餘數據源的分析,研究了影響軟件質量和開發人員生產力的關鍵問題。
爲了將此類分析擴展到整個公司層面,Wolfram Schulte加入團隊,並與Nachi、Brendan和Jacek一塊兒建立了CODEMINE,這是一個用於收集和分析微軟軟件工程開發過程數據的數據分析平臺。該項目於2009年先後啓動(代號爲SWEPT),並於2013年結束,它讓咱們得以深刻了解微軟各個產品組的軟件工程開發問題。CODEMINE對於一個名爲「軟件工程師工具」的新團隊的造成相當重要,而正是這個團隊使公司轉向了基於雲的軟件工程基礎設施。
此後,微軟研究院於2011年啓動了Touch Develop項目(www.touchdevelop.com),力求實如今智能手機上編寫智能手機腳本。Touch Develop出乎人們意料的運用是在K-12計算機科學教育方面——教師們發現,孩子們癡迷於對他們的智能手機編程,使之可以響應環境刺激。
它演變成了一個與BBC合做的項目,旨在建立一款帶有易用編程平臺(基於Touch Develop)的小型物理計算設備。總計100萬臺上述設備(名爲micro:bit)於2016年交付,足夠讓英國的五年級學生人手一臺。正是因爲BBC micro:bit的成功,微軟目前正投資開發一個用於計算機科學教育的全新編程平臺。
從硬件資產到底層操做系統代碼再到面向用戶的服務逐級優化,這是成功的關鍵所在,併爲研究人員提供了跨越多個領域的機會,這些領域包括系統、正規方法、軟件工程和編程語言等。
下面是RiSE組深刻參與其中的四個與雲計算相關的大規模新項目:
P語言正在改變着微軟程序員承擔構建大型異步系統任務的方式。P語言已經用於開發Windows中USB 3.0驅動程序以及微軟Azure中的服務。
Everest項目(Project Everest)正在構建一個高性能、符合標準、通過驗證的HTTPS完整生態系統實施,上到HTTPS API下至包括RSA和AES等在內的加密算法。
Parade項目(Project Parade)經過將運行時的依賴關係做爲符號值來處理,實現了大量看似順序性應用程序的並行化。這個項目的成果大幅度提高了目前流行的機器學習和大數據算法的性能。
Premonition項目旨在經過建立新技術,自主定位、收集和經過計算手段分析蚊子所攜帶的血源性病原體,在病原體爆發前檢測到它們。
不管你處於探索階段仍是專一階段,微軟研究院都將帶你走上使人興奮的旅程。若是你有興趣加入咱們的旅程,請訪問微軟官網的求職頁面。
英文網址>>https://www.microsoft.com/en-us/research/careers
中文網址 >> http://www.msra.cn/zh-cn/jobs/default.aspx