【NCTS峰會回顧】云測學(xué)院陳霽:測試開發(fā)到測試架構(gòu)之路
2019年10月26日,由Testin主辦的第二屆NCTS中國云測試行業(yè)峰會在京召開,此次峰會以“AI+未來”為主題,匯聚來自國內(nèi)外測試領(lǐng)域的知名專家學(xué)者、領(lǐng)先企業(yè)決策者、高層技術(shù)管理者、媒體從業(yè)者等,共同探討高端云測試技術(shù),幫助測試從業(yè)者了解最前沿行業(yè)趨勢,及最新的行業(yè)實踐。
會上,云測學(xué)院首席講師,TestOps架構(gòu)師陳霽做《測試開發(fā)到測試架構(gòu)之路》主題演講。陳霽指出,“以前,測試人員不夠就加測試人員,一直加到飽和為止。我們一定要從架構(gòu)級去改變,到一定量以后,要換一個角度看問題,不是從0到1,而是要從0到1找到一個架構(gòu)過程。”
以下為陳霽演講實錄:
不知道在座有多少人是做測試架構(gòu)的,先舉手我看一下。和去年我問有多少人在做敏捷測試的結(jié)果差不多,都在我的預(yù)料當(dāng)中,都很少。今天聊這個話題,希望給大家?guī)硪粋€選擇上的考慮方向,大家往往會說我怎么從功能測試變成一個做測試開發(fā)的呢?但是未來兩三年以后,可能會問自己一個問題,我怎么從測試開發(fā)到基礎(chǔ)架構(gòu)呢?
今天早上看到一個新聞,說阿里巴巴要做一件事情,P8以下35歲以上的通通消滅,這個事情好像是核實的。這意味著實現(xiàn)了一句話,“首先,我們先要讓一部分人富起來,接著我們消滅所有的窮人,從而實現(xiàn)共同富裕。”阿里可能在通過這個方法做這件事情了。
今天我跟大家聊的包括三塊內(nèi)容,第一,到底什么是開發(fā)和架構(gòu)思路,第二,如何構(gòu)建架構(gòu)思想,第三,如何成長。
首先我們看“開發(fā)與架構(gòu)”。大家知道云層是段子手喜歡講故事,如果說不能以一個貼切或者大家能夠接受的話開聊,我們很難形成共鳴。就像敏捷落地,如果不能換位思考讓你明白做這個事情的好處是什么,我永遠(yuǎn)不能推動你做這個事情。
我們先來看一個故事!有沒有一個方法快速區(qū)別誰是開發(fā),誰是架構(gòu)?面試官經(jīng)常問自己一個問題,我如何能夠快速區(qū)分一個被培訓(xùn)出來的測試人員和一個真正自己做過測試一段時間的人來避免他被面試者套路。面試官問你會做什么,面試者ABCD一套套說的很好,這樣選擇就很難了,在座各位也許應(yīng)該考慮自己要如何反套路別人。我們經(jīng)常說一句話,如果你覺得云層的課還滿意,對你有幫助你可以宣傳一下,如果你覺得你上云層的課非常好,那就求不要往外推廣。這里有一個理解問題,我們怎么套路和反套路別人的問題,不知道大家怎么想,這之前先談我的看法。
大家看過這個美劇吧(PPT上是冰與火權(quán)游的一張劇照),沒有看過也正常,我今年才看的,看的非常慢,到現(xiàn)在為止我才看到第四季。而且又不能在飛機(jī)上看,也不能在火車上看,我是下載的版本,如果火車上突然看到一半很尷尬,萬一被人家拍了說我在公共場合怎么樣,所以偷偷在家里看。我問大家一個問題,你只看一部分,大家會覺得這個角色(小惡魔,提利昂·蘭尼斯特)是好人還是壞人?有人覺得是壞人,我看到第一季覺得他是非常非常壞的一個人,無惡不作,但是隨后,我們慢慢看到他有很多有價值的事情,會保護(hù)別人等等,反而一開始我覺得某些好人的可能成為逐漸成為壞人。我談這個話題的目標(biāo)是什么?大家有想過嗎?從小到大,當(dāng)我們開始學(xué)技術(shù)的時候,技術(shù)告訴我們什么?如果我們這么做可以得這個結(jié)果去解決這個問題,所以我們就會形成一個統(tǒng)一答案,我們要解決的問題就是從0到1的過程。比如,告訴計算機(jī)如果怎樣,結(jié)果就是什么樣。最常見的結(jié)果是什么?如果我老婆跟我說陳霽你今天晚上去超市買一個雞蛋,看到蘋果打折買一個蘋果。結(jié)果我肯定買一個蘋果回去,這是精準(zhǔn)思維當(dāng)中0和1的過程。
那么開發(fā)和架構(gòu)的區(qū)別在什么地方?我們現(xiàn)在重新看整個故事,看“冰與火”的時候,我們覺得所有東西真的是0和1嗎?好人就是好人,壞人就是壞人嗎?我經(jīng)常跟大家說云層是壞人,做好人非常累,做什么事情都理所當(dāng)然的,我愿意做壞人,我偶爾做好事時,大家會記得我,否則我會成為所謂的一個標(biāo)桿。
知道這件事情以后,我發(fā)覺架構(gòu)看待問題和普通工程師看待問題是有區(qū)別的。大家眼里解決問題的方法是,覺得我只要掌握一門語言或者工具就可以解決一個問題。最常見的是,老師我怎么學(xué)自動化去解決什么問題,我怎么用自動化提高工程效能等等。但是我經(jīng)常問大家一個問題,作為測試,我們工作的目標(biāo)是什么?提升軟件質(zhì)量,那提升軟件質(zhì)量有什么辦法?除了找Bug還可以鼓勵創(chuàng)新。還有就是把他(開發(fā))收編成為你老公讓他幫助你寫代碼,你可以從思想上管教他,讓他做TDD。
我們以前打游戲,工會有兩個治療,是牧師和奶騎,正好一個做測試一個做開發(fā),我作為一個Tank經(jīng)常死在他老公手上,因為他老公要證明我一定正常奶得住Tank,而他老婆說只要出現(xiàn)危險把技能丟了就行了,至于后面能不能過,那是后面的事情,只要現(xiàn)在扛住,后面還有別的辦法容錯。這就是測試和開發(fā)做很多事情區(qū)別的方向之一。我們看待一件事情時候,要0和1去決定它,還是做問題拆解。當(dāng)我聊到這里大家再去想另外一個問題,不知道大家發(fā)生變化了沒有?兩頁P(yáng)PT是有關(guān)系的,這是龍媽(丹妮莉絲·坦格利安)。如果說一個女孩子突然不喜歡你了你該怎么辦?有些時候我們在微信群里似乎有人聊這個話題,聊這個話題結(jié)果馬上就有人沖出來,你是不是做錯什么事了,或者有很多的答案,直到有一個人說了一句話“既然不合適就不要在一起了”。大家會不會發(fā)現(xiàn)看待問題的角度不一樣,別人問我的時候,大家往往從純技術(shù)角度,0和1的角度看問題,說我既然現(xiàn)在是0我要變成1,我找到解決問題關(guān)鍵點(diǎn)就可以了。你當(dāng)時做什么事情,做錯了ABCD等等,在座各位還有沒有單身的,沒有單身的給單身的說一下,幾乎所有情況女孩子不喜歡你主要原因只有兩點(diǎn)。第一你不夠帥,如果說你足夠帥,其實不存在這個問題,會容忍你所有的缺點(diǎn);第二,你又不夠帥又不夠有錢這個問題就嚴(yán)重了,如果你占這兩點(diǎn)很多問題都解決了,換句話說如果一個女孩子喜歡不喜歡你有很多原因?qū)е?,但本質(zhì)上不一定。
我們從架構(gòu)和開發(fā)角度來講,大家作為開發(fā)人員,或者現(xiàn)在階段你們對所有東西的認(rèn)知是什么?所有的問題都是可以解決的?比如面試的時候跟很多人說的時候就跟你聊,說怎么做一個一百萬并發(fā)的系統(tǒng),那簡單,我做一個F5,后面做redis,做機(jī)器,擴(kuò)展、擴(kuò)展、再擴(kuò)展?我們在群里經(jīng)常聊類似的問題,說我有很多自動化用例要跑怎么辦?適應(yīng)UI自動化化怎么辦?由于原因我時間的問題常常無法接觸,導(dǎo)致覺得最近幾年技術(shù)名詞非常非常多,都沒有聽過,但是如果過一段時間琢磨一下這個問題好象也沒有什么本質(zhì)區(qū)別,或者說也沒有解決問題。大家做測試那么多年,回過頭看解決問題了嗎?問題在什么地方?我們自己在想這件事情,我們說我們能改變世界,我們從0到1,相信男同胞到30幾歲會相信一句話“當(dāng)年有富婆包養(yǎng)我會從了他”。當(dāng)年想我一定能改變世界的,這是成熟男性和未成熟少年的區(qū)別,你心中有夢想,覺得我的世界我一定能顛覆。說實話我自己想了一下,在座所有人還是屬于非常普通的那一種,真正很牛的人是沒有辦法接近的,因為他們從小學(xué)就很牛一直牛到現(xiàn)在,我們頂多是大學(xué)之后做了一個大眾選擇當(dāng)中的小眾選擇,稍微脫離了一個層次。然后,在這個小眾的圈子里再做一個小眾選擇,我相信大家做測試之前也沒有想過做測試,是從絕大多數(shù)覺得理所當(dāng)然的工作當(dāng)中選了IT行業(yè)的測試行業(yè),這是一個小眾選擇,小眾選擇里努力了一點(diǎn)做了自動化,脫離了功能測試或者正在脫離功能測試做一個小眾選擇過程,但是我告訴大家,其實我們跟真正上面的差距非常非常大。
為什么?因為作為架構(gòu)來說想法就不一樣了,有一句話說的很好,什么叫做學(xué)渣?考試好不容易湊了60分。學(xué)神是什么?試卷上只有100分所以我只能考100分。這是我們看待問題方式的區(qū)別,所以作為架構(gòu)師來講,首先應(yīng)該想從0到1的過程是有過程的,什么叫過程?我們看0到1可能很快,0秒到1秒一瞬間過去了,但是這是宏觀在我們度量范圍中能發(fā)現(xiàn)的,如果度量速度放慢,把0到1秒的過程放慢10萬倍你看就是0.0001秒,這個過程當(dāng)中,我們其實會想到一件事情,為什么需要有敏捷需要有精益?從0到1并不是想象中一秒那么快,對于某些生物是很遙遠(yuǎn)的事情,某些生物只能活一秒,在我們看來他們很悲劇,實際上對于他們來講他們一生比我們還要長,眨眼非???,看世界非常快,很快就結(jié)束了,但是放到宇宙級別我們都會發(fā)現(xiàn)一個問題,宏觀觀測和微觀觀測區(qū)別很大,這里就不衍生話題了因為要談到引力波,光的雙重干涉等等。我們發(fā)現(xiàn)所有架構(gòu)都在考慮一件事情,我的核心是什么?分解問題,不是直接的解決問題,我要把一個大問題分解成多個小問題,大家都覺得這個小問題可以接受,那我們繼續(xù)再分解,一直分解它。
所以我們重新從性能測試的角度來講,性能優(yōu)化以前怎么做?前端改前端,后端改就加資源,我們?nèi)绾巫隽骺爻瑫r,我們都針對具體問題具體解決。我們發(fā)現(xiàn),今天家里著火了我們在家里裝滅火器,明天看缺什么就買什么東西補(bǔ)上,這個叫做0到1的具體問題解決方式。我們家孩子今天不吃飯我就打一頓,明天不吃飯繼續(xù)打,打到吃飯為止,這個有用嗎?自從我有孩子我會知道,他為什么會做某些事情,所以到設(shè)計層面之內(nèi)的事情。為什么現(xiàn)在性能問題解決了?可以說很多情況下性能問題都解決了,原因是什么?包括我們吃飯的問題很多時候也解決了,不像以前飯都吃不起,現(xiàn)在至少吃得起了。當(dāng)我們在設(shè)計層面想的時候,我們突然發(fā)覺負(fù)載均衡體系出來的內(nèi)存數(shù)據(jù)庫體系出來了,橫向體系擴(kuò)展出來,微服務(wù)體系出來,這些發(fā)生變化以后,以前需要處理的問題都不存在了,CDN一旦誕生,幾乎就不要考慮靜態(tài)請求的問題了,所有的請求都CDN緩存走了。
我們以前很擔(dān)心從A點(diǎn)到B點(diǎn)距離那么遠(yuǎn)怎么解決,現(xiàn)在有高鐵,動車,我們越來越多人是雙城計,今天有一個哥們從上海來到北京,決定在北京扎根很佩服他,每兩個禮拜回去看一次老婆,其實四個多小時他說還好。偶爾在上海出差,就是去上海郊區(qū)也得四個小時,當(dāng)然我相信北京兄弟姐妹遇到堵車的情況可能上班也需要四小時,去天津還是快一點(diǎn)。我們做性能優(yōu)化我們有投資回報比。初期從0到1做這個事情就可以,后面發(fā)現(xiàn)不行了,這就是架構(gòu)和設(shè)計區(qū)別。以前,測試人員不夠就加測試人員,一直加到飽和為止?,F(xiàn)在我們一定要從架構(gòu)級去改變,到一定量以后,要換一個角度看問題,不是從0到1,而是要從0到1找到一個架構(gòu)過程。
既然知道這一點(diǎn),我們就談一下怎么構(gòu)建架構(gòu)思想?這些東西講的都沒有用,就跟大家做人一樣,告訴大家好好做人怎么怎么努力,實際情況還是要靠大家自己找到門路。從我的角度來講,我談一下我構(gòu)建架構(gòu)思想的體系。首先第一點(diǎn)就是改變視野,就是看東西的方向,其實很多時候我們會談一件事情,看東西不光要看自己,還需要看別人的方向并且找到那些內(nèi)容,當(dāng)我們做程序員、測試或者做一個具體技術(shù)的時候,我們更多強(qiáng)調(diào)的是局部優(yōu)化的問題,我沒有辦法看到整體,只能看到我自己眼前那一小塊。我訪問對象變了,我識別不出來了,或者說我做的結(jié)果不對了,舉一個簡單例子,大家知道功能測,我點(diǎn)某一個按鈕出來的情況跟預(yù)期的不一樣,我們就會提交Bug出來。這是一個普通的視角或者說從我的角度來講我完成了我自己的本職工作,但是你問過自己為什么會產(chǎn)生這個問題嗎?我們做測試,我們不光要給答案,還要給預(yù)防結(jié)果,或者回避掉出現(xiàn)這種東西的情況,讓自己不要重復(fù)犯錯。
我們家孩子也知道有一個坑在這里或者有斜坡在,我說你跑下去,不跑,我怕,他會知道,我們呢?多少測試可以告訴開發(fā)今天犯錯了,明天再這里需要知道如何不犯錯,能夠預(yù)警出來。沒有,因為我們做測試關(guān)注在細(xì)節(jié)上,如果做全局優(yōu)化怎么辦?舉個例子,從UI級自動化看是不是觸發(fā)操作所產(chǎn)生的請求,操作請求產(chǎn)生看,數(shù)據(jù)結(jié)構(gòu)是不是對,是不是到后臺中間件,到中間件看是不是調(diào)用中臺組合了業(yè)務(wù),甚至于哪一個SQL以及這個SQL的拼接過程是不是對的,這是我們經(jīng)常講的整個APM端到端的跟蹤。而當(dāng)有了這個端到端跟蹤我們突然發(fā)覺解決問題的關(guān)鍵其實有很多種方法。什么方法?如果我考大學(xué)成績不夠我有兩種做法,第一種是什么?就是什么差補(bǔ)什么,我語文考很低就補(bǔ)語文;第二種方法,我什么好就加強(qiáng)什么,我數(shù)學(xué)130,我考150還可以擠20分出來。有沒有別的方法?還有很多,為什么讀大學(xué),早一點(diǎn)做別的行業(yè)更有前途,大家都會意識到這個問題,以前我讀大學(xué),大學(xué)后找工作,這就是一輩子?,F(xiàn)在我們知道人生是一個過程,需要全局優(yōu)化,我需要會很多東西,等那個階段需要時候我們再動態(tài)調(diào)整。
我這里講的是端到端的視野,在談的事情是解決價值的問題,要看的不是現(xiàn)在我要解決什么問題,而是有哪些東西會影響我的價值,找到最影響我價值的東西再去改變,這才是最有優(yōu)勢的全局優(yōu)化的部分。得把視野放長,怎么放長?我回頭看一看,為什么研發(fā)不能配合我們,或者提前預(yù)防做這個事情呢?所以TDD聊的很多,希望大家在整個流水線上,將研發(fā)過程形成共同全局優(yōu)化的意識,這樣我們解決問題才不會說對不起,我現(xiàn)在很忙,有很多東西要測。我現(xiàn)在要寫框架,要幫助很多測試去執(zhí)行整個自動化測試,但是大家自己捫心自問這東西是你的價值,是公司價值,還是真正可以創(chuàng)造用戶價值?這才是關(guān)鍵,如果做不到這一點(diǎn),你做事情只是為了安心,知道自己在工作而已,所以這是我們的第一步。
第二步是量化。早期我很討厭量化,我最討厭領(lǐng)導(dǎo)說每周都需要寫周報,我覺得實在擠不出什么東西,女人生孩子肚里有貨,但是我沒有貨,所以寫周報什么都寫不出來。慢慢的我發(fā)覺我寫的東西是可以很多的,一旦我寫不出來就沒有辦法證明我是真正進(jìn)步,如果寫出來就可以知道真正在做什么。大家寫周報說今天做了什么,今天寫測試用例。我今天總結(jié)或者量化是解決多少Bug,解決多少問題,解決問題時候你只是關(guān)注在證明我的工作量而已,而從更廣角度來說我們影響的是什么?從量化到進(jìn)化,你的工作量和工作能力是有限的,你可以提高你自己的能力做更多的事情,但是你不可能做所有的事情。有一個問題,大家看過很多美國的英雄片,無論是鋼鐵俠,美國隊長,都面臨很困難的問題,這是一個悖論,就是左邊有10個普通人,右邊有一個小孩,然后有一個東西飛過來你救A不能救B,你救誰?大家一定會面臨這個問題,你不可能想著救所有人,地球那么大,到處有事情出現(xiàn),包括孫悟空等等,我們把所有能想象的人類創(chuàng)造的所有的英雄,軍隊或者是警察管不了的事情,需要有民間英雄做這個事情,但也不能做所有事情啊。你做一件事情可能會帶來更多不好的地方,你救一個人你覺得真的幫助了他嗎?不一定的,為什么?從某些角度來講,如果沒有這些意外你把它救了,人類人口上升更快,那可能又是一個災(zāi)難,沒有什么事情是絕對對錯的。
滅霸其實做的很好,很公平啊,所以有一個段子就說,來了一個新架構(gòu)師,把公司所有代碼重構(gòu)了減少一半的代碼,并且提高了工作效率,結(jié)果所有剩下的老油條把他干掉了。我相信在座各位都覺得我們做的工作很偉大,但是有很多人吐槽我們工作做得很爛,因為我們消滅他們很多的就業(yè)機(jī)會。同樣,如果自動化做起來,AI做起來,可能在座很多降級成外包了。都沒有機(jī)會上去的,因為大家被替代了。
所以這個過程當(dāng)中我們就會說一件事情,希望讓自己進(jìn)化成為架構(gòu)師,就一定要量化自己做了什么,能夠找到自己進(jìn)步的數(shù)據(jù)量化點(diǎn),如果沒有那個數(shù)據(jù)量化點(diǎn)的話,其實你還在自己騙自己,因為你找不到自己進(jìn)步的因素,我們不要以簡單解決多少問題來說,而是以比例價值來說,我真正解決了百分之多少的問題是有價值的問題,這是我們在整個量化過程當(dāng)中應(yīng)該做的事情。
第三點(diǎn)賦能,昨天晚上吃飯還說了某大廠正在從賦能轉(zhuǎn)換成新階段,賦能是我們談了很多的話題,也是大家恐懼的事情,為什么?中國有一句話說教會徒弟餓死師傅,賦能就是教別人達(dá)到和你一樣的水平,當(dāng)年我寫書的時候也很恐慌,擔(dān)心把我所有會的東西寫在書上是不是別人看書就會了,我花5、6年做的事情,全國LoadRunner全國前10人我還是能算上的,就被大家半年掌握了?實際上根據(jù)我不完全統(tǒng)計包括我自己去看,書買了能看的不超過60%,看了能看完的60%當(dāng)中也就30%,看完能看幾遍看懂的可能只有其中10%,真正看完有想法的1%都不到,這是非常正常的事情。你覺得賦能給別人,我就沒有了?你想的太簡單了,你真的把這些東西傳授給別人,別人能達(dá)到你的水平不是那么快可以做到的,更何況也許你還沒有能力賦能給別人,在看到別人學(xué)不會的時候,你自然就會覺得自己很安全,你沒有安全感你自己是不敢賦能的。
以前大家常見的問題是幫助別人解決問題,人家說現(xiàn)在我寫代碼定位不到,你馬上打開頁面調(diào)試一下給他一個答案,貼代碼,說謝謝謝謝,誰解決代碼了,我們這個圈里人說提一個代碼,我們會說你試試什么辦法,他會說,你有本事你幫助我解決,不能解決別BB,這時我理解所有初學(xué)者希望某一個人幫助你解決問題,你不解決可能浪費(fèi)幾個小時的時間,我很能理解,但是作為某一個階段做事情,我們希望你自己找到分析問題的思路,什么思路?我只要幫助你把問題從頭到尾問清楚,你自己就知道怎么解決了,你解決不了原因是你連百度都不知道百度什么。
學(xué)生問我“老師,我們腳本怎么跑不動?”我說你提供表單,這不是業(yè)務(wù),這是操作過程。我現(xiàn)在看到什么數(shù)據(jù)傳遞給客戶,客戶怎么操作把數(shù)據(jù)傳遞服務(wù)器,服務(wù)器校驗機(jī)制和所有參數(shù)形式、結(jié)構(gòu)邏輯是什么?這是你應(yīng)該告訴我的業(yè)務(wù),是通過這個業(yè)務(wù)邏輯最后實現(xiàn)我們操作成功的表結(jié)構(gòu)變更,而不是告訴我在這里填框1就行了,或者說給我們發(fā)一個代碼告訴,說這就是我們的代碼體系,請問我們?yōu)槭裁创a跑不通,這我怎么知道呢?
這個過程當(dāng)中,我們會說,大多數(shù)工程師級別在遇到問題的時候,不是在想他為什么提這個問題,我為什么解決不了這個問題,想的是我把這個問題幫助他解決了,答案拷給他就行了,然后結(jié)果是什么?兩天后問你同樣問題,因為他只知道答案不知道解決問題的方法,而且他不關(guān)心你怎么做到的,怎么分析出這個問題的,這是關(guān)鍵。在座各位來講,要想的事情是我?guī)椭鷦e人的時候,我到底是以幫助解決問題為本,還是幫助別人自己能獨(dú)立解決問題的方式,我相信作為測試問開發(fā),你做了什么事情讓我們的自動化腳本失敗了,他就會說等一下我改一下就沒有了,你喜歡這樣的工程師嗎?也許你覺得工作是這樣,但是你很想知道他到底做了什么,然后你應(yīng)該做什么配合,因為這樣才有進(jìn)步才會賦能給你,所以架構(gòu)師級別就是如何通過自己跨站能力,形成思路,形成賦能的過程,就是我跟大家聊的這個過程。我們一個系統(tǒng)慢,行,我先告訴你為什么覺得他慢,訪問時間很慢,那我們抓個包,我們看前端不慢,是慢在后端服務(wù)器,那這個業(yè)務(wù)可以影響多少邏輯和代碼?我們要查數(shù)據(jù)庫我們看慢SQL是那些,大家提問的時候往往原因都不知道,所以不能定位,一旦可以定位一定可以解決這個問題。
大家想成為架構(gòu)師級別,一定要做到總體判斷問題,而不是局部解決問題,因為局部解決問題在這個階段已經(jīng)不夠用了,很多人可以解決局部問題,但是很少有人能看到整體問題的方向是什么,一句話解決它,比如從本質(zhì)上講為什么測試配合開發(fā)做自動化測試,證明我能夠適應(yīng)它從而跑幾次,而不是開發(fā)人員為什么不做成規(guī)范的內(nèi)容,然后來適應(yīng)我的測試讓大家質(zhì)量達(dá)到標(biāo)準(zhǔn),這是一個思路轉(zhuǎn)變,你能不能推動他做這個事情,賦能做這個自動化呢?你肯定說,我教會他我怎么辦,你是測試你設(shè)計測試,執(zhí)行層面原則上不應(yīng)該浪費(fèi)你的時間,這才是角度看法的區(qū)別。
聊完第二個章節(jié)中就談了三件事情,如何展開自己視野,找到自己量化的進(jìn)步方向,以及如何賦能給別人,最后聊一下怎么成長。既然知道我要往前走,如何做到這一點(diǎn)呢?方法比較簡單。這是敏捷上的幾個名言,“守破離”,來自于日本的劍道,我這里加了關(guān)于它的說明,我們做任何事情都有一個過程,從模仿到規(guī)范,從規(guī)范到脫離,都是這么一個過程。首先第一點(diǎn)我希望大家記住一句話,如果一個事情絕對正確,你相信就做,那一定有問題,不存在絕對正確的事情。我們說沒有世界不是從0和1組成,是0到1過程組成的,這個話說起來挺對,但是對企業(yè)和現(xiàn)狀都不是那么合適,你一定要找到符合你的0.6或者0.7的狀態(tài)。那么這其實是我們所謂的后面“離”的部分,首先我需要模仿別人去做一個所謂的架構(gòu)師需要的知識面,需要解決方案,在一定階段,你會發(fā)覺我和別的公司不一樣,我和別的人不一樣,我得找到我們公司的特點(diǎn),研發(fā)的特點(diǎn)是什么,運(yùn)維的特點(diǎn)是什么,需求的特點(diǎn)是什么,我們行業(yè)的特點(diǎn)是什么,我們才能找到符合這個特點(diǎn)的我自己的定位,所以我們會說“守破離”的概念,這個概念中關(guān)鍵的是如何確認(rèn)個人價值和客戶價值。
怎么去聊這個話題?首先,我們說過“守破離”基于第一模仿,第二調(diào)整,第三構(gòu)建自己獨(dú)立思想的過程,在這個過程當(dāng)中需要記住兩點(diǎn),你做這件事是基于兩個模式做,第一就是我個人的價值,如何實現(xiàn)我自己的一個學(xué)習(xí)過程,學(xué)什么,學(xué)的過程如何量化證明我得到了一個指標(biāo),也許你通過某些認(rèn)證,某些考試或者某些代碼編寫,比如,你寫兩萬行代碼水平到一個階段,寫代碼很快了,到這個階段你問自己一個問題,我現(xiàn)在做別人做的所有框架,那這個框架是我想解決的問題嗎?我在模仿別人,這不是我的,所以我要根據(jù)我的認(rèn)知做事情,大家會說自己的框架、體系、思路等等。這是個人價值的部分,同樣的,也要和企業(yè)價值同步,因為你是一個人,你在人的圈子里,你就是在江湖,有江湖才有人,有江湖就有恩怨所以不能簡單說我把事情做好就可以了,我相信很多人都會覺得一件事情,做技術(shù)很簡單,我把事情搞定就可以了,但是你確定你搞定這件事情是對的嗎?你想過這個問題沒有?
就跟大家前一段時間知道的,所有網(wǎng)絡(luò)爬蟲一樣,你做事情很簡單,幫助把信息爬出來,那有什么好處呢?第一比價,可以買到最便宜的東西,第二是比別人更快得到信息,其實這個有法律邊界問題你考慮過嗎?有人說信息就在這里我們?nèi)ヅ?,這有什么問題呢?那你家門沒鎖進(jìn)來就把東西拿進(jìn)來了你覺得違法嗎?這是有法律邊界的,我們這里不討論例子合適不合適或者是否有悖論,但是你一定面臨別人系統(tǒng)可能不夠安全,或者不夠健壯被數(shù)據(jù)爬掉的,可能在自己網(wǎng)站說我收集你數(shù)據(jù)是系統(tǒng)需要,不會對外公開,但是我不能保證我對別人爬了或者破了,那信息還是泄露了。大家知不知道信息什么最值錢?很抱歉你信息不值錢了,因為到處都有太容易得到了,但是當(dāng)你孩子誕生那一天,你一旦做產(chǎn)檢時候,你孩子信息才最值錢,因為你孩子會存在相當(dāng)長的消費(fèi)過程,從生下來就有人打電話要不要保姆,現(xiàn)在問你需要不需要月子會所,拍照,稍微大點(diǎn)找不要去早托,讀小學(xué)的輔導(dǎo)班,初中輔導(dǎo)班等等,你數(shù)據(jù)會賣幾十遍,每個機(jī)構(gòu)花幾十塊錢買一個東西,因為他知道你孩子該讀這個了,是這時間段的用戶。這是一件非常非常可怕的事情。
當(dāng)我們做圍繞客戶架構(gòu),圍繞個人架構(gòu)的時候,大家一定記住一件事情,我今天想說重點(diǎn)!世界不是0和1,而是0和1之間有很多模糊部分,不要過分圍繞自己解決問題的一個點(diǎn)想,你想得再厲害,他所帶來的結(jié)果都是你想的事情。我發(fā)現(xiàn)我是想法很好,但真正在別的地方應(yīng)用就不一樣了,我們需要去找到在整個價值端長的過程。
聊完這個事情,到底怎么變成架構(gòu)師的思路或者展開一個視野呢?如果大家聽我上次講的時候,我本身想做一個演示,但是環(huán)境情況沒有做到,今天也很難做到,但是我做了一個事情給大家看,當(dāng)我做PPT時我是怎么做的?我其實是作為一個具體實現(xiàn)部分的,對大家來講也面臨這個過程,我去實踐一個東西就是找明確的答案是什么?就是0和1沒有別的選擇,但是做這個事情我需要問自己,我如何表達(dá)0到1的過程,讓大家知道我在講什么,所以我需要做一個事情,就是畫完整思路導(dǎo)圖成為我之前的內(nèi)容。
思維導(dǎo)圖是把我腦子里想的0.1,0.2、0.3內(nèi)容放在這里,抽到我覺得合適的各個點(diǎn)的內(nèi)容出來,他們可能都不是1,這只是一個想法和概念,我希望通過ROI聊技術(shù),有些時候性能優(yōu)化沒有必要,我們服務(wù)器上的太快不需要優(yōu)化了,我只要把價格降下來本身就不是問題。比如,現(xiàn)在換一個方法變成更快充電的,更快充電的話,充電不安全怎么辦?我用兩塊電池充這個問題也解決了。包括傳輸當(dāng)中的問題,我需要造一個手機(jī)殼,我手機(jī)主題變的時候這個手機(jī)跟著也變,技術(shù)角度你覺得無解,很簡單啊。既然做不到這一點(diǎn)先做一件事情,我給客戶7個手機(jī)殼,然后我送你一個APP能夠產(chǎn)生7種不同的主題,你換一個主題換一個手機(jī)殼出現(xiàn),這解決一定的問題了吧?接著你可以拍一張照片可以識別照片顏色體系,告訴你應(yīng)該選哪一個階段,第二個手段,手機(jī)殼實現(xiàn)圖形化的能夠動態(tài)變化的內(nèi)容,就是可變化的LED,通過藍(lán)牙傳輸重新出現(xiàn)的就搞定了,我們看這塊投影屏也是這種技術(shù),這是可以實現(xiàn)的,只是沒有做到那個級別,一旦我們出現(xiàn)超導(dǎo)體以后,電子運(yùn)用也解決了,只是還沒有到那個階段,現(xiàn)在受制于基礎(chǔ)工業(yè)問題沒有解決。
思維導(dǎo)圖來談,如何理解這個問題?發(fā)現(xiàn)以前不能解決的問題都可以解決,因為以前不能解決的問題都是在很小的領(lǐng)域,但是現(xiàn)在放大領(lǐng)域看的時候都不是問題。我們兩個吵架小問題,現(xiàn)在我們覺得不可調(diào)整,放大了看,等到生死問題時候,一下子把這個放淡了。量化角度,架構(gòu)師角度都是可以改變一個思想。
今天跟大家分享東西可能蠻空的,很無聊的,很適合這個時間的,大家可以打盹聽,如果大家沒有睡覺,看手機(jī)比較少,偶爾拍拍照,那我達(dá)到目的就到了。話說一萬遍就是這樣,架構(gòu)怎么走,每個人都有自己的路,我想告訴大家答案不是唯一的,是根據(jù)大家的過程調(diào)整出來的,有一些實踐大家是可以做到的。
謝謝大家!