美國碼農加班少很多、卻能開發出厲害的產品?讓亞馬遜工程師告訴你:會議就是生產力

作者在美國亞馬遜擔任軟體工程師,針對亞馬遜內部專案開發的工作流程進行了介紹──亞馬遜公司效率高的原因在於:與其花很多時間寫程式,不如開會把問題、需求定義清楚、寫出高質量的程式碼。
評論
photo credit: codesmith
評論

原文發表於 知乎討論串《為什麼美國工程師的工作比中國程序員工作輕鬆、加班少?工作效率區別大嗎?》,原作者 凱威的講堂 ,INSIDE 授權轉載。

INSIDE 編按:本篇為知乎上面千人點讚的回答,作者在美國亞馬遜擔任軟體工程師,針對亞馬遜內部專案開發的工作流程進行了介紹。作者表示「Commit 多少並不代表產出」。亞馬遜公司效率高的原因在於:與其花很多時間寫程式,不如開會把問題、需求定義清楚、寫出高品質的程式碼。

 

為什麼美國工程師的工作比中國程序員工作輕鬆、加班少?工作效率區別大嗎?

感覺美國工程師工作時間靈活、加班少,相比與中國的工程師工作,似乎壓力小很多。但是美國工程師的產出卻非常驚人的厲害(如 Google、Facebook 等)。難道是因為他們效率更高嗎?如果是,中國工程師是否能提高效率,減少加班和壓力呢?

我在血汗工廠亞馬遜工作。整個大部門有 80 多位工程師。想知道大家工作有多輕鬆,我用一張圖來回答這個問題:

這位是最忙的,這 Commit 紀錄你們看看覺得如何。(INSIDE 編按:如果這是產出最多的人的話,那他們公司工程師寫的程式真的偏少......)

我們部門是前兩年公司內部組織改革出來的新部門,目前做了七、八個全新的專案。按照血汗工廠亞馬遜的風格,SDE(Software Develop Engineer, 軟體工程師)不但每個都要 Full Stack、還要會政治手腕,寫個架構都要端出設計文件。

跟自己的小組與隔壁小組過一遍設計、大家一通留言討論後,再針對幾個服務的 API 劃分和命名繼續開會拖個一週。最後誰都說服不了誰,此時高階經理或工程師就會從希臘神話中找一個神的名字出來命名該服務,再隨機指定幾個比較順眼的 naming,會議就結束了。

除了內部 Tech 的會議,偶爾也會參與業務方的會議。在這裡也是要講政治的,你參與會議就得必須要多說話,而且無論說什麼,一定要存在感特別強烈。在會議中當邊緣人是行不通的,為什麼?邊緣人就說明你這個人沒想法、能力不行。某種意義上,聲音大就是影響力、就是能力!

接著說我們公司對軟體工程師 Full Stack 的要求。你以為我們有前端、有測試、有系統維運工程師?想太多!新開的服務,如果涉及前端頁面,就是要自己寫。 沒錯,別管你是前端工程師、後端、還是演算法工程師,首先你得是個工程師,工程師就沒有解決不了的問題。

我們做前端時也要開很多會議,跟業務人員報告進展和 Demo 產品時,業務部門可以提意見,一旦提了意見就代表 Sign Off(結束工作),不是隨意說說那麼簡單。這樣有個好處,很多東西定下來後就不能隨意改變。提需求的人是面臨很大的成本,你老是提了需求又改、又 Sign Off,不到兩個月大家就覺得你這人不可靠、會給你很差的 Feedback。

photo credit: codesmith
photo credit: codesmith

談完了前端,該到開發階段了吧。開發時 50% 的時間在也開發程式碼,50% 的時間在寫測試。如果沒有測試程式碼,Code Review 是說什麼也通過不了的。

寫完程式碼之後,內部有很完整的自動佈署工具,把你的單元測試、集成測試都跑完。接著佈署測試環境、gamma 環境等,包括日誌監控,都是要自己上手的,也是前文反覆說的 Full Stack 的概念。工程師在這裡真的是 do everything......

這麼一說,看起來確實挺忙的
。然而實際上── 50% 的時間都在開會,20% 時間寫 code,20% 時間寫測試碼,10% 時間處理一下佈署、監控。但從來沒有人加班。

我來總結一下: 會議就是生產力。討論得越清楚,需要重做的工作就越少。 比如系統設計,幾個小組的人一起討論清楚系統的限制、上下游系統的關係。你的問題和需求是很清晰的。工程師自己麻煩地 do everything(寫測試、系統運維監控)看似工作量繁重,實際上有效地降低了風險,極大地提高了軟體的品質。

跟中國國內公司比,中國公司最大的問題就是 管理者素質不高,對問題的定義不清楚。提需求的人沒有成本,無止境地提沒意義的需求。工程師自己開發時也追求「快、糙、猛」,提高了系統的風險。 總結來說,經理很忙、工程師很忙、測試很忙,負責營運的也受不了,就是這樣的結局。


網路服務領導者第一線 DYXnet,以優質資料中心及 BMS 方案成企業數位轉型最強助手

第一線作為大中華區領先的電信中立網路服務供應商,提供企業可靠、安全、靈活管理的 IDC 解決方案,包含 IDC 機房服務以及新型態雲服務─Bare Metal Service (BMS),在兼顧效能及成本效益之下,協助企業擁抱新世代商業型態。
評論
photo credit:第一線DYXnet
評論

近年 5G、AIoT、大數據及數位內容等服務蓬勃發展,企業也逐漸走向多雲、混合雲部署,同時因為疫情促使遠距會議、宅經濟及影視產業商機崛起,大幅提升企業對各類數據的應用,為因應雲端化及數位轉型而急速增加的跨國通訊傳輸,企業對於資料的妥善儲存和維護亦面臨極大的挑戰。

第一線作為大中華區領先的電信中立網路服務供應商,提供企業可靠、安全、靈活管理的 IDC(Internet Data Center)解決方案,包含 IDC 機房服務以及新型態雲服務─Bare Metal Service (BMS),在同時兼顧效能及成本效益之下,協助企業全力擁抱新世代商業型態,簡單迅速地佈局海外市場,在後疫情時代下取得先機,創造雙贏。

第一線提供全方位的 IDC 解決方案,解決企業快速拓展需求

第一線提供全方位的 IDC 機房服務,滿足企業對機房環境高坪效、高品質及高穩定度的要求,企業無須煩惱自建機房昂貴的成本及繁瑣的管理業務,即可享有營運商等級的基礎設施、全球串聯的便捷網路,以及安全可靠的設施環境。

第一線的 IDC 機房基礎設施包含強大的跨國際骨幹網路架構、電力備援系統、環境控制及防火保護,以符合國際電信機房的標準。另外 7X24X365 全天候的監控與技術支援服務,讓企業主可在安全的環境中,穩定快速地處理所有對內與對外的需求。

第一線的 IDC 機房基礎設施包含強大的 跨國際骨幹網路架構、電力備援系統、環境控制及防火保護,以符合國際電信機房的標準,提供企業專業的 IDC 服務。(本圖為示意,非第一線機房圖片) / photo credit:第一線DYXnet

第一線曾協助某大型雲端供應商,在 2019 年新加坡宣布暫停建置新資料中心後,透過自身強大的合作夥伴人脈,獨家取得獨立資料中心的樓層,完成建置逾 300 個機櫃的任務。第一線也針對客戶的需求,客製化整體電力、空調系統、機房隔間、門禁系統等,增設維運管理及人力外派,一條龍整合資源,一次購足免除客戶東奔西走的繁雜準備,更能專注於核心業務發展。

輕量彈性新選擇─Bare Metal Service 新型態雲服務

Bare Metal Service (BMS) 提供自媒體、串流平台及遠端應用等新型態商業模式公司,高彈性、高安全性、低營運成本、輕資產,快速部署的雲端資料中心解決方案,企業無須一次性支付大筆費用,以使用量彈性計費,讓每一分預算都能花在刀口上。

由第一線採購部署,縮短客戶採購建置週期,BMS 具有更高的靈活性及成本優勢,也大幅提升資料乘載,能支援大數據、高效能資料庫,更能應對遊戲及財務金融產業,高資料負載需求,讓每個用戶擁有專屬、靈活且高效能的服務。

第一線累積逾20年的服務經驗,為企業客戶提供標準化及客製方案多元選擇,並善用 BMS 的優勢,實現物理性阻隔獨佔使用資源,同時結合全球資料中心足跡與實體資源分隔,提升安全性,滿足複雜的安全與法規需求。

以第一線的電商客戶為例,電商產業淡旺季的資源需求有所不同,傳統的資料中心解決方案無法彈性應變,因此第一線結合紅帽 OpenShift 容器平台技術打造「一體化混合雲解決方案」,除了依照客戶的促銷週期,提供即時標準設備的短期服務及快速擴充,7x24 小時全天候遠端及現場的技術支援,迅速排除困難,在這次的合作中,第一線協助客戶靈活地佈建資源,貼心且可靠的技術團隊也成為客戶最有力的後盾。

選擇第一線 DYXnet,成為產業最前線

數位經濟浪潮加速來襲,身處瞬息萬變的網路世界和高度競爭的商業環境,高效、安全穩定的伺服器、資料庫及網路設備成為不可或缺的要素,有鑑於各國對於資料主權及落地權的要求愈來愈高,企業對於資料中心及跨境連線的重視程度也日益升高。

第一線專業、積極且到位的服務深受大中華地區企業口碑肯定,囊括 ISO 27001、ISO 20000、ISO 9001 認證,採取最嚴格的安全措施,以業界最佳標準作業提供服務。

此外,第一線自 2008 年以來,積極於東南亞佈局網路資料中心,深耕東南亞市場多年,豐富的人脈及合作經驗,也是企業發展新南向業務最為可靠的夥伴。第一線在海內外豐富的合作經驗,能有效提供各類型企業專業的 IDC 解決方案,更推出 BMS 全方位服務,滿足企業成本、安全性、服務品質等多重考量,協助企業在數位經濟下快速發展數位業務。

第一線(DYXnet)憑藉卓越的團隊領導及經營,優良的企業形象,及豐沛的專業素養,榮獲中華民國傑出企業管理人協會頒發的「第二十一屆金峰獎十大傑出企業」。 / photo credit: 中華民國傑出企業管理人協會

第一線 DYXnet