豆瓣網(wǎng)Qa主管解彥博演講實(shí)錄:好鋼用在刀刃上

2021-10-15    分類(lèi): 網(wǎng)站建設(shè)

我今天演講題目是好鋼用在刀刃上,回顧一下豆瓣在這些年發(fā)展過(guò)程,我覺(jué)得我們之所以能夠在比較少人氣下實(shí)現(xiàn)豆瓣所有功能做得相對(duì)還算不錯(cuò),非常 重要一 個(gè)原因是我們一直保持一種創(chuàng)業(yè)公司的團(tuán)隊(duì)文化、工作方法。所以我今天想跟大家分享的是如何把我們最好的優(yōu)勢(shì)以大的精力放在應(yīng)該做的事情上。

開(kāi)發(fā)過(guò)程,這個(gè)事我也沒(méi)有真正研究過(guò),我想英國(guó)維基百科上,我看了一大廢話,軟件開(kāi)發(fā)過(guò)程是開(kāi)發(fā)軟件的過(guò)程,我找了中文的說(shuō)軟件開(kāi)發(fā)是根據(jù)用戶 要求建 造出軟件產(chǎn)品開(kāi)發(fā)的過(guò)程, 這兩個(gè)哪個(gè)好一點(diǎn)豆瓣開(kāi)發(fā)是在有限人力資源下按照網(wǎng)站需要開(kāi)發(fā)的過(guò)程,豆瓣一直到現(xiàn)在雖然我們也出了一些手持設(shè)備應(yīng)用,但是從基本上所有應(yīng)用都需要聯(lián)在 網(wǎng)上,還是一個(gè)互聯(lián)網(wǎng)公司?;ヂ?lián)網(wǎng)公司最重要一個(gè)特制是快,需求變化也快,上線也快,產(chǎn)品經(jīng)理天天追你,工程完成沒(méi)有,今天能不能上,但是豆瓣有另外一個(gè)問(wèn)題,我們?nèi)藛T相對(duì)比較少,是因?yàn)槲覀兘?jīng)營(yíng)一些技術(shù)還有說(shuō)我們一些想法理念,在后面會(huì)談到。


所以,我們總結(jié)了一下,我認(rèn)為這個(gè)豆瓣開(kāi)發(fā)部門(mén)文化,創(chuàng)業(yè)團(tuán)隊(duì)的文化我覺(jué)得有兩點(diǎn)特別重要,所以我想分享一下一個(gè)就是效率,我們非常堅(jiān)持效率, 不管是工作效率還是開(kāi)發(fā)效率,這個(gè)是非常重要的,因?yàn)闀?huì)直接影響到你的效率。另外是團(tuán)隊(duì)熱忱,創(chuàng)業(yè)團(tuán)隊(duì),開(kāi)發(fā)一個(gè)東西的時(shí)候什么時(shí)候是最有效率,什么時(shí)候產(chǎn)出率 生產(chǎn)出來(lái)代碼好,自己一個(gè)人有一個(gè)特別好的點(diǎn)子剛想出來(lái)熬夜做出來(lái),這個(gè)時(shí)候你的工作效率是特別高的,最后豆瓣反映在創(chuàng)業(yè)團(tuán)隊(duì)里面就是熱情,如果沒(méi)有熱情不能一直非常高效的開(kāi)發(fā)工作。


說(shuō)到效率豆瓣有一些經(jīng)驗(yàn)是非典型的,比如說(shuō)第一個(gè)我們選擇用python這個(gè)語(yǔ)言,愿意就是大蟒蛇,這個(gè)高級(jí)語(yǔ)言對(duì)我們來(lái)說(shuō)其實(shí)是有利有弊,首 先它的語(yǔ)法是類(lèi)函數(shù)式編成混合,很符合開(kāi)發(fā)人員胃口,想這樣做就這樣做,那樣做就那樣做,兩個(gè)都支持,都可以考慮,另外是腳本語(yǔ)言,騰訊說(shuō)到上線過(guò)程中要有專門(mén) 服務(wù)器,我們不需要對(duì)準(zhǔn)服務(wù)器,我們是腳本上去以后我們就可以直接跑了,但是也有一些弊端,是高級(jí)語(yǔ)言是動(dòng)態(tài)化,帶來(lái)一些非常難解決的問(wèn)題,在運(yùn)營(yíng)過(guò)程中 某些問(wèn)題才能體現(xiàn)出來(lái),我們發(fā)現(xiàn)已經(jīng)非常常見(jiàn)問(wèn)題,循環(huán)進(jìn)入,但是當(dāng)你代碼規(guī)模越來(lái)越大的時(shí)候,之間交互關(guān)系特別復(fù)雜,一旦沒(méi)有控制好模塊,我引用你,你 引用我,跑的時(shí)候邏輯不是這么簡(jiǎn)單,涉及三四個(gè)模塊,人沒(méi)有發(fā)現(xiàn)這個(gè)循環(huán),上線跑程序直接就不行了,這個(gè)是很要命的,我們也做了一些工作,還沒(méi)有解決這個(gè)也是我們需要解決的問(wèn)題。中國(guó)有一個(gè)很活躍的python圈子,python語(yǔ)言用于web是非常好的選擇。


說(shuō)一些實(shí)際例子我們看一看實(shí)際怎么用的,這里面一個(gè)任務(wù)是一個(gè)交互式直行頁(yè)面,python非常大的優(yōu)勢(shì)是可以交互式執(zhí)行,在交互式可以直接用 一條,這個(gè)文件前面出現(xiàn)第一個(gè)提示符做了一大堆工作,把所有豆瓣網(wǎng)站代碼都已經(jīng)啟動(dòng)起來(lái),可以無(wú)縫調(diào)用代碼,做一些調(diào)試,運(yùn)維工作特別重要,因?yàn)橛行┕ぷ鞅热缯f(shuō) 我把某一個(gè)有問(wèn)題緩存清理掉,有一個(gè)人什么東西丟了,我查一下看看具體后臺(tái)數(shù)據(jù)有沒(méi)有,這些工作是用代碼里面的某一行調(diào)一下就知道了,這個(gè)東西節(jié)省我們大量時(shí)間。


MC是我們內(nèi)部用的一個(gè)訪問(wèn)緩存系統(tǒng)標(biāo)準(zhǔn)接口,后面可以把這個(gè)頁(yè)面取出來(lái),這里面也涉及到python另外一個(gè)優(yōu)點(diǎn),高級(jí)語(yǔ)言優(yōu)勢(shì)在這兒顯示出 來(lái)。另外一個(gè)節(jié)省時(shí)間python是一個(gè)非常有歷史語(yǔ)言,出現(xiàn)時(shí)間跟Java是一樣,這些年發(fā)展過(guò)程中有第三方人寫(xiě)一些非常好的代碼功能,我們是可以直接拿出來(lái) 用,這個(gè)是豆瓣代碼里面截取出來(lái),上面三行PL是美國(guó)一家公司開(kāi)發(fā)處理圖象的一個(gè)軟件包,我把某個(gè)圖片調(diào)一下透明度,下面可以給某個(gè)圖片加上一個(gè)水印,這兩個(gè)簡(jiǎn)單功能有這些第三方工具支持下可以很容易的寫(xiě)出來(lái)了。


另外一個(gè)非常重要的高效率的方式我認(rèn)為也是創(chuàng)業(yè)公司,并不是說(shuō)特別注重我們現(xiàn)在每個(gè)團(tuán)隊(duì)都是創(chuàng)業(yè)團(tuán)隊(duì),我們做任何事情并不是說(shuō)把這個(gè)東西限制 死,我現(xiàn)在上線系統(tǒng)啟動(dòng)起來(lái),有一個(gè)專門(mén)做這個(gè)上線事,我們發(fā)布一個(gè)上線流程,最后大家都來(lái)批單子,豆瓣是說(shuō)有需要上線事物過(guò)來(lái)跟我說(shuō),我們相信內(nèi)部溝通比煩瑣過(guò) 程更有效,尤其是豆瓣人數(shù)并不多的情況下,我不是攻擊其他大公司,我相信人數(shù)到一定數(shù)量的時(shí)候有一些必要的流程是要走的。看一下開(kāi)發(fā)流程,對(duì)于一個(gè)開(kāi)發(fā)者 來(lái)說(shuō)基本上這些東西都是每天每個(gè)星期都要接觸的,要做一個(gè)事情,今天我要給圖書(shū)頻道加一個(gè)新功能,程序員把程序主干搞出一份作為分支,生出一個(gè)新的小芽, 這樣的話,不管我提交跟其他代碼不影響,剩下就是開(kāi)發(fā),改程序提交,測(cè)試,甚至把其他人拉過(guò)來(lái),工程師有沒(méi)有時(shí)間幫我測(cè)一側(cè),這些事都做完以后,剩下最沒(méi)技術(shù)含量上線工作。


但是這個(gè)開(kāi)發(fā)流程并不是唯一的流程,我們流程隨時(shí)是可以拿掉的,可以看一下這個(gè),作為一個(gè)很常見(jiàn)情況要預(yù)測(cè)所有事情有可能出問(wèn)題,包括硬盤(pán)我們 覺(jué)得用幾年沒(méi)有問(wèn)題,到機(jī)房一百臺(tái)機(jī)器基本上每天都有硬盤(pán)壞,比如說(shuō)緊急上線我出問(wèn)題,導(dǎo)致上線上人完全不可用,用了以后會(huì)有各式各樣的問(wèn)題,這種時(shí)候要緊急上 線,出了一個(gè)問(wèn)題趕緊修,兩分鐘修完了,大家看看修的有沒(méi)有問(wèn)題,沒(méi)有問(wèn)題,馬上幫你上這個(gè)就是過(guò)程,可以說(shuō)一個(gè)例子,星期五有一次緊急上線,這次上線是 四分鐘,發(fā)現(xiàn)問(wèn)題,到修改,最后所有都完畢,這個(gè)能力是非常重要的,因?yàn)樽鳛橐粋€(gè)互聯(lián)網(wǎng)公司我們保留一個(gè)傳統(tǒng),帶來(lái)一個(gè)問(wèn)題不可能把所有大的都在前期解決 掉,因?yàn)楝F(xiàn)在要維護(hù)產(chǎn)品也是非常多的,在所有這些每天都會(huì)有代碼提交情況下,要保障完全覆蓋兩個(gè)測(cè)試中心每個(gè)公司都做不到,我們?cè)试S出現(xiàn)問(wèn)題,所以上線的時(shí)候大家要在那盯著,一出問(wèn)題上線工程師直接把上線過(guò)程暫停,誰(shuí)誰(shuí)出問(wèn)題了趕緊修,這個(gè)是非常好的辦法,如果我沒(méi)計(jì)錯(cuò)是從Facebook學(xué)來(lái)的。


把上線流程詳細(xì)說(shuō)一下,實(shí)際上后面還是有正常環(huán)節(jié)下還是有很多工作要做,比如說(shuō)開(kāi)發(fā)以后首先代碼要復(fù)審,在開(kāi)發(fā)過(guò)程中每天團(tuán)隊(duì)要看看這個(gè)代碼怎 么樣,復(fù)審過(guò)程中圖片上看到一大堆人對(duì)你的代碼指指劃劃,團(tuán)隊(duì)復(fù)審是促進(jìn)團(tuán)隊(duì)交流系統(tǒng)越來(lái)越大,里面架構(gòu),各種需要注意的地方越來(lái)越多,這個(gè)事情并不是每個(gè)人都 能意識(shí)到,尤其是對(duì)于新加入豆瓣的員工,通過(guò)代碼復(fù)審,尤其是新員工入職前保證基礎(chǔ)開(kāi)發(fā)知識(shí),代碼規(guī)范在團(tuán)隊(duì)內(nèi)進(jìn)行良好溝通,包括團(tuán)隊(duì)內(nèi)部也是每個(gè)人做不同事情,做這個(gè)產(chǎn)品我之前沒(méi)有接觸,如果沒(méi)有代碼復(fù)審團(tuán)隊(duì)內(nèi)部交流,雖然在同一個(gè)團(tuán)隊(duì)工作對(duì)某一些代碼是不清楚的。


測(cè)試在豆瓣也有非典型,測(cè)試這個(gè)活由開(kāi)發(fā)測(cè)試時(shí)工程師共同復(fù)雜,單元測(cè)試,web測(cè)試,所有這些東西開(kāi)發(fā)工程師必須了解,學(xué)習(xí),必須使用,這個(gè) 過(guò)程中為了提過(guò)效率有一些自動(dòng)化系統(tǒng)幫助工程師做這個(gè)事情。一個(gè)最重要目的就是說(shuō)測(cè)試并不是由軟件質(zhì)量代碼質(zhì)量并不是由測(cè)試工程師決定,這個(gè)工程師起到事后彌補(bǔ) 作用,代碼質(zhì)量源頭是開(kāi)發(fā)工程師,沒(méi)有對(duì)測(cè)試美的追求的話,可能寫(xiě)不出好的代碼,應(yīng)付一下今天要上,趕緊拷貝粘貼。所以我們希望每個(gè)人都有質(zhì)量意識(shí),有了 前面這些東西以后,對(duì)于豆瓣來(lái)說(shuō)工具是一個(gè)很大程度提高工作效率一種手段,工具包括很多方面,豆瓣我們可以看一下這幾個(gè)例子,交互式執(zhí)行,有些東西是不適 合我們做,有些東西雖然不是上線給用戶用,但是也是一長(zhǎng)段代碼,tools有大量上百個(gè)腳本是以往留下來(lái),這些腳本實(shí)際上我認(rèn)為凝結(jié)前人一些智慧知識(shí),比 如說(shuō)我下來(lái)要發(fā)一些信,考慮我從頭寫(xiě),學(xué)習(xí)一下豆瓣內(nèi)部怎么發(fā)郵件,有了tools有人會(huì)告訴新員工不用,搜一下,搜一下就可以發(fā)現(xiàn)很多版本,每個(gè)代碼是經(jīng)過(guò)很多人驗(yàn)證的,在線上運(yùn)行很久是經(jīng)過(guò)實(shí)踐的經(jīng)驗(yàn)。


下面是有一些截圖,是做代碼靜態(tài)掃描,很多毛病只有真的跑起來(lái)才知道,但是軟件寫(xiě)到后面分支那么多沒(méi)有辦法在測(cè)試的時(shí)候把所有分支再跑一次,需 要掃描所有原代碼元件,包括這里面顯示,有一個(gè)自己擴(kuò)展能力,寫(xiě)了一些豆瓣自己掃描代碼的小工具放進(jìn)去,掃描話段引用,發(fā)現(xiàn)三個(gè)元件可能有問(wèn)題,這行代碼要用某一個(gè)函數(shù)處理一下,這個(gè)可以提醒開(kāi)發(fā)者有一些隱患,這個(gè)里面已經(jīng)包含一些問(wèn)題,寫(xiě)的時(shí)候不用說(shuō)自己要去跑來(lái)跑去的,把所有東西都折騰一次。錯(cuò)誤日志是web公司強(qiáng)項(xiàng),所有錯(cuò)誤都在自己的服務(wù)器上,但是有產(chǎn)生另外一個(gè)問(wèn)題,同樣分布在很多機(jī)器上,可能尤其是有運(yùn)維人員維護(hù)并不是每臺(tái)服務(wù)器都能上去,我們 開(kāi)發(fā)了這樣一個(gè)工具,目的把所有出現(xiàn)錯(cuò)誤日志抓下來(lái),會(huì)把每一個(gè)當(dāng)時(shí)出錯(cuò)現(xiàn)場(chǎng)涉及每行代碼留下來(lái),把每個(gè)當(dāng)時(shí)涉及變量值保留下來(lái),包括用戶當(dāng)時(shí)訪問(wèn)這個(gè)的 時(shí)候帶著各式各樣變量之類(lèi)的,讓我們的程序員可以專注于說(shuō)在一個(gè)地方發(fā)現(xiàn)所有問(wèn)題,比如說(shuō)我上線了,代碼上線出沒(méi)出錯(cuò),首先要高優(yōu)先級(jí)錯(cuò)誤,我刷半個(gè)小時(shí) 發(fā)現(xiàn)沒(méi)有錯(cuò)誤,可能出新一兩個(gè)其他的東西,看一看,是我還是其他人,出去是其他人可以通知他一下,讓程序員調(diào)試?yán)锩娼饷摿耍ǔ鲥e(cuò)怎么回事,點(diǎn)開(kāi)可以看到當(dāng)時(shí)出錯(cuò)用戶請(qǐng)求傳過(guò)來(lái)的東西,大多數(shù)時(shí)候可以改程序不用做本地環(huán)境復(fù)建等等。


另外我們也需要一些提高網(wǎng)站效率的工具,豆瓣資源少不光指人,包括我們服務(wù)器也很少,所以服務(wù)器上面程序執(zhí)行效率對(duì)我們來(lái)說(shuō)意義很重大,可以幫 我們省很多錢(qián),我們很早的時(shí)候做了一個(gè)工具,可以在線跑,刷一個(gè)頁(yè)面,底層有哪些語(yǔ)句,運(yùn)行情況怎么樣,哪些是熱點(diǎn),執(zhí)行特別多,花費(fèi)時(shí)間特別長(zhǎng)等等之類(lèi)的,這個(gè)是對(duì)我們非常有效率的工具,用了這個(gè)工具以后平均訪問(wèn)時(shí)間保持在一個(gè)比較小的范圍之內(nèi)。


這些工具還是需要人去執(zhí)行。我們希望這個(gè)工具讓計(jì)算機(jī)自動(dòng)做,我們可以做更多事了,最簡(jiǎn)單web測(cè)試,我們把它框架建設(shè)起來(lái),也建立起來(lái)自動(dòng)化 的方式,之前程序員一個(gè)一個(gè)測(cè)試,跟我們報(bào)表結(jié)合起來(lái),只有在程序員做完以后提交,提交以后程序自動(dòng)考,沒(méi)有消息就是好消息,沒(méi)有收到郵件說(shuō)明你的代碼很好已經(jīng)通過(guò)了,如果收到郵件就要趕緊修,所有后面人也會(huì)收到同樣報(bào)告,這里面只有功能失效才會(huì)發(fā)警告信。


說(shuō)了這么多東西,但是我覺(jué)得最核心一個(gè),也是對(duì)豆瓣來(lái)說(shuō)保持開(kāi)發(fā)團(tuán)隊(duì)創(chuàng)造力的一個(gè)很重要方面,就是我們給大家提供很靈活選擇空間,回想一下現(xiàn)象 獨(dú)立開(kāi)發(fā),創(chuàng)業(yè)團(tuán)隊(duì)高效率原因,一心鋪到上面去,他做的是一個(gè)全新前人沒(méi)有做過(guò)的事情,因?yàn)闆](méi)有前人經(jīng)驗(yàn),所以從用戶角度對(duì)這個(gè)東西做設(shè)想,分析所有里面利益, 他會(huì)選擇一個(gè)最好的方案去做,這個(gè)過(guò)程中如果沒(méi)有這些東西只給他限定一條路線,你只能用python就不好玩了,我們希望程序員有一個(gè)更靈活選擇空間,希望團(tuán)隊(duì)能夠不斷接觸新的機(jī)制,技術(shù),把這些技術(shù)應(yīng)用到豆瓣開(kāi)發(fā)里面來(lái)。


我們有一些基礎(chǔ)的設(shè)施,就是通過(guò)這種方式逐漸實(shí)現(xiàn)起來(lái)的,比如說(shuō)我們有一個(gè)分布式數(shù)據(jù)庫(kù)方案,我們內(nèi)部也做了一些其他東西,這個(gè)東西接口非常簡(jiǎn) 單,只有放進(jìn)去,取出來(lái),刪除就這么幾個(gè)操作,有了這樣基礎(chǔ)設(shè)施開(kāi)發(fā)者有省事了,這個(gè)時(shí)提高效率非常重要的方面。包括前面說(shuō)的我們可以自由選擇設(shè)計(jì)方案,這個(gè)自 由也是有限度我們公司也有架構(gòu)師,我們會(huì)一起討論這個(gè)新項(xiàng)目打算怎么做,選擇這個(gè)東西跟現(xiàn)有有什么好處,所有東西都是在大家廣泛溝通之下達(dá)成共識(shí),比如說(shuō) 豆瓣有一些項(xiàng)目是用django做的,還有一些其他的,類(lèi)似的也有,我們開(kāi)發(fā)方式,豆瓣是一個(gè)非典型,用了一個(gè)python,但是python也不是必選 項(xiàng),有用C的,有一個(gè)算法R,這些東西也都有,通過(guò)給大家更好的選擇空間我們希望避免我們內(nèi)部架構(gòu),技術(shù)僵化,希望提供一個(gè)更像創(chuàng)業(yè)團(tuán)隊(duì)自由用最好的方式把這個(gè)事做起來(lái)。


我們相信所有這些我們自己都做完了,如果大家團(tuán)隊(duì)死氣沉沉,干活沒(méi)有什么興趣,我想這個(gè)公司不用創(chuàng)業(yè),直接就可以倒閉,我們非常強(qiáng)調(diào)工作熱情, 里面人,環(huán)境成長(zhǎng)這些都是非常重要的因素,我們的員工都是平等的,開(kāi)發(fā)部門(mén),技術(shù)主管,我們架構(gòu)師,我們所有運(yùn)維,我們開(kāi)發(fā)等等所有人都是可以開(kāi)發(fā)的,而且直 到今天大家也還在做開(kāi)發(fā)工作,我們希望通過(guò)這個(gè)東西可以讓大家能夠感受到我們真的是一個(gè)團(tuán)隊(duì),我們討論問(wèn)題的時(shí)候也不會(huì)說(shuō)像一個(gè)領(lǐng)導(dǎo),大家都懂技術(shù)大家可 以進(jìn)行真正溝通,選擇我們用什么東西,所以我覺(jué)得工作熱情一個(gè)員工是肯定不行的,引用一下Facebook前工程總監(jiān)一句話,他說(shuō)永遠(yuǎn)將招聘作為你的第 一要?jiǎng)?wù)。
當(dāng)然豆瓣雖然沒(méi)有把它作為這么嚴(yán)格的重要一點(diǎn),但是豆瓣來(lái)說(shuō)實(shí)際上招聘也已經(jīng)相當(dāng)于我們第一要?jiǎng)?wù),我們對(duì)于招人非常謹(jǐn)慎,幾年時(shí)間下來(lái)我們?nèi)藬?shù) 并不是增長(zhǎng)特別快,我們招人有很多要求,當(dāng)然這個(gè)要求并不是要求你有這個(gè)能力,那個(gè)能力,我們覺(jué)得最后最重要一關(guān)就是前面說(shuō)的,我們要保持工作團(tuán)隊(duì)熱情, 所以你這個(gè)人不管你再牛,要能跟團(tuán)隊(duì)和諧工作,大家在一塊做得很好,不能說(shuō)我能力很高,我來(lái)了以后就看其他人不順眼這個(gè)團(tuán)隊(duì)就完蛋了,所以我們招聘工作會(huì) 邀請(qǐng)所有招聘員工團(tuán)隊(duì)甚至于跟這個(gè)團(tuán)隊(duì)跟他可能會(huì)產(chǎn)生合作的人都來(lái)面試一下,確認(rèn)這個(gè)人是符合豆瓣,適合豆瓣,我有一個(gè)課題放在這兒,可以用非常好的辦法實(shí)現(xiàn),可以用一個(gè)團(tuán)隊(duì)成員能夠接受方式做創(chuàng)新這個(gè)是非常重要的事。

還有一個(gè)很重要工作環(huán)境,很多人到豆瓣辦公室去過(guò)一次,用一句話說(shuō)你們環(huán)境真是不太一樣,很開(kāi)放。另外現(xiàn)在我們選擇在798,相信很多人去 過(guò),798都是大廠房,科工委保密機(jī)構(gòu),甚至于之前我們租辦公室是在中間再加一層,豆瓣去了以后把那些都給拆了,我們鼓勵(lì)大家交流,討論,所有桌子是沒(méi)有隔板統(tǒng)統(tǒng)在一起,現(xiàn)在擠了一點(diǎn),我們又租了一個(gè)。


我們說(shuō)軟件環(huán)境,我們希望開(kāi)發(fā)工程師最重要是替產(chǎn)品經(jīng)理把事做成了,做好上線了,我們希望其他雜物能替他多節(jié)省一些時(shí)間,豆瓣集中一個(gè)例子,看 到把當(dāng)前代碼直接數(shù)據(jù)庫(kù)初始化,一鍵式工作環(huán)境,希望把這個(gè)東西做成盡量簡(jiǎn)化,這個(gè)相對(duì)來(lái)說(shuō)還是算比較快。還有一些已經(jīng)配制好開(kāi)發(fā)虛擬機(jī),不管你在哪,辦公室家里面聯(lián)上就可以了。


說(shuō)了各式各樣的東西,其中提到一點(diǎn)盡量少限制,盡量不做一些行政方面強(qiáng)制的東西,比如說(shuō)有了測(cè)試代碼,是不是要有一個(gè)代碼覆蓋率,這個(gè)很多時(shí)候 會(huì)成為你工作一個(gè)指標(biāo),如果達(dá)不到80%,在豆瓣我們盡量不會(huì)做這種限制,我們更多是給一些建議,你這樣做會(huì)比較好,但是你也有其他選擇,如果有其他選擇溝通一 下,確實(shí)好我們就讓你做,這是一個(gè)我們高效很重要原因,如果你把所有事情限制死了,大家在一個(gè)框框里面工作就沒(méi)有什么創(chuàng)新可言了,行政限制里面有時(shí)候也是 必須做一些的,比如說(shuō)要求寫(xiě)單元測(cè)試,我們不要求測(cè)試的覆蓋率。


還有一點(diǎn)就是我們盡量鼓勵(lì)中產(chǎn)生一些明星出來(lái),不像影視明星閃閃發(fā)光,開(kāi)發(fā)部門(mén)出來(lái)一個(gè)牛 人,做了一個(gè)特別牛的事在開(kāi)發(fā)部門(mén)都是一個(gè)明星,跟影星等級(jí)是差不多,我們更崇拜這種明星,明星有示范作用,做出一個(gè)好東西,這個(gè)人做得太好了,同樣工作 用了一天搞定了,他做出來(lái)的分布式數(shù)據(jù)庫(kù)用起來(lái)太方便了,通過(guò)他的示范效應(yīng)會(huì)把這些好東西向所有團(tuán)隊(duì)推廣,出這么一個(gè)人所有人都會(huì)拿來(lái)用,去學(xué)習(xí),但是要 考慮到團(tuán)隊(duì)里面有各式各樣人,性格是不一樣的,有的人特別喜歡造新東西,搞一些前人沒(méi)有做過(guò)的東西,有愛(ài)研究新技術(shù),語(yǔ)言增加一個(gè)新特性,用在我們網(wǎng)站上特別好等等,還有有潔癖的,我也是我還跑來(lái)搞Qa,有潔癖就打發(fā)他去做Qa或者做單元測(cè)試。


這個(gè)里面還有一種是任勞任怨,默默工作,起得比雞早,大家都知道了,這種老黃牛精神人本身性格不愿意做明星,這種人我覺(jué)得必須要加以鼓勵(lì)的,可 以通過(guò)跟大家在某些時(shí)候跟大家肯定他,讓團(tuán)隊(duì)人知道他這樣做法給我們帶來(lái)什么好處。每個(gè)都有自己角色,位置我相信每個(gè)人只要充分發(fā)揮他最擅長(zhǎng)的東西,讓他做自己最感興趣的東西就能夠把事做好,像自己獨(dú)立做事情的人,對(duì)那個(gè)東西特別捉迷就能做好,很不感興趣這個(gè)事就給你撂挑子了,干也干不好。說(shuō)了一大堆讓員工給我們奉獻(xiàn),員工自己也是有需要,豆瓣我們希望做各式各樣事情讓大家能夠每個(gè)人都成長(zhǎng)提高
我們做代碼復(fù)審等是一種技術(shù)標(biāo)準(zhǔn), 另外我們有一些團(tuán)隊(duì)內(nèi)活動(dòng)今天這位同學(xué)讀了一本書(shū),看到有一個(gè)東西特別好,我們到會(huì)議室聊一會(huì)兒,團(tuán)隊(duì)合作把團(tuán)隊(duì)之間知識(shí)進(jìn)行交流,我們也有一些培訓(xùn),開(kāi)發(fā)部門(mén),測(cè)試部門(mén),我有一些知識(shí)可能大家了解不清楚,可以給大家講一講,大家一塊來(lái)探討一下,另外我們每個(gè)月允許員工購(gòu)書(shū),世面什么書(shū)特別好豆瓣沒(méi)有我們可以幫你買(mǎi),看完了可以講一講,還有一個(gè)活動(dòng)就是Happy Day,設(shè)計(jì)一個(gè)游戲大家一起來(lái)玩,推廣單元測(cè)試知識(shí)我們?cè)O(shè)置了一個(gè),是一個(gè)真的游戲,有一個(gè)小游戲關(guān)于一個(gè)人配一把劍、盾,今天創(chuàng)新互聯(lián)要做的事大家都知道 a組上來(lái)以后寫(xiě)單元測(cè)試,B組實(shí)踐這個(gè)單元測(cè)試,下面C組寫(xiě)一個(gè)單元測(cè)試披露前面人的問(wèn)題,形成挑戰(zhàn)賽,這是非常好的推廣方法,但是這個(gè)過(guò)程中一定要跟其他團(tuán)隊(duì)合作協(xié)調(diào)一下,產(chǎn)品部門(mén)說(shuō)又拉出去,一個(gè)月搞很多次,要處理好大家之間的關(guān)系。


前面所有東西都是圍繞著一點(diǎn),人是最寶貴的,人來(lái)的以后不要玩命用,不要老加班,要更好的一個(gè)環(huán)境,更能激發(fā)他們環(huán)境做,這個(gè)實(shí)際上可以參考一 下自己,我相信大家都是開(kāi)發(fā)出身的,自己開(kāi)發(fā)過(guò)程中曾經(jīng)覺(jué)得壓力很大的時(shí)候有哪些事是你不能接受,有哪些如果那樣做肯定我會(huì)工作更舒服這些事情是我們?cè)趫F(tuán)隊(duì)里面要時(shí)刻注意,我們要善待自己,善待員工,自己不愿意做的事情,也不要強(qiáng)加到員工身上。

分享標(biāo)題:豆瓣網(wǎng)Qa主管解彥博演講實(shí)錄:好鋼用在刀刃上
分享路徑:http://muchs.cn/news35/131335.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站排名網(wǎng)站策劃、企業(yè)網(wǎng)站制作建站公司、外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司