什么造就了良好的工程文化 | IDCF

原文:http://www.effectiveengineer.com/blog/what-makes-a-good-engineering-culture 作者:Edmond Lau 譯者:冬哥
我最喜歡問(wèn)工程候選人的面試問(wèn)題之一,是告訴我有關(guān)以前公司的工程文化最喜歡和最不喜歡的一件事。我采訪(fǎng)了 500 多人——其中許多人來(lái)自 Facebook、谷歌、亞馬遜、Palantir 和 Dropbox 等頂級(jí)科技公司——隨著時(shí)間的推移,這個(gè)面試問(wèn)題讓我了解了優(yōu)秀的工程師在尋找什么以及他們?cè)噲D避免什么。
回顧面試回答以及我過(guò)去七年在 Google、Ooyala 和 Quora 工作的經(jīng)歷,我總結(jié)了團(tuán)隊(duì)可以做的十件事來(lái)建立良好的工程文化。
一、優(yōu)化迭代速度
快速迭代增加了工作動(dòng)力和興奮度。部署代碼和發(fā)布功能時(shí)基礎(chǔ)設(shè)施和官僚方面的障礙,是工程師在面試中提到的他們?yōu)槭裁措x開(kāi)目前公司的一些最常見(jiàn)和令人沮喪的原因。
在組織上,快速迭代意味著賦予工程師和設(shè)計(jì)師靈活性和自主權(quán),無(wú)需征得許可即可做出日常決策。當(dāng)我在 Google 時(shí),任何用戶(hù)可見(jiàn)的搜索結(jié)果更改,即使是低流量實(shí)驗(yàn),都需要在每周一次的 UI 審查中獲得 Marissa Mayer 的批準(zhǔn)。毋庸置疑,雖然這讓谷歌能夠保護(hù)其搜索品牌,但它嚴(yán)重阻礙了創(chuàng)新。優(yōu)化迭代速度還意味著有明確定義的產(chǎn)品發(fā)布流程,在投入大量時(shí)間后不會(huì)被意外取消。 在基礎(chǔ)架構(gòu)上,優(yōu)化迭代速度意味著構(gòu)建持續(xù)部署以支持快速驗(yàn)證、高測(cè)試覆蓋率以減少構(gòu)建和站點(diǎn)損壞、快速單元測(cè)試以鼓勵(lì)人們運(yùn)行它們,以及快速增量編譯和重新加載以減少開(kāi)發(fā)時(shí)間。持續(xù)部署,值得特別提及,即提交立即投入生產(chǎn)。在 Quora 使用它之前,我很難理解它為迭代速度提供的好處超過(guò)了站點(diǎn)損壞的風(fēng)險(xiǎn),至少對(duì)于小型工程團(tuán)隊(duì)而言。人們對(duì)功能更感興趣,同時(shí)也有動(dòng)力修復(fù)錯(cuò)誤,因?yàn)樽兏軌蚝芸炜吹綄?shí)時(shí)流量效果。 在團(tuán)隊(duì)方面,快速迭代意味著擁有一組強(qiáng)大的領(lǐng)導(dǎo)者來(lái)幫助協(xié)調(diào)和推動(dòng)團(tuán)隊(duì)努力。決策中的關(guān)鍵利益相關(guān)者需要有效地做出決定并致力于他們的選擇。借用曾執(zhí)教 49 人隊(duì) 3 次超級(jí)碗的領(lǐng)袖比爾沃爾什的一句話(huà),強(qiáng)大的領(lǐng)袖需要“承諾、爆發(fā)、恢復(fù)”,這意味著承諾進(jìn)攻計(jì)劃,執(zhí)行它,然后對(duì)結(jié)果做出反應(yīng)。優(yōu)柔寡斷的團(tuán)隊(duì)只會(huì)使個(gè)人努力陷入困境。
二、不懈地推動(dòng)自動(dòng)化
三、構(gòu)建正確的軟件抽象
“選擇正確的,編程就會(huì)從設(shè)計(jì)中自然而然地流動(dòng)起來(lái);模塊將具有小而簡(jiǎn)單的接口;新功能更有可能在不進(jìn)行大規(guī)模重組的情況下適應(yīng)。選擇錯(cuò)誤的,編程將是一系列令人討厭的驚喜:界面將變得巴洛克式和笨拙,因?yàn)樗鼈儽黄冗m應(yīng)意料之外的交互,即使是最簡(jiǎn)單的更改也很難做出?!?/span>
四、通過(guò)代碼審查培養(yǎng)對(duì)高代碼質(zhì)量的關(guān)注
增加及時(shí)審查代碼的責(zé)任 允許團(tuán)隊(duì)成員(尤其是新成員)進(jìn)行建模其他人的良好代碼審查 加速最佳編碼實(shí)踐的傳播
五、保持相互尊重的工作環(huán)境
六、建立代碼的共享所有權(quán)
首先,保持總線(xiàn)因子大于 1 可以減輕維護(hù)人員的壓力,并在維護(hù)人員離開(kāi)時(shí)降低團(tuán)隊(duì)的風(fēng)險(xiǎn)。這也讓那個(gè)人很難無(wú)憂(yōu)無(wú)慮地休假。我當(dāng)然不會(huì)錯(cuò)過(guò)我是 Ooyala 日志處理器的唯一維護(hù)者的日子,并在我在夏威夷的火山上度假遠(yuǎn)足時(shí)被尋呼。 其次,共享所有權(quán)使在特定領(lǐng)域不夠深入的工程師能夠貢獻(xiàn)新的見(jiàn)解。它讓工程師們從被困在某些項(xiàng)目上的感覺(jué)中解脫出來(lái),并鼓勵(lì)他們從事多樣化的項(xiàng)目,這有助于保持工作的趣味性并促進(jìn)員工的學(xué)習(xí)和積極性。從長(zhǎng)遠(yuǎn)來(lái)看,它降低了一些工程師感到停滯并決定離開(kāi)的組織風(fēng)險(xiǎn)。 第三,共享所有權(quán)還為在需要更快完成戰(zhàn)略目標(biāo)時(shí)讓多個(gè)團(tuán)隊(duì)成員聚集在一起(敏捷開(kāi)發(fā)的一種技術(shù))一起解決高優(yōu)先級(jí)問(wèn)題奠定了基礎(chǔ)。對(duì)于孤立的所有權(quán),負(fù)擔(dān)通常落在一兩個(gè)人身上。
七、投資于自動(dòng)化測(cè)試
八、分配20%的時(shí)間
九、建立學(xué)習(xí)和持續(xù)改進(jìn)的文化
十、聘用最優(yōu)秀的人才

那就是.......開(kāi)黑馬呀~
IDCF DevOps黑客馬拉松,獨(dú)創(chuàng)端到端DevOps體驗(yàn),精益創(chuàng)業(yè)+敏捷開(kāi)發(fā)+DevOps流水線(xiàn)的完美結(jié)合,2021年僅有的3場(chǎng)公開(kāi)課,數(shù)千人參與并一致五星推薦的金牌訓(xùn)練營(yíng),追求卓越的你一定不能錯(cuò)過(guò)!
11月6-7日,深圳站,企業(yè)組隊(duì)參賽&個(gè)人參賽均可,一年等一回,錯(cuò)過(guò)等一年,趕緊上車(chē)~??

