<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 6233字,需瀏覽 13分鐘

           ·

          2021-11-05 15:32

          原文: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)化



          在技術(shù)演講“Scaling Instagram”中,Instagram 聯(lián)合創(chuàng)始人 Mike Krieger 將“優(yōu)化最小化運(yùn)營(yíng)負(fù)擔(dān)”作為他的 13 人團(tuán)隊(duì)在將產(chǎn)品擴(kuò)展到數(shù)千萬(wàn)用戶(hù)時(shí)學(xué)到的重要一課。隨著產(chǎn)品的增長(zhǎng),每個(gè)工程師的運(yùn)營(yíng)負(fù)擔(dān)也隨之增加,衡量標(biāo)準(zhǔn)是用戶(hù)與工程師的比率或功能與工程師的比率。例如,F(xiàn)acebook 以推崇擴(kuò)展指標(biāo)而聞名,例如每個(gè)工程師支持超過(guò) 100 萬(wàn)用戶(hù)。
          自動(dòng)化解決方案和編寫(xiě)重復(fù)性任務(wù)的腳本很重要,因?yàn)樗鼈兛梢宰尮こ虉F(tuán)隊(duì)騰出時(shí)間來(lái)處理實(shí)際產(chǎn)品。確保服務(wù)在發(fā)生故障時(shí)盡可能自動(dòng)重啟,并在高峰流量時(shí)輕松快速地復(fù)制服務(wù),這是大規(guī)模管理復(fù)雜性的唯一明智方法。在短期內(nèi),手動(dòng)應(yīng)用快速補(bǔ)丁而不是自動(dòng)化和測(cè)試長(zhǎng)期修復(fù)是總存在的誘人權(quán)衡。
          Etsy 的座右銘是“衡量任何事情,衡量一切” 及其對(duì)開(kāi)源監(jiān)控和圖表工具(如graphite和statsd)的支持突出了自動(dòng)化的一個(gè)重要方面——自動(dòng)化必須由數(shù)據(jù)和監(jiān)控驅(qū)動(dòng)。如果沒(méi)有監(jiān)控和日志來(lái)了解出現(xiàn)問(wèn)題的方式或原因,自動(dòng)化就很困難。一個(gè)很好的后續(xù)格言是“衡量任何事情,衡量一切,并盡可能實(shí)現(xiàn)自動(dòng)化”。

          三、構(gòu)建正確的軟件抽象



          我的麻省理工學(xué)院教授和本科生研究顧問(wèn) Daniel Jackson 很好地抓住了軟件抽象的重要性:
          “選擇正確的,編程就會(huì)從設(shè)計(jì)中自然而然地流動(dòng)起來(lái);模塊將具有小而簡(jiǎn)單的接口;新功能更有可能在不進(jìn)行大規(guī)模重組的情況下適應(yīng)。選擇錯(cuò)誤的,編程將是一系列令人討厭的驚喜:界面將變得巴洛克式和笨拙,因?yàn)樗鼈儽黄冗m應(yīng)意料之外的交互,即使是最簡(jiǎn)單的更改也很難做出?!?/span>
          讓成千上萬(wàn)的工程師在 Google 構(gòu)建可擴(kuò)展系統(tǒng)的部分原因是像 Jeff Dean 和 Sanjay Ghemawat 這樣真正聰明的工程師構(gòu)建了簡(jiǎn)單但通用的抽象,如MapReduce、SSTable、Protocol Buffers等。允許 Facebook 工程擴(kuò)展的部分原因是專(zhuān)注于類(lèi)似的核心抽象,如Thrift、Scribe和Hive。讓設(shè)計(jì)師能夠在 Quora 有效構(gòu)建產(chǎn)品的部分原因是Webnode 和 Livenode相當(dāng)容易理解和構(gòu)建。
          保持核心抽象的簡(jiǎn)單性和通用性可以減少對(duì)自定義解決方案的需求,并增加團(tuán)隊(duì)對(duì)通用抽象的熟悉程度和專(zhuān)業(yè)知識(shí)。Memcached、Redis、MongoDB 等系統(tǒng)的日益普及和可靠性降低了構(gòu)建自定義存儲(chǔ)和緩存系統(tǒng)的需求。將團(tuán)隊(duì)的注意力集中在少數(shù)核心抽象上,而不是將其分散在許多臨時(shí)解決方案上,這意味著公共庫(kù)變得更加健壯,監(jiān)控變得更加智能,性能特征得到更好的理解,測(cè)試變得更加全面。所有這些都有助于簡(jiǎn)化系統(tǒng)并減少操作負(fù)擔(dān)。

          四、通過(guò)代碼審查培養(yǎng)對(duì)高代碼質(zhì)量的關(guān)注



          維護(hù)高質(zhì)量的代碼庫(kù)可以提高整個(gè)工程團(tuán)隊(duì)的生產(chǎn)力。更簡(jiǎn)潔的代碼更易于推理、開(kāi)發(fā)更快、更易于更改且不易受錯(cuò)誤影響。健康的代碼審查過(guò)程使這成為可能。
          建立及時(shí)的代碼審查流程,無(wú)論是提交前還是提交后,都可以通過(guò)多種方式提高代碼質(zhì)量。首先,知道有人會(huì)審查你的代碼,以及提交寫(xiě)得不好的代碼可能會(huì)讓你的隊(duì)友失望的同行壓力是對(duì)黑客、不可維護(hù)或未經(jīng)測(cè)試的代碼的強(qiáng)大威懾。其次,代碼審查為代碼審查者和作者提供了相互學(xué)習(xí)以編寫(xiě)更好代碼的機(jī)會(huì)。
          如果工程團(tuán)隊(duì)的其他成員可以輕松訪(fǎng)問(wèn)代碼審查,那么審查還會(huì)帶來(lái)以下好處:
          • 增加及時(shí)審查代碼的責(zé)任
          • 允許團(tuán)隊(duì)成員(尤其是新成員)進(jìn)行建模其他人的良好代碼審查
          • 加速最佳編碼實(shí)踐的傳播
          敏捷團(tuán)隊(duì)沒(méi)有時(shí)間花在代碼審查上的反駁忽略了技術(shù)債務(wù),這些債務(wù)很容易因編寫(xiě)不當(dāng)?shù)拇a而累積。Ooyala,在其早期的創(chuàng)業(yè)時(shí)期,過(guò)去常常通過(guò)優(yōu)化來(lái)盡可能多地推出功能,而沒(méi)有代碼審查;結(jié)果是,雖然最初的產(chǎn)品可能更快地上市,但最終的代碼修改起來(lái)很痛苦,我們花了一年多的時(shí)間來(lái)重寫(xiě)脆弱的代碼以消除技術(shù)債務(wù)。
          就其規(guī)模而言,谷歌確實(shí)對(duì)所有代碼進(jìn)行了預(yù)提交代碼審查,但較小的團(tuán)隊(duì)不需要那么全面或嚴(yán)格,而且并非所有代碼都需要以同樣的嚴(yán)格性進(jìn)行審查。當(dāng)我在那里時(shí),Ooyala 后來(lái)通過(guò)電子郵件對(duì)核心或有風(fēng)險(xiǎn)的更改進(jìn)行了提交后審查。
          在 Quora,我們?cè)赑habricator 中進(jìn)行了所有代碼審查,主要是 post-commit,并對(duì)模型或控制器代碼和視圖代碼應(yīng)用不同的標(biāo)準(zhǔn);對(duì)于敏感代碼或新工程師的代碼,我們要么進(jìn)行預(yù)提交審查,要么嘗試在代碼提交后的幾個(gè)小時(shí)內(nèi)對(duì)其進(jìn)行審查。

          五、保持相互尊重的工作環(huán)境



          同行之間的尊重構(gòu)成了任何類(lèi)型的開(kāi)放式交流的基礎(chǔ)。人們可以輕松地挑戰(zhàn)彼此的想法的地方是通過(guò)辯論形成合理想法的地方。人們很容易被冒犯的地方是關(guān)鍵反饋被隱瞞的地方。
          1948 年,亞歷克斯·奧斯本 (Alex Osborn) 概述了過(guò)去幾十年來(lái)在工作環(huán)境中流行的熟悉的頭腦風(fēng)暴方法,參與者聚集在一起,擱置批評(píng)和負(fù)面反饋,將創(chuàng)意匯集在一起,而不必?fù)?dān)心受到評(píng)判。尊重地推遲判斷是此類(lèi)頭腦風(fēng)暴會(huì)議的關(guān)鍵。最近的心理學(xué)研究開(kāi)始推翻奧斯本的方法,認(rèn)為在頭腦風(fēng)暴會(huì)議中鼓勵(lì)辯論實(shí)際上有助于避免群體思維并產(chǎn)生更有效的想法。根據(jù)這項(xiàng)研究,一個(gè)相互尊重的環(huán)境變得更加重要,因此攻擊是針對(duì)想法而不是針對(duì)人的。
          工程通??缭綇V泛的領(lǐng)域(系統(tǒng)、機(jī)器學(xué)習(xí)、產(chǎn)品等),并不是每個(gè)人在每個(gè)領(lǐng)域都擁有相同的專(zhuān)業(yè)知識(shí)。事實(shí)上,一個(gè)強(qiáng)大的團(tuán)隊(duì)可能應(yīng)該擁有在某些領(lǐng)域特別強(qiáng)大的人,即使他們最終在其他方面有所欠缺。這有時(shí)會(huì)讓系統(tǒng)工程師很難評(píng)估產(chǎn)品工程師的熟練程度,但在健康的工程文化中,尊重這些差異而不是僅僅根據(jù)自己的優(yōu)勢(shì)進(jìn)行判斷很重要。

          六、建立代碼的共享所有權(quán)



          雖然個(gè)人精通代碼庫(kù)或基礎(chǔ)設(shè)施的各個(gè)部分是很自然的,但沒(méi)有人應(yīng)該覺(jué)得他們擁有或者自己是任何一個(gè)部分的唯一維護(hù)者。雖然讓個(gè)人成為擁有某些領(lǐng)域一年或更長(zhǎng)時(shí)間的專(zhuān)家可能會(huì)在短期內(nèi)提高效率,但從長(zhǎng)遠(yuǎn)來(lái)看,這種方法最終會(huì)產(chǎn)生巨大的傷害。
          在組織上,共享代碼所有權(quán)提供了三個(gè)好處。
          • 首先,保持總線(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è)人身上。
          許多工程組織過(guò)早犯下的一個(gè)錯(cuò)誤是,在團(tuán)隊(duì)還很小的時(shí)候,將整個(gè)團(tuán)隊(duì)劃分為由技術(shù)主管組成的子團(tuán)隊(duì)。子團(tuán)隊(duì)建立了所有權(quán)墻,從而減少了跨越這些墻的動(dòng)機(jī),因?yàn)閭€(gè)人可能會(huì)根據(jù)其子團(tuán)隊(duì)的目標(biāo)進(jìn)行評(píng)估。當(dāng)我在那里時(shí),Ooyala 有一些子團(tuán)隊(duì),而我錯(cuò)過(guò)的一件事是與其他團(tuán)隊(duì)的一些人一起工作的機(jī)會(huì);從那以后,他們采用了敏捷開(kāi)發(fā)流程,更加注重共享代碼所有權(quán),我聽(tīng)說(shuō)這在工作幸福感和生產(chǎn)力方面取得了長(zhǎng)足的進(jìn)步。我喜歡 Quora 早期的一個(gè)方面是我們強(qiáng)調(diào)項(xiàng)目而不是團(tuán)隊(duì),我有機(jī)會(huì)從事從用戶(hù)增長(zhǎng)、機(jī)器學(xué)習(xí)、審核工具、推薦、分析網(wǎng)站速度。

          七、投資于自動(dòng)化測(cè)試



          單元測(cè)試覆蓋率和一定程度的集成測(cè)試覆蓋率是管理具有大量人員的大型代碼庫(kù)而不會(huì)不斷破壞構(gòu)建或產(chǎn)品的唯一可擴(kuò)展方式。自動(dòng)化測(cè)試為提高代碼質(zhì)量所需的大規(guī)模重構(gòu)提供了信心和有意義的保護(hù)。在沒(méi)有嚴(yán)格的自動(dòng)化測(cè)試的情況下,工程團(tuán)隊(duì)或外包測(cè)試團(tuán)隊(duì)手動(dòng)測(cè)試所需的時(shí)間很容易變得令人望而卻步,并且很容易陷入害怕改進(jìn)一段代碼的文化,因?yàn)樗赡軙?huì)產(chǎn)生破壞。
          在實(shí)踐中,隨著團(tuán)隊(duì)的成長(zhǎng),自動(dòng)化測(cè)試是持續(xù)部署工作的必要條件。隨著產(chǎn)品的發(fā)展,代碼庫(kù)的大小會(huì)隨著時(shí)間的推移而增長(zhǎng),但隨著新人的加入,團(tuán)隊(duì)成員對(duì)代碼庫(kù)的平均熟悉度會(huì)下降。與那些在數(shù)月或數(shù)年后試圖修改代碼的人相比,當(dāng)原始代碼作者對(duì)代碼記憶猶新時(shí),他們最容易進(jìn)行測(cè)試和驗(yàn)證。鼓勵(lì)強(qiáng)大的單元測(cè)試文化將驗(yàn)證責(zé)任轉(zhuǎn)移到作者身上。

          八、分配20%的時(shí)間



          Gmail 起源于 Paul Buchheit 的 20% 項(xiàng)目,他在一天之內(nèi)開(kāi)發(fā)了第一個(gè)版本。Google News、Google Transit 和 Google Suggest 也作為 20% 的項(xiàng)目開(kāi)始并推出。我在谷歌用 20% 的時(shí)間來(lái)編寫(xiě)了一個(gè) python 框架,這使得構(gòu)建搜索頁(yè)面演示變得更加容易。雖然谷歌現(xiàn)在 20% 的時(shí)間可能比公司早期的效率低,但讓工程師將 20% 的時(shí)間花在產(chǎn)品地圖上沒(méi)有的事情上的想法仍然是小型工程組織創(chuàng)新的搖籃。
          當(dāng)我在那里時(shí),Ooyala 官方并沒(méi)有 20% 的時(shí)間,但我還是抽出了一些時(shí)間,并為 Flex 和 Actionscript 編寫(xiě)了一個(gè)命令行構(gòu)建工具,加快了團(tuán)隊(duì)的構(gòu)建時(shí)間。我在 Adobe 的 Flex Builder 工具鏈開(kāi)始退化時(shí)完成了它,即使工程團(tuán)隊(duì)的規(guī)模增加了兩倍多,該工具仍在使用中。Atlassian 在試驗(yàn)了一年后采用了 20% 的時(shí)間。Facebook 喜歡和 Ooyala 后來(lái)添加的 20% 時(shí)間的變化是定期黑客馬拉松 - 通宵活動(dòng),其中的規(guī)則是您可以從事除正常項(xiàng)目之外的任何事情。
          自上而下的產(chǎn)品規(guī)劃方法雖然對(duì)于關(guān)注公司的整體方向是必要的,但無(wú)法解釋更接近地面的工程師可能產(chǎn)生的眾多想法。只要工程師對(duì)他們 20% 的時(shí)間負(fù)責(zé)并專(zhuān)注于可能具有高影響力的變化,這些項(xiàng)目就可以在進(jìn)展中取得重大進(jìn)展。如果沒(méi)有 20% 的官方時(shí)間,工程師和設(shè)計(jì)師仍然有可能?chē)L試瘋狂的想法,但要困難得多——專(zhuān)職人員基本上必須找到周末或假期才能做到。

          九、建立學(xué)習(xí)和持續(xù)改進(jìn)的文化



          學(xué)習(xí)和接受足夠的挑戰(zhàn)是心理學(xué)教授 Mihaly Csikszentmihalyi 所稱(chēng)的“心流”狀態(tài)的要求,在這種狀態(tài)下,一個(gè)人完全專(zhuān)注于他們正在做的事情并受到激勵(lì),以至于他們甚至忘記了時(shí)間。更快的迭代周期提供的直接和即時(shí)反饋循環(huán)是另一個(gè)要求。
          每周的技術(shù)講座為工程師提供了分享他們的設(shè)計(jì)或他們構(gòu)建的內(nèi)容的論壇,為工程師創(chuàng)造了一個(gè)機(jī)會(huì),讓他們?yōu)樽约旱墓ぷ鞲械阶院?,并讓團(tuán)隊(duì)在他們的直接工作范圍之外學(xué)習(xí)更多。在內(nèi)部記錄流程,例如電子郵件服務(wù)的工作原理或如何對(duì)搜索服務(wù)進(jìn)行排名更改,還使工程師能夠自行學(xué)習(xí)和探索新事物,很好地補(bǔ)充了 20% 的時(shí)間。在 Quora,我們通過(guò)運(yùn)行 Quora 的內(nèi)部實(shí)例來(lái)解決這個(gè)問(wèn)題,我們?cè)谄渲性?xún)問(wèn)與產(chǎn)品和開(kāi)發(fā)相關(guān)的問(wèn)題。
          建立學(xué)習(xí)文化的必然結(jié)果是專(zhuān)注于指導(dǎo)和培訓(xùn),以確保每個(gè)人都擁有成功所需的基本算法、系統(tǒng)和產(chǎn)品技能。工程組織發(fā)展得越多,在招聘(尤其是大學(xué)招聘)上花費(fèi)的精力就越多,就需要在指導(dǎo)和培訓(xùn)上投入更多的精力。一位導(dǎo)師每天為新員工的前 4 周花一個(gè)小時(shí)似乎很繁重,但這項(xiàng)投資只占新員工一年中花費(fèi)的總時(shí)間的不到 1%,并且在確定此人是否為成功做好準(zhǔn)備。

          十、聘用最優(yōu)秀的人才



          聘用最優(yōu)秀的人才是列出的許多其他理念的基礎(chǔ)。如果您認(rèn)為某人是 B 級(jí)工程師,則很難尊重他們。如果您不相信他們的產(chǎn)品直覺(jué),就很難在產(chǎn)品開(kāi)發(fā)方面給予他們自主權(quán)。如果沒(méi)有足夠的工程經(jīng)驗(yàn),很難識(shí)別出正確的抽象來(lái)構(gòu)建。如果沒(méi)有其他聰明人來(lái)挑戰(zhàn)您的想法并推動(dòng)您走向簡(jiǎn)單,很容易陷入構(gòu)建復(fù)雜事物的陷阱。
          硅谷有句諺語(yǔ),由史蒂夫·喬布斯創(chuàng)造,“A 級(jí)球員雇傭 A 級(jí)球員。B 球員雇傭 C 球員?!?專(zhuān)注于招聘和雇用合適的人很難,但對(duì)于有效發(fā)展工程組織至關(guān)重要。曾任 Facebook 工程經(jīng)理和總監(jiān)的 Yishan Wong 認(rèn)為,招聘必須是工程組織中每個(gè)人的第一要?jiǎng)?wù),不僅是經(jīng)理,工程師也是如此。他還非常正確地指出了“雇用最好的”和“雇用你面試過(guò)的最好的候選人”之間的區(qū)別。
          在 Ooyala 的早期,我們對(duì)入站客戶(hù)工作的隊(duì)列如此不堪重負(fù),以至于我們幾乎屈服于降低招聘標(biāo)準(zhǔn),以便我們可以雇傭足夠的人來(lái)完成我們所有的工作。我很高興我們沒(méi)有這樣做,因?yàn)閳F(tuán)隊(duì)中較低質(zhì)量的代碼和較弱的工程師造成的技術(shù)債務(wù)最終會(huì)損害團(tuán)隊(duì)和產(chǎn)品。
          建立良好的工程文化當(dāng)然需要大量的工作,但由此產(chǎn)生的工作環(huán)境是非常值得的。
          其實(shí)......建立一個(gè)偉大的工程師文化還有一種更簡(jiǎn)單的方式~

          那就是.......開(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ē)~??


          瀏覽 81
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一本无码免费视频 | 看看操逼视频 | www.色偷偷 | 日本黄色片网站一二 | 一级毛片视频免费软件 |