您當前的位置是:  首頁 > 資訊 > 文章精選 >
 首頁 > 資訊 > 文章精選 >

華為IoT首席架構(gòu)師王啟軍:云計算時代全棧工程師的養(yǎng)成

2020-01-20 14:21:27   作者:   來源:CTI論壇   評論:0  點擊:


  在王啟軍的公眾號里,有一篇《My Team》的文章,里面記錄了早年他所帶團隊成長的心得。
  這個被他稱為完美組合的團隊,并不是來自大廠名企,彼時王啟軍給不起高待遇,團隊核心成員中還有很多人是?茖W歷。但就是這樣一支團隊,建立了IaaS平臺,搭建了私有云、云緩存、分布式文件中心……甚至還有自己的開發(fā)框架、工作流平臺、配置中心,而彼時,是在2013年前后。
  王啟軍在文章里寫到:“給不起高薪,就挑選潛力股,用成長來吸引人。”最后,王啟軍確實也兌現(xiàn)了承諾,團隊成員工作一年以上的,出去后薪酬基本都翻倍,并跳槽到國內(nèi)知名互聯(lián)網(wǎng)公司的不在少數(shù)。
  如今,王啟軍已成為華為云IoT首席架構(gòu)師,盡管“捉襟見肘”開不起高薪的煩惱不再,但他認為挑戰(zhàn)依舊,因為在云計算時代,很多顛覆性的工作正在等待他去突破與創(chuàng)新。
  「擁抱開源,要做顛覆性的云」
  今天,全球正進入一個開源的大時代?梢钥吹,目前全球軟件行業(yè)有兩個重要的趨勢:一是“軟件正在吞噬一切”,每一家公司都正在變成一軟件公司;二是“開源也在吞噬一切”,越來越多的公司都在使用和擁抱開源軟件。
  同樣,對于開源的關(guān)注,也始終是王啟軍工作重心中的一部分。據(jù)他介紹,目前華為云很多產(chǎn)品線的目標都是希望做“顛覆性”的產(chǎn)品,而不是只考慮跟競爭對手持平。因為即便超越了對手,但是還是可能會輸給時代。所以華為云的產(chǎn)品考慮必須長遠。
  在云的領(lǐng)域,根本的問題還是要做到成本足夠低廉,就像水電煤一樣。當云產(chǎn)品的功能做到一定程度后,成本就會成為最大區(qū)別點。對華為而言,云服務器基于兼容ARM架構(gòu)的鯤鵬來做,從底層開始自己做,這樣成本能控制住。但是,很多軟件是長在x86平臺上,實現(xiàn)平臺的遷移必須要依靠生態(tài)。
  因此,華為云未來要不斷成長,就需要把生態(tài)做好,同時還必須支持開源,把更多的產(chǎn)品開源出來,培養(yǎng)、催化、擁抱這個開源社區(qū),這樣整個生態(tài)體系才能建立。一旦建立起來生態(tài),“我相信華為云對行業(yè)的顛覆性非常大”,王啟軍說。
  他認為,從商業(yè)的角度考慮,開源的產(chǎn)品與公有云聯(lián)合,對客戶對華為都有好處?蛻粲瞄_源的東西,對客戶來說能節(jié)省很多工作量。尤其是很多小公司,自己沒有能力開發(fā)一個開源框架,或者開源的中間件,用開源的東西能加快開發(fā)進度,還可以讓系統(tǒng)比較穩(wěn)定。
  比如,華為云會開源一個微服務框架,這個微服務框架在華為內(nèi)部用得比較成功,現(xiàn)在開源出來給外部去用,客戶就可以聯(lián)合華為公有云和開源框架,基于微服務框架的應用就很容易上到華為云上,華為云上有很多中間件可以整合,讓客戶覺得非常合適。
  王啟軍認為,不管是做開源框架還是用開源框架的人,都是巨大的生態(tài)。在這個生態(tài)里面有很多商業(yè)思考,可以做很多事情,有很多想象空間。
  「軟件開發(fā),一門妥協(xié)的藝術(shù)」
  當然,要真正做好基于開源的云計算產(chǎn)品,其實也面臨技術(shù)、制度、文化三個方面的挑戰(zhàn)。
  王啟軍說,過去華為做產(chǎn)品,開始就要規(guī)劃好。立項的時候?qū)夹g(shù)市場競爭會分析得比較清晰明白,然后按照計劃去執(zhí)行,執(zhí)行過程中不會有太大的變動。產(chǎn)品立項到交付,會有比較長的周期,比如5G、6G的研發(fā),都是要經(jīng)過很多年的開發(fā)才能出產(chǎn)品。
  但現(xiàn)在,華為公有云會要求快速迭代,產(chǎn)品快速上線。在這樣大背景下,一個產(chǎn)品一年上線十次和一年上線一萬次,會有根本的區(qū)別。
  首先,從流程制度看,過去,上線次數(shù)少,可以依靠嚴格的開發(fā)制度、測試制度和上線制度,制度對每個環(huán)節(jié)會卡得很嚴,以此來確保產(chǎn)品質(zhì)量。以測試流程為例,過去測試環(huán)節(jié)中,會有很多的測試人員,甚至上線的時候,一個人來負責操作,還會有另一個人來審核監(jiān)管。但是當一個產(chǎn)品一年有很多次上線后,依靠這種傳統(tǒng)的制度確保質(zhì)量是不可行的。
  因為頻繁的上線,再讓測試人員把全部功能都覆蓋測試,在時間上不可行。這就要求有流水線的自動化檢查,自動化編譯驗證測試等等。所以要求提交的代碼也有更高的質(zhì)量。從制度流程角度講,這跟原來方式完全不一樣。
  其次,從文化上來講,在這種頻繁迭代快速上線的環(huán)境下,也要求公司內(nèi)部更加透明,更加扁平化,組織結(jié)構(gòu)不能過于復雜。還有就是要求開發(fā)人員對產(chǎn)品和技術(shù)有更全面的了解,用一種小團隊合作的方式來解決問題,而不是傳統(tǒng)方式靠組織的精細分工來開發(fā)產(chǎn)品。
  以代碼的review為例,在新的文化背景下,開發(fā)人員會把請人review代碼當成自己的責任,會變成一種自主的工作模式。而不是因為代碼沒有review就上線,因為違背制度而受到懲罰。
  從王啟軍的自身體驗來看,華為云的開發(fā)模式更接近互聯(lián)網(wǎng)公司的開發(fā)模式,而跟華為傳統(tǒng)產(chǎn)品開發(fā)有較大差別。王啟軍說,做好云產(chǎn)品的開發(fā),關(guān)鍵還是要把握好妥協(xié)的藝術(shù)。
  因為產(chǎn)品是快速迭代,頻繁上線。所以不能等到做到滿意才來發(fā)布。軟件就是不斷改進的過程。很難一下子做到特別滿意的地步,基本上都是不滿意的狀態(tài)。假設(shè)所有的地方都滿意了,說明系統(tǒng)已經(jīng)過度設(shè)計了,完全都滿意了說明系統(tǒng)成本非常高。比如說像可靠性、性能等各個方面都達到了高的要求,成本就非常高了。
  “軟件架構(gòu)它也是妥協(xié)的過程,會跟需求、跟成本、跟研發(fā),還有質(zhì)量,各個方面不斷的權(quán)衡,去選擇其中比較重要的方面。”他說。
  把重要的幾個方面做得比較好,其他幾個方面只能妥協(xié)。第一就是考慮滿不滿足當前的要求,等以后需求變大了,或者是業(yè)務要求的比較多了,再去補齊短板。比如說可靠性,從3個9到4個9,或者從4個9到5個9的時候,每前進一步,成本是指數(shù)級的上升。在這種情況下,滿意的標準其實需要根據(jù)階段去調(diào)整。
  最后,從技術(shù)角度來講,王啟軍認為做好云產(chǎn)品,技術(shù)上的挑戰(zhàn)并不是那么大。大多數(shù)挑戰(zhàn)大家都差不多,某個部門解決不了,到公司層級就可以解決了;整個公司解決不了,尋求外部資源也能解決。
  但是從團隊和文化層面,會遇到更多挑戰(zhàn)。在做這些事情的時候,不是說一個人想做就能做成的,需要跟團隊的文化和團隊的制度碰撞,去磨合。要把想法傳遞給所有的人,而且所有人都認同這個想法,這非常有挑戰(zhàn)。
  從這個角度來說,王啟軍認為這不僅僅是華為的挑戰(zhàn),很多公司都有很多改進的空間。大多數(shù)東西推行起來,遇到一些沒那么滿意的地方,多多少少都是因為團隊,因為各種各樣的原因做了妥協(xié)。
  因此,在這種情況下做開發(fā),開發(fā)人員和所謂架構(gòu)師的區(qū)別會越來越模糊,對開發(fā)人員的要求越來越高。比如很多業(yè)務,是需要去看別人的代碼,大家有更多的交流。也要求自己的代碼要給別人去看,在這種交流的過程中,會發(fā)現(xiàn)自己的代碼不夠好,形成這種文化氛圍后,自我激勵、主動學習就會成為必然。
  「全新時代,全棧工程師的養(yǎng)成」
  回顧過去多年的從業(yè)經(jīng)歷,王啟軍認為,現(xiàn)在行業(yè)變化非常快,技術(shù)變化也很快。過去一種框架用十幾年沒什么變化,現(xiàn)在基本上不可能。經(jīng)常是今天用這個框架,明天又得用另外一個框架。但現(xiàn)在不但框架多,而且變化還特別快。比如,微服務框架,每個公司都有很多自己私有的框架,開源的框架也能找到七八種。
  再如,以前大家在建私有云,現(xiàn)在公有云會越來越多的使用。公有云的特點,就是應用跑在公有云上,中間件和基礎(chǔ)設(shè)施這些,都交給云去解決。跟傳統(tǒng)最大的區(qū)別,就是使用公有云需要的所有基礎(chǔ)設(shè)施都是通過代碼的方式構(gòu)建。
  這樣,傳統(tǒng)做運維做測試的人會極限壓縮,這兩方面的人會越來越少。傳統(tǒng)上做一個應用,需要產(chǎn)品負責人啟動,產(chǎn)品經(jīng)理開始計劃,接著是架構(gòu)師做架構(gòu),然后開發(fā)人員開始開發(fā),開發(fā)完成交給測試做測試,最后再由運維上線,這個流程會非常長。
  這里面會有很多決策,公司內(nèi)會有很多角色來完成這些決策。但是現(xiàn)在使用公有云,所有的基礎(chǔ)設(shè)施都通過云來搞定,剩下的應用開發(fā)由開發(fā)者來搞定。這時候開發(fā)者就得變成全棧工程師,一個人能干很多事情,既能干前端,又能干后端,運維工作也能干,甚至一些需求分解、架構(gòu)也要由開發(fā)人員來做。這樣對開發(fā)人員的要求就會越來越高。從目前趨勢看,大廠對開發(fā)人員的要求越來越高,不會像以前那樣做非常細的分工。
  面對這種挑戰(zhàn),王啟軍建議,像應屆畢業(yè)生剛開始進入開發(fā),在來之前就要做非常充足的準備。不像以前一個應屆畢業(yè)生到了開發(fā)崗再學。本來這個行業(yè)要求就很高,發(fā)展速度很快,更多優(yōu)秀的人投入進來。很多開發(fā)人員入行就已經(jīng)具備了很高的能力,各方面的技能已經(jīng)很高了。
  以前公司內(nèi)會有很多培訓,還有外部的培訓,F(xiàn)在開發(fā)人員更多的靠自身成長,靠業(yè)務的壓力推動成長。比如用微服務架構(gòu),就得自己研究微服務架構(gòu),用到數(shù)據(jù)庫要研究數(shù)據(jù)庫。
  王啟軍說,現(xiàn)在網(wǎng)上能獲取的知識挺多,如果自身有動力想學習會非常容易。不管是書,還是博客,還是公眾號,還有技術(shù)大會非常多,都是學習通道。如果有學習的想法,有驅(qū)動力,知識來源非常廣。不一定非得有一個專門階段性的培訓,更多的還是靠自己驅(qū)動去學習。
  對于學習和提升,王啟軍認為,好奇心和學習能力最重要。不論之前懂了多少,會了多少,更重要得有一個持續(xù)學習的能力,解決問題的能力。行業(yè)變化太快了,即便學到很多,也知道很多東西,過一年兩年很多東西就會落后,很多東西已經(jīng)變化。現(xiàn)在全棧工程師工作范圍很廣,涉及的點特別多,所以一定要有好奇心,去解決這些問題,這樣才能發(fā)展得比較好。
  不僅如此,全棧工程師需要考慮問題更全面,關(guān)注更寬的領(lǐng)域,而不是限制在眼前工作。原來架構(gòu)師跟開發(fā)工程師是分開的,現(xiàn)在又要做開發(fā),又要做架構(gòu),還要做測試,這就要求工程師涉及更多的交叉領(lǐng)域,要學會更全面更系統(tǒng)的思考。而不僅僅是只考慮寫寫代碼。
  王啟軍根據(jù)自身的經(jīng)驗最后總結(jié)說:“全棧工程師必須保持專注”,例如,生產(chǎn)環(huán)境遇到問題,故障沒有定位出來,就需要不斷地想,不斷地分析,去找這些問題。在這個過程中時間會過得非?。這樣就不會感受太多的壓力,不會受外部干擾。專注于問題解決,不會感覺到特別累特別失望。
  但是,如果是一種被動的狀態(tài),不管學習還是工作,一會做點這個,一會做點那個,時間沒有分配好,這樣就會感覺特別累。當一個工程師做的都是重要但是又不是特別緊急的事,這個時候效率會很高,績效也會很好,也就成了一個優(yōu)秀的全棧工程師。
  后記
  王啟軍的公眾號,最新更新時間是2020年1月10日。在采訪中,他告訴我,未來還會繼續(xù)把最近做IoT,還有PaaS相關(guān)的想法和經(jīng)驗,總結(jié)記錄下來,時機成熟時可能也會寫寫書。
  而對即將于2020年2月11日-12日在深圳舉辦華為開發(fā)者大會2020(Cloud),王啟軍也希望有更多的開發(fā)人員來親自參加和體驗。
  他強調(diào)說:“華為云這兩年發(fā)展非?,并且做的很多東西跟開發(fā)者更貼近,想的會比較多,比較靈活,思維會比較活躍,會解釋為什么會做成這樣,會有更多背后的思考。我相信,大家來參加這樣一個大會收獲會比較多,會遇到跟你的想法比較接近的人,然后大家一起碰撞,由此催生出更有創(chuàng)意的火花。”
  華為開發(fā)者大會2020(Cloud)將于2020年2月11日-12日在深圳會展中心舉辦,這是華為面向ICT(信息與通信)領(lǐng)域全球開發(fā)者的年度頂級旗艦活動。大會旨在搭建一個全球性的交流和實踐平臺,開放華為30年積累的ICT技術(shù)和能力,以“鯤鵬+昇騰”硬核雙引擎,為開發(fā)者提供澎湃動力,改變世界,變不可能為可能。
  本次大會設(shè)有兩場主題演講、數(shù)十個Codelab、上百場技術(shù)論壇、三萬平米展區(qū)、熱門開源項目、創(chuàng)新大賽、初創(chuàng)公司與投資者對接會、黑客松、音樂節(jié)等活動,面向企業(yè)開發(fā)者、初創(chuàng)公司、學生等群體提供個性化內(nèi)容體驗。同時將有機會與技術(shù)達人、掃地僧、天才少年零距離交流。我們期待與你在一起,夢飛揚!
【免責聲明】本文僅代表作者本人觀點,與CTI論壇無關(guān)。CTI論壇對文中陳述、觀點判斷保持中立,不對所包含內(nèi)容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。

專題

CTI論壇會員企業(yè)