數位化時代下的開發者,購買還是構建?
前瞻網 · 科技 ·

數位化時代下的開發者,購買還是構建?

籍《開發者思維》一本~編者註:這是一本為「程式設計

在本文留言,精選2位小夥伴贈送由中信出版集團出版的書籍《開發者思維》一本~

編者註:

這是一本為「程式設計師」們發聲的書,更是一本教導管理者們具備開發者思維,正確激勵技術人才的指南。

一.差異化只能構建,無法購買

軟體第三個偉大紀元帶來了許多益處,但也帶來一系列新的問題需要我們來回答。開發人員和公司領導層不斷需要做出決定,到底哪些微服務應該從第三方雲供應商那裡購買,哪些微服務又應該自己構建。今天,新的微服務供應商正以寒武紀生命大爆發式的速度湧入市場,決策者們必須學會應對這種情況。每一項微服務都在不斷快速地變化和改進。

正像阿什頓·庫徹所說,「科技公司一直在爭論」應該構建哪些微服務,以及購買哪些微服務。阿什頓已經投資了幾十家初創公司,並取得了一些重大成功,其中最著名的例子包括愛彼迎、聲田和優步。他表示:「我認為,你選擇不自己構建的東西和你所構建的東西一樣重要。公司唯一應該自行構建的,是其業務的核心。很多時候,人們最終選擇構建的系統在市場上已經有現成產品,並可以用相對較低的成本購買或獲得許可。你是否應該構建自己的福利和工資系統?反正我決不會試圖重建Twillio、Slacka 或 Gustob。」

我的經驗法則是,如果任何東西能讓你在面對客戶時實現差異化,那麼你就應該自己構建。直接面向客戶的軟體也應該自己構建。如果在任何情況下,客戶問你,它為什麼不能實現某功能?而你的回答是,呃,我們買的系統不提供某功能。那麼這就是一個問題。對於客戶在意的東西,你也需要自己構建。在某些情況下,自己編寫後端軟體也是有意義的。例如,在你所在的行業里,你可以通過更好的庫存管理來獲得競爭優勢。在這種情況下,你當然應該去構建自己的供應鏈軟體。

但是,對於大多數後端操作,以及那些不能讓你在客戶面前有任何差異化的東西,你就應該購買。你不需要構建自己的電子郵件系統,或是自己的資料庫軟體、人力資源軟體、企業資源計劃程序,因為在這些領域,你可能無法通過自己編寫代碼來獲得任何競爭優勢,因此你可以從SaaS 提供商那裡購買應用程式。但是請讓我重申一下我的經驗法則:任何面向客戶的東西你都應該構建。這是因為:

差異化是無法通過購買獲得的,你只能構建它。

二.構建差異化的優勢

不過好消息是:構建正變得越來越容易。回到過去,在軟體供應鏈成熟之前,你面臨的答案通常是購買解決方案,因為構建需要花太大的精力。你必須像微軟或甲骨文一樣精通軟體,才能自行構建軟體。但現在,得益於我們進入了軟體的第三紀元,數字供應鏈使企業能夠以前所未有的輕鬆和速度構建軟體,因此企業不僅可以,而且必須構建自己的軟體。激烈的競爭形勢決定了這一點。

你將這些構建塊整合到端到端體驗中,在這個過程中你想像、構建並最終擁有這些體驗,因為這就是你的競爭優勢。不過,組成這一體驗的構建塊則是購買的現成產品,它們被迅速地整合在一起。你當然需要在其中加入許多自己的微服務,但是在構建自己的服務時,你不需要再發明一遍車輪子,而只是將精力投入那些可以代表你的競爭優勢的「點睛」之作。也許它們是一個專有的定價算法,或者是一個物流算法,是你的分銷系統所獨有的。在儘可能藉助現成構建塊的前提下,你可以把全部精力投入你獨特的差異化領域。

好消息是,越來越多現成的構建塊正在日益成熟。雲平台正在取代幾乎所有類別的傳統基礎設施。這些商業微服務幾乎是你使用的每一個應用程式的原料。在一個用戶界面的背後的應用程式實際上是一個由數百乃至數千個微服務組成的集合體,它們有些由公司內部的開發人員所構建,有些是由商業供應商所提供。

今天,仍然有許多領域的開發人員別無選擇,只能從頭開始構建微服務,因為現成的替代品還不存在。但微服務模式的優點在於,你可以在不干擾應用程式中其餘代碼的情況下更換某個微服務。隨著時間的推移,一旦新的商業微服務出現,移除自己構建的產品,並用商業替代品取代它們並不少見。這是因為,供應商正在大舉投資這些商業微服務,因此其日臻完善,而自製版本往往隨著時間的推移停滯不前。以特維利奧為例,我們的研發團隊(截至本書撰寫之時)已經超過1000 人,他們每天都在改進著我們的通信平台。隨著我們的應用程式日臻完善,我們的客戶將從這項投資中獲益。

三.矽谷「構建」輻射全行業

理論上講,軟體公司有一天可能不用編寫任何自己的代碼就可以生產出一個應用程式,換言之,他們只需組裝一堆由其他公司創建的微服務。事實上,人們已經提出了所謂「單人獨角獸」 理論,它是指一家價值 10 億美元或以上的公司僅由一個人運營, 這個人是一個開發人員,其應用程式則是在眾多商業微服務之上開發出來的。這種情況目前尚未出現,但其實際發生可能只是時間問題。我們所認為的「編寫軟體」過程在很大程度上可能已經變成了一個組合代碼塊的過程,就像戴爾組裝現成的商業化組件來生產一台電腦,或者廚師從貨架上取下現成的原料,並做出拿手好菜。實際上,編寫軟體可能將變得如此簡單,以至於任何人都可以做到,無須再經過計算機科學方面的專門培訓。

目前我們還在採用混合模式。也就是說,你購買那些可以買到的通用構建塊,然後自己編寫其餘部分。你公司的「附加值」可能會取決於你整合這些構建塊的方式,以及你基於微服務所開發的面向客戶的軟體。蘋果公司的 iPhone 系統中包含一些任何公司都可以購買的商業化構建塊,比如內存晶片和快閃記憶體驅動器。蘋果不針對這些部件設計或製造自己的版本,因為這不會使其產品與眾不同。不過,蘋果確實為 iPhone 設計了自己獨特的微處理器,因為這種晶片使蘋果能夠比其他手機更好地運作。蘋果還編寫了所有安裝在 iPhone 上的軟體。蘋果成功的秘訣在於知道它需要購買什麼和構建什麼;知道如何以獨特的方式整合這些部分;最重要的是,它還雇用了全世界最好的開發人員來編寫優秀的軟體。他們也一直善於講述自己的故事,推銷自己的品牌—這是另一個他們決心要與眾不同的領域,而這樣做帶來了豐厚的回報。

像蘋果一樣,軟體開發商現在也正在將自己的定製軟體與其他人提供的現成微服務整合在一起。優步就是一個很好的例子。你使用的「優步 App」實際上由大約 4000 個微服務組合而成, 其中一些由優步的工程師開發,另外許多則是由外部雲平台運營商提供的。當乘客呼叫司機時,他們的命令會從優步的主屏幕傳送到特維利奧伺服器,然後我們將呼叫通過路由發送給司機。但無論是乘客還是司機都看不到這些;對他們而言,優步只是讓他們可以互相溝通。車費的支付由不同的微服務來處理,貨幣和匯率轉換則由優步內部開發的 Tincup 微服務完成。

這就是矽谷所有新公司構建軟體的方式,它正迅速成為銀行、零售商、航空公司等傳統公司的標準。

在本文留言,精選2位小夥伴贈送由中信出版集團出版的書

在本文留言,精選2位小夥伴贈送由中信出版集團出版的書籍《開發者思維》一本~將會在6月14日以回復留言形式公布中獎結果~

*本文摘自《開發者思維》中信出版集團2022年4月出版

聲明:文章觀點僅代表作者本人,PTTZH僅提供信息發布平台存儲空間服務。
喔!快樂的時光竟然這麼快就過⋯
繼續其他精彩內容吧!
more