在谷歌無人車組全職工作已經(jīng)有四個月了。寫一下感想。鑒于項目的高度機密性,很多話不能說,我唯一能透露的,就是兩條:同事們都很牛,然后都非常努力。
我們組基本上是9點開始工作,然后晚上6點多走,老板不怎么主動管,但大家都明白如果事情做不完就得加班,因為一個一個小發(fā)布(release)的最后期限(deadline)擺在那里,不能不干。總的來說,比谷歌的其它部門要忙一點,節(jié)奏很快,不像是在大公司里工作,反倒更像是在一個初創(chuàng)團隊里忙碌。
這四個月感覺下來,Google[x]實驗室有幾個很有趣的特點。其一是軟硬件結(jié)合極其緊密,這一點從已有的報道里可以看出,不論是無人車(Self-driving car)、眼鏡(Google Glass)還是最近公布的氣球無線網(wǎng)絡(luò)(Loon)及能測血糖的隱形眼鏡(Iris),都是軟硬結(jié)合的產(chǎn)品。這直接導致的結(jié)果,就是我們每天面對的問題和之前在學術(shù)圈時思考的完全不同。
在學術(shù)圈,問題的已知條件和數(shù)據(jù)集都是給定的,我們要做的就是像解數(shù)學題一樣,鉆進去找到更好的解法,并在已知的數(shù)據(jù)集上和前人對比證明其有效性。但在Google[x]則完全不同,大項目(比如說開發(fā)無人車)擺在這里,但已知條件,解決方案,使用何種硬件,如何分配資源,都是不確定的;唯一確定的,是要以最快的方式和最小的成本把它實現(xiàn)出來——讓一輛車能安全地自行其道,同時生產(chǎn)成本又最少。在這樣的特定背景下,碰到一個難題,首先想的不是把它死命解出來,而是問自己是不是有必要解它,能不能繞開它而實現(xiàn)目標?事實證明,在這樣高自由度的空間里尋找一個特定的解決方案,幾乎總是能繞過學術(shù)界的難題,找到簡單易行的實用方法。這就像要發(fā)明能在道路上移動的機器人,不是絞盡腦汁去研究人類兩足的機理,而是用容易控制又廉價的輪子代替;要設(shè)計飛機,不去模仿鳥類形態(tài)優(yōu)美卻機理復雜的撲翼,而是使用固定機翼加噴氣動力。
其二是幾乎沒有專職的研究職位。所有人既是研究員(Researcher),又是軟件工程師(Software Engineer)。基本上每個人負責一個具體的方向,對這個方向自主地分析現(xiàn)存的問題,并不斷通過和同事討論提出新方案,最后評估方案的效果。就算是組里的老板(Manager),甚至是老板的老板,也要寫代碼查錯誤完成具體工作,唯一的不同點,是他們對系統(tǒng)有更整體的理解,遇到問題能幫忙找到下屬找不到的角度。碰到許多任務(wù)同時需要完成的時候,能分清主次,丟卒保車,確保整個組的大方向正確。
對于從來沒有碰到過的新問題,思考新思路和寫代碼開發(fā)是同時進行的,C++代碼寫完就直接上產(chǎn)品去測試看效果如何,不行就分析研究再換一種,如此快速迭代直到找到好方案為止,如果一兩周里找不到好方案,那就認為這個問題是困難的,于是就要退一步思考,想辦法繞開它。
因為這個原因,諸如“寫代碼和做研究的時間比例是多少”之類的問題就沒有什么意義,因為完全看需要解決的是什么問題,寫很多格式漂亮架構(gòu)清晰的代碼卻不能解決問題沒有意義,天馬行空地思考不在實際數(shù)據(jù)上跑也沒有意義,最重要的只是“解決問題”這四個字。
這種思路決定了研究風格是“具體問題具體分析”式的,有額外條件和額外信息就盡量用上,不會花時間思考一般情況;是“崇尚簡單方案快速出結(jié)果”式的,而不會使用精巧復雜卻不太直觀的數(shù)學理論,也不會花幾個月賭一個萬能算法。這種研究方式的缺點顯而易見,就是沒有辦法產(chǎn)生深遠及本質(zhì)的成果,但是既然目標是利用人類現(xiàn)有的技術(shù),去完成一個舉世矚目的新系統(tǒng)和新產(chǎn)品,我想不出來有其它更好的推動方式了。
其三是組內(nèi)信息交流的極端重要性。學術(shù)界強調(diào)鉆研問題,獨立工作和原創(chuàng)性成果;但至少在無人車組,是鼓勵也必須時常和別人溝通的。一個人,特別是剛進來的新人,對整個系統(tǒng)的組成沒有深刻理解,也不去詢問同事,老板給一個問題就按自己的想法單干,結(jié)果發(fā)現(xiàn)三分之一工作和無人車目前急需解決的難點無關(guān),三分之一工作已有人做出過類似工具,還有三分之一工作聽起來很有道理,自成一說,但是在實際數(shù)據(jù)上一跑效果很差。這些情況是完全可能的。按學術(shù)界的思路,這些工作都可以發(fā)(不同風格的)文章,但在我們這里,全都是沒有用的。
而充分交流討論就能避免這類情況。有越多來自別人的信息,就越能明確目標直入主題;越知道系統(tǒng)的優(yōu)劣和目前的可用工具,就越能借風使力,提高效率。有時候跨組間不經(jīng)意的一兩句對話,少則抵得上幾小時或者幾天的辛勤勞作,多則改變整個組的行進方向。無人車組里中國人非常非常少,因此英語的地位相應提高,實在是需要在業(yè)余時間多加訓練才好。
對于這樣一個開創(chuàng)性項目,雖然已經(jīng)取得了重要的進展,但還是有很多棘手的具體問題需要解決,每一個細節(jié)都決定成敗。并且,越接近最終目標就越為艱難,有時候為了有百分之一的效果提升,是不惜從頭再來,將原來的工作全部推翻的。所以說這個項目最后是否成功,還要看全體同事的聰明才智和勤奮努力,及一點點捉摸不定的運氣。
希望運氣在我們這邊。
-
谷歌
+關(guān)注
關(guān)注
27文章
6223瀏覽量
107569 -
工程師
+關(guān)注
關(guān)注
59文章
1589瀏覽量
69233 -
無人車
+關(guān)注
關(guān)注
1文章
307瀏覽量
36817
發(fā)布評論請先 登錄

硬件工程師看了只會找個角落默默哭泣#硬件工程師 #MDD #MDD辰達半導體 #產(chǎn)品經(jīng)理 #軟件工程師
如何成為一名合格的KaihongOS南向驅(qū)動開發(fā)工程師
如何成為一名合格的KaihongOS北向應用開發(fā)工程師
如何成為一名嵌入式軟件工程師?

一位老電子工程師的十年職場感悟

月薪 3 萬的嵌入式工程師都在用,串口屏到底神在哪?

如何成為一名合格的南向驅(qū)動開發(fā)工程師
如何成為一名合格的北向應用開發(fā)工程師

不同時期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過于真實 #YXC晶振 #揚興科技
OpenAI從谷歌DeepMind挖角三名高級工程師



評論