一位工程師,如何才能稱得上優(yōu)秀?除了寫得一手好Code,什么樣的工作態(tài)度和方法才是一個優(yōu)秀工程師的必備?
7月11日,陸奇出席百度內(nèi)部Engineering Leadership Talk。作為計(jì)算機(jī)科學(xué)博士及優(yōu)秀的管理者,他提出的五點(diǎn)要求,對每一位百度工程師都適用。
“我們一定要有一個堅(jiān)定不移的深刻的理念,相信整個世界終究是為技術(shù)所驅(qū)動的。”
“有沒有其他人已經(jīng)解決這個問題?然后你可以把你的時間放在更好的創(chuàng)新上。”
“做什么事情一定要做最好,一定要是做業(yè)界最強(qiáng)的。”
“我把自己想象是一個軟件、一個代碼,今天的版本一定要比昨天版本好,明天的版本肯定會比今天好。”
“看到問題也不要去問別人,就把它Fix。”
欲知是哪五點(diǎn)要求?請往下看
Believe in 技術(shù)
首先要相信技術(shù),我剛才已經(jīng)講了,整個我們工業(yè)界,特別是像百度這樣的公司,對技術(shù)堅(jiān)定的、不動搖的信念特別重要。
我也分享一下,蓋茨提到微軟公司的宗旨就是:寫軟件代表的是世界的將來。
為什么?未來任何一個工業(yè)都會變成軟件工業(yè)。蓋茨是對的,因?yàn)槿魏喂I(yè)任何行業(yè)自動化的程度會越來越高,最后你所處理的就是信息和知識。
但現(xiàn)在軟件的做法又往前提了一次,因?yàn)樵谌斯ぶ悄軙r代,不光是寫代碼,你必須懂算法,懂硬件,懂?dāng)?shù)據(jù),整個人工智能的開發(fā)過程有一個很大程度的提高,但是,技術(shù),特別是我們這個工業(yè)所代表的技術(shù)一定是將來任何工業(yè)的前沿。
站在巨人的肩膀上做創(chuàng)新
我們觀察一下,在美國硅谷、在中國,互聯(lián)網(wǎng)創(chuàng)業(yè)公司也好,大型公司也好,大家的起點(diǎn)是越來越高的。為什么現(xiàn)在創(chuàng)新速度那么快?主要是起點(diǎn)高了。我們可以使用的代碼模塊,使用的服務(wù)的能力,都是大大的提升。
在內(nèi)部我想強(qiáng)調(diào)這一點(diǎn),很多大公司包括微軟在內(nèi),內(nèi)部的Code都重做了無數(shù)遍。
我現(xiàn)在的要求是,每一次你寫一行新的代碼,第一要做的,先想一想你這行代碼值得不值得寫,是不是有人已經(jīng)做了同樣的工作,可能做得比你還好一點(diǎn)。有沒有其他人已經(jīng)解決這個問題,然后你可以把你的時間放在更好的創(chuàng)新上。
特別是大公司里面重復(fù)或者是幾乎重復(fù)的Code實(shí)在太多,浪費(fèi)太多的資源,對每個人的職業(yè)生涯都不是好事情。
我再強(qiáng)調(diào),在大公司內(nèi)部,你寫代碼之前想一想,你這行代碼要不要寫,是不是別人已經(jīng)有了,站在別人的肩膀上去做這件事情。
追求Engineering Excellence
我要另外強(qiáng)調(diào)的一點(diǎn)就是Engineering Excellence,工程的技術(shù)的卓越性和能力。
任何市場上競爭就像打仗一樣,就看你的部隊(duì)體能、質(zhì)量,每一個士兵他的訓(xùn)練的程度,和你給他使機(jī)關(guān)槍、坦克,還是什么樣的武器。
所以Engineering Excellence跟這個類比,我們要建的是一支世界上最強(qiáng)的部隊(duì),每一個士兵,每一個領(lǐng)軍人,每個人的能力,他的訓(xùn)練都是超強(qiáng)的,然后我們給每個人提供的工具和武器都是一流的。
所以Engineering Excellence是一個永無止境的、個人的、團(tuán)隊(duì)的,能力的追求和工具平臺的創(chuàng)新,綜合在一起可以給我們帶來的長期的、核心的競爭力,為社會創(chuàng)造價(jià)值,最終的目的是給每個用戶、每個企業(yè)、整個社會創(chuàng)造價(jià)值。
我另外還要在這里強(qiáng)調(diào)的一點(diǎn)就是Relentless pursuit of excellence:永無止境的不斷的持續(xù)的追求。
我們要么不做,要做的事情一定做最好,這是我對大家的要求。數(shù)據(jù)庫也好,做大平臺也好,大數(shù)據(jù)也好,我們要做什么事情,我們一定要下決心,這是我對你們每個人的要求,做什么事情一定要做最好,一定要是做業(yè)界最強(qiáng)的。
每天學(xué)習(xí),可能是對每個人都是最最重要的。
我今天分享一下,我自己怎么想我自己的。就很簡單一個概念,我把自己想象是一個軟件、一個代碼,今天的版本一定要比昨天版本好,明天的版本肯定會比今天好,因?yàn)榧词狗噶隋e誤,我里面有If statement,說如果見到這個錯誤,絕對不要再犯。
英語,另外有一句說法就是Life is too short, don’t live the same day twice. 同樣一天不要重活兩次。每天都是不一樣,每天為什么不一樣,因?yàn)槊刻於甲兂勺詈?,每天都變得更好。今天的版本一定要比昨天好,每個好的、杰出的工程師,杰出的技術(shù)領(lǐng)袖,一定要保持自己學(xué)習(xí)的能力,特別是學(xué)習(xí)的范圍。
在這上面我也稍微引申一下,做Computer science的,如果只學(xué)Computer science,不去學(xué)一些其他的行業(yè),肯定不夠。我舉個例子,經(jīng)濟(jì)學(xué)必須要學(xué)。為什么這樣講?Computer science它有個很大的限制,他是假定你有輸入以后有輸出,這種解決問題的方式有它的好處,但有它的限制性。
我給大家舉個例子,地圖導(dǎo)航,如果你純粹用這個方式去做,你只是把一個擁擠的地方移到另外一個擁擠的地方。經(jīng)濟(jì)學(xué),它對問題的建模是不一樣的。它起點(diǎn)是假定是一個整體的一個生態(tài),每個人的輸入都是另外一個人的輸出,你要用經(jīng)濟(jì)學(xué)的方式來描述地圖導(dǎo)航的問題,你就會去算一個Equilibrium,市場也是這樣。
如果把深度學(xué)習(xí)真的要想徹底,必須把物理重學(xué)一遍,把生物學(xué)看一遍,再把進(jìn)化論再看一遍。因?yàn)樯疃葘W(xué)習(xí)跟這些東西完全相關(guān),自己肯定想不清楚,要徹底想清楚,必須學(xué)。
另外,學(xué)產(chǎn)品,我以前跟所有的工程師都講,如果不懂產(chǎn)品,你不可能成為一個最好的工程師。真正要做世界一流的工程師不光要懂產(chǎn)品,還要懂整個商業(yè),懂生態(tài)。因?yàn)槟愕墓ぷ鞯呢?zé)任,是能夠看到將來,把技術(shù)展望到將來的需求,把平臺、把開發(fā)流程、把你的團(tuán)隊(duì)為將來做準(zhǔn)備。所以學(xué)習(xí)是非常非常重要的。
最后是從我做起。
我們公司有個非常大的使命,用科技讓復(fù)雜的世界更簡單。整個世界非常非常復(fù)雜,人其實(shí)所做的事情基本上都是Reduce entropy。
因?yàn)閺臒崃W(xué)第二定律來講,世界是會變得越來越亂的,我們想做的事情就是把它變的更簡單,讓我們生活變得更美好。
而且具體的,我們可以通過人工智能技術(shù)來做到喚醒萬物,但是這一切是通過每一個人的一點(diǎn)一滴的行為累計(jì)起來,從我做起。還有Ownership,看到機(jī)會不需要問別人,有機(jī)會就去做,看到問題也不要去問別人,就把它Fix。
把我們的使命、把我們的公司當(dāng)成我們自己每個人的事業(yè)來做,我可以坦誠的給每個人講,如果你把公司的使命,把公司的事業(yè),當(dāng)成你自己個人的事業(yè),Own everything,你在職業(yè)生涯一定是走得最快。從我做起,從身邊的每一件事情做起。
Believe in 技術(shù)、站在巨人的肩膀上做創(chuàng)新、追求Engineering Excellence、每天學(xué)習(xí)、Ownership,陸奇送給每一位工程師的建議,你get到了嗎?