在1989年創立Pivotal Labs的時候,Rob Mee自己也承認,這只是一家非常小的軟件顧問公司,并沒有什么特別與眾不同的地方,主營業務就是與客戶合作,幫助客戶開發軟件。
而在現在的硅谷,這家影響力巨大的軟件開發初創公司已經得到了包括谷歌、推特等不少硅谷大佬的認可。即使在中國,著名的訂票網站12306的背后也是Pivotal技術的支撐,兩者的合作成就了世界上單點并發量最高的系統。盡管如此,Pivotal自己最大的認同感則來自于,改變協作方式,讓工程師文化得到尊重。
當地時間5月5日,大數據文摘記者跟隨上海大數據聯盟硅谷考察團到訪了位于硅谷的Pivotal Lab。從辦公環境到公司理念,全方位感受了這家神秘的大數據公司及他們的工程師文化。
從不加班、吃喝管夠:從工作環境中感受給工程師的善意。
在硅谷這樣的人才爭奪大賽中,各家公司為了留下好的技術大牛都使出了渾身解數。Pivotal也不例外,不僅要留住技術牛,實驗室的整個環境都舒適且鼓勵創新,讓硅谷考察團的各位頻頻稱贊。
Pivotal Lab到處可見零食和飲品,負責人稱,希望工程師們可以不要為了吃飯這樣的小事情困擾。
隨處可見的零食和冰柜
到訪當日正值Pivotal Lab一場歡送離職員工的小酒會,周五下午,程序員們各執香檳杯暢談。
香檳下午茶陣勢
理工男熱愛的鍵盤、耳機、象棋等一系列奇妙的物品在這里都能夠找到;他們執著、熱愛流程化的一般特點在這里也被無限放大。
掛滿耳機的架子
便利貼畫出的工作流程圖處處可見
在工作區安插的象棋盤
“我們的工程師從不加班。”Pivotal Lab的副總監Terry不無自豪的說到,這也是Pivotal所稱的尊重工程師在企業文化上的體現。
看慣了國內BAT無數加班成便飯的程序員,按時下班似乎是一個不努力程序員的代表。對于中國與硅谷程序員在工作節奏上的差異,Terry稱“工作是干不完的,如果長期處于加班狀態,程序員長期比如2-3年肯定堅持不下去會跳槽。而國內對于程序員加班是因為努力程度不夠的說法也是我們想轉變的觀念之一”。
Pivotal的數字化變革案例:把花旗銀行改造成一家“做金融的技術公司”
Pivotal也正通過自己的產品,潛移默化地創建一種新的工程師文化。首先,Pivotal提供的從云端部署到一整套的大數據解決方案,從開發到平臺,全世界除他們,沒有誰能將大數據與PaaS平臺合二為一。
其次,Pivotal推崇的數字化轉型不僅有技術,而且,從文化、流程、方法論、軟件開發的方式、數據部署的方式、規劃藍圖等等,都有一套轉型的模式,且很好的得到了客戶的肯定和驗證。
Pivotal Lab的市場產品總監(associate director)Grag用花旗銀行的例子,來證明Pivotal不僅提供平臺,更通過協助客戶,為其帶來在軟件開發和觀念上的整體變化。
在花旗銀行的最終結項報告中提出了幾個重要的變化數據:在軟件交互方面效益提升了57%,這意味著軟件工程師交付出的功能比原來的3倍,這讓他們在軟件發布方面降低了運營成本,也可以更快速的為客戶做創新。
花旗銀行的轉型有以下幾層:首先在人員上,在Pivotal Lab的工作當中,很大一部分是協助客戶企業當中的人員如何更好的工作,而且通過“敏捷開發”這個新的方法論學到一種新的方式,再進行敏捷開發的平臺。
(注:“敏捷開發”是一種以用戶的需求進化為核心,采用迭代、循序漸進的方法進行軟件開發。從下圖可以看到這是一個非常簡單地概念,很多的軟件開發團隊大概從事了20年之久,但是Pivotal做這件事最不同的一點就是,讓IT和運營組進團隊之中,也就是開發運營計劃。通過這種方式可以讓運營的效率也大幅提升。)
其次,在發布和工作方式上,過去很多公司是使用比較大的軟件,并且由一個比較大的團隊負責分布式開發。而現在不再是一個大的軟件或者一個大的團隊,而是由多個小團隊負責多個不同的小服務,同時,每個團隊都有自己的發布周期,而且彼此間的相關性不是很強,也就是每一個都是一項微服務,每個團隊都代表了一個微服務。
花旗銀行在接受Pivotal的反饋會上給出了一句評價非常高的化:“我們現在已經不再是一個銀行了,而是一個硅谷公司,是一個技術性的組織,這個技術性的組織只是剛好也做銀行方面的服務罷了。現在我們的思維模式更趨向我們的客戶而不是銀行家(We are a technology organization that does banking-who thinks like ourcustomers, not bankers.)
以用戶需求驅動:產品管理和用戶體驗工程師先于工程師介入
在一個項目的開發流程中,“讓工程師被尊重的文化”從一開始的流程中就得到了體現。
Pivotal工程師團隊
“從流程上,我們會傾向于讓工程師晚于產品管理和用戶體驗工程師介入項目。”PivotalLab的產品管理Karen如此介紹,對于一個新的項目,產品管理和用戶體驗工程師會先從產品層面與用戶溝通好,確認待辦事項,之后再讓開發工程師介入。這就讓工程師逃離了很多冗雜的非技術工作,也減少了溝通的麻煩。
因此Pivotal的團隊一般比較小,Karen稱其為“2 pizzateam”,兩張披薩就能管夠的精煉團隊。
過去vs現在:讓工程師越來越值錢
在硅谷,從DEVOPS到docker,似乎每隔一段時間就會有一個新的技術名詞。簡單來說,Pivotal把技術趨勢歸結為四大塊:
首先是開發運營一體化:也就是現在把運營和軟件開發做在一塊;第二個是持續交付,簡單來講就是,軟件工程師他所做的每個承諾,都可以立即進行部署;第三個就是微服務,也就是現在不是大的軟件為單位,而是以小的軟件為單位,而且每一個微服務都是做自己的發布,彼此之間依賴性比較低。第四個是容器。
這些趨勢下,過去和現在的發展模式產生了一些差異:
過去我們假定必須要有一個可以依靠的可以信賴的基礎設施。但現在我們假設云基礎設施是脆弱的。
過去,如果你速度夠快的話,每三個月會發布一次;但是現在代碼的發布是早期發布,經常發布,而且是持續發布。
在過去,開發人員常說:這些源碼在我的環境里面完全沒問題,為什么在別的環境里面不奏效?現在IT的運維人員和軟件開發人員,是在同一個環境里面,同一個團隊當中,所以他們就知道了彼此的責任何在。
最后過去我們用的是比較大的軟件,彼此間的相關性比較高,現在是比較小的軟件,而且彼此間的相關性比較低。其中最大的秘密就是,IT人員和運營人員是在一起工作的,因此才可以這么快速的做發布。
在過去,發布是一件了不起的大事,風險高,并且每個人都必須準備就緒,這也意味著盡管你的QA人員特別多,但是還有很多的bug是沒有辦法被及時發現的?,F在通過微應用部署時,相關很多獨立單位組成起來的。通過非常簡單的應用服務器,也能擁有非常豐富的功能。
“前三十年和后三十年,我們站在一個時間的節點上,最大的變化就是改變了傳統的工程師的開發的方式。這就是我們一直推行的工程師文化,我們要讓工程師得到尊重,他自己覺得他自己的產出得到一種尊重,這是最核心的變化。”Terry稱,“我們最重要的另一家股東是通用電氣,他們提到每一家公司一夜之間會變成一家軟件公司,我們的IT人員會越來越重要,因為我們能在瞬間就把客戶的需求交付出去。所以工程師文化的核心是什么呢?核心是工程師越來越值錢。”