你的公司像工廠還是電影拍攝小組?

前一段時間,開發者問答網站Stackoverflow上有人發問:「我們都知道寫程式比做甘特圖(進度管理圖表)要更難,而且開發者加班也更多,那為什麼IT公司裡PM(project managers)和BA(business analysts)的薪水比開發者要高?」
評論
評論

 

(photo by vancouverfilmschool)

前一段時間, 開發者問答網站 Stackoverflow 上有人發問 :「我們都知道寫程式比做甘特圖(進度管理圖表)要更難,而且開發者加班也更多,那為什麼 IT 公司裡 PM(project managers)和 BA(business analysts)的薪水比開發者要高?」

英國的 Vlad Gudim 給出了一個很有意思的回答,這個問題的答案取決於你工作在一個什麼樣的軟體公司和環境。

簡單回答,原因是我們生活在一個按照職位在公司層級發薪水的社會。但是這個答案並不完整,因為我們沒有回答為什麼 PM 和 BA 職位的等級在很多軟體公司裡比開發者要高,也沒有回答為什麼很多軟體公司要選擇這種等級制度的管理方式;這兩個問題其實才是最值得探討的。

概括地來講,這個世界上有兩種做軟體的公司:一種類似於工廠,而另一種類似電影拍攝小組。

工廠型的軟體公司起源於 MIT Sloan 管理學家 Douglas McGregor 提出的激勵理論 Theory X:

普通員工是懶惰的,而且需要不斷的監督和管理;員工來工作只是為了拿薪水;經理的能力永遠要比手下的員工強。在這種管理理念的影響下,我們會認為團隊的領導者可以代表,甚至於替代他的整個團隊,而團隊成員只是完全可以互換的人力資源,他們的唯一價值就是幫助領導者完成任務。因此,這類公司都採用等級制度的管理方式,工作的分配也很單一。

軟體工廠的管理階層認為軟體是可以透過一個很明確的流程生產出來的,而這個流程需要 PM 的監督和 BA 寫出來的軟體 Specs。生產過程本身只要有足夠合格的但是可以隨時替換的開發者和 QA 就搞定了。當然計劃的預算和最後發佈的產品也都是 PM 和 BA 說了算。

軟體工廠的經理人是很容易辨識出來的,因為他們在形容軟體製作時會經常提到「資源」(指的是他們團隊的成員)、「流程」、「營運效率」、「品質監控」等工廠生產業的術語。

而另一種軟體公司類似於電影拍攝小組,他們的管理理念來源於 McGregor 提出的 Theory Y:

他們認為員工是自覺而聰明的,也很喜歡自己的工作,對待工作像小孩子對待玩耍一樣。這類公司認識到個體工作者(individual contributor)的能力有可能遠遠大於管理人員。當經理不可以代表和替代所有手下人的時候,等級制度的管理方式就不太好用了。人們需要在一種更扁平化的團隊結構下互相合作,工作的分配也更加多樣化,每個人都需要具備多種能力。

拍攝小組類軟體公司的「導演」會意識到如果想做出一個很好的產品,他需要很棒的人加入團隊,而他需要給這些人一個可以盡情發揮與合作的環境。導演這個角色給予他人靈感,而且掌控大方向,而不是單純的管理者。團隊裡的每一個人都很重要,因為最後的產品是團隊上所有人性格和思維的體現,而不是某某 BA 寫出來的軟體規格。

在薪資方面,軟體工廠會認為在組織頂端的 PM 和 BA 是最有價值的,所以自然會給他們最多錢。團隊的其它成員只要差不多,會把規格變成程式就可以。PM 和 BA 會勾心鬥角全力維護他們在頂端的位置,不與團隊成員分享很多有關計劃的資訊。沒有這些資訊,團隊成員無法自己做很多設計上的決定,所以只能聽從命令,按照規格來寫程式。這種情況會構成一種惡性循環,軟體工廠的開發者員真的變成像工廠裡的流水線工人一樣,只會做技術上複雜,但是實際上重複性很強的工作。

相比之下,拍攝小組類軟體公司會更加平等;所有的團隊成員都可以參考有關計劃的所有資訊,並且做出自己的判斷和設計決定。誰有能力,誰就可以來帶領計劃的某一部分,而薪水的分配是依據這個人給團隊和產品帶來了多少價值。在這種公司裡面,PM 往往不負責產品設計和創意,而僅負責一些行政和與外界打交道的事情。BA 的職位可能根本就沒有,而是所有團隊成員都承擔一些軟體規格的編寫。

當然,你應該知道很多大公司的內部資訊部門和外包類軟體公司都是像我所形容的軟體工廠。在這些公司裡,PM 和 BA 的薪水比開發者要高,而且開發者很難改變管理層做出的設計決策。

成功的軟體公司往往傾向於電影拍攝小組型態,因為只有這樣,他們才可以吸引最優秀的人才來做出最優秀的軟體。在軟體公司工作的讀者們,那你的公司是屬於哪一類呢?


Akamai 服務上新,於邊緣處推動快速創新

Akamai EdgeWorkers 為開發團隊提供豐富功能和工具來創建新的微服務,利用 Akamai 提供的 25 萬台分佈式服務器組成的網絡,在邊緣執行安全而快速的計算,並在邊緣暫存內容,以實現快速交付。
評論
評論

在雲計算技術還沒有大規模普及前,絕大部分企業和組織都需要自建數據中心,或通過託管的方式來部署自己的硬體基礎架構,並在此基礎上為員工和客戶提供服務。取決於業務或其他方面的諸多要求,此時需要部署的數據中心可能有很多個,並廣泛分佈在不同地區,藉此為客戶提供流暢的體驗,並透過多個數據中心保障連續性。在發展的過程中,隨著「雲端」的出現,讓各個組織的計算開始集中。

而當在線直播、無人駕駛、智能家電、物聯網等應用開始陸續深入我們的工作和生活,情況又不同了。以往透過雲平台集中運行和服務的模式,因為距離導致的網絡延遲已經對用戶的使用體驗產生極大影響。為了提供更敏捷、靈活、快速、可靠的體驗,企業需要從最貼近用戶的地方提供服務。因此,邊緣計算就成為最有效的解決方法。

透過將數據的收集、分析和處理等工作,由「雲中心」重新分散到最接近用戶的邊緣位置,企業可以就近為用戶提供服務,通過延遲更低的響應打造更出色的用戶體驗。

「無服務器」的出現,帶來計算方式的革新

以前,當組織需要上線一套業務系統時,首先需要採購並部署相應的服務器硬體,並且要負擔服務器日常運維過程中的管理、維護、補丁安裝、配置等繁瑣任務。

上雲前,組織需要在自己的數據中心,以硬體服務器的方式執行這一系列工作;上雲後雖然簡單許多,但依然需要面對雲服務商提供的虛擬服務器,從本質上來看相關負擔仍相當繁重。

無服務器(Serverless)技術的出現,讓組織可以在不需要考慮服務器的情況下,構建並運行由微服務構成的創新式應用程式與和服務。藉此不僅可以省略基礎架構管理任務,還能為幾乎任何類型的應用程式或後端服務構建無服務器應用程序,更方便、靈活地構建出具備極高可用性的應用。

Akamai EdgeWorkers :為創新賦能

Akamai EdgeWorkers 為開發團隊提供豐富功能和工具來創建新的微服務,利用Akamai 超過 25 萬台分佈式服務器組成的網絡,在邊緣執行安全而快速的計算,並在邊緣暫存內容,以實現快速交付。

當開發團隊在邊緣開啟代碼時,他們會將數據、見解和邏輯推送到更靠近最終用戶的位置。Akamai 的高性能、可擴展式實施模型,可確保數據和計算不會被延遲問題困擾,進而避免對數字化體驗產生負面影響。

在該服務幫助下,開發者可直接在 Akamai 的全球分佈式平台上快速、迭代地創建和部署新服務,以解決問題和自定義交付。

長期以來,Akamai 在邊緣計算的創新和成功實施皆具有優勢。自 1998 年起,便開始為 Akamai 內容交付網絡(CDN)的客戶推出自定義交付邏輯,其他里程碑還包括 2001 年的 Edge Site Includes 、2002 年的 Edge Java 以及 2014 年的 cloudlet 應用程式。

目前, Akamai 在全球擁有超過 4100 個入網點,為 EdgeWorkers 用戶提供出色的邊緣基礎架構規模和範圍,開發人員可以在靠近最終用戶和他們的數字化接觸點的地方部署代碼,以實現盡可能低的延遲。EdgeWorkers 同樣獨立於雲,客戶可以選擇利用 CDN 供應商或雲供應商平台上的無服務器計算功能。在 Akamai 幫助下,客戶可以在整個混合雲或多雲環境中部署單一的無服務器計算平台。

更多相關資訊:https://www.akamai.com/solutions/edge

本文章內容由「猿聲串動」提供,經關鍵評論網媒體集團廣編企劃編審。