李艳鹏:技术人如何修炼内功
李艷鵬:技術(shù)人如何修煉內(nèi)功
?
?
?
前不久趣直播舉辦了一場技術(shù)人成長交流會。邀請了易寶支付產(chǎn)品中心首席架構(gòu)師李艷鵬來分享。
以下是文字版:
?
有請李艷鵬老師!第一場分享是由艷鵬老師帶來的,今天非常感謝大家來到現(xiàn)場。艷鵬老師這本《分布式服務(wù)架構(gòu)原理設(shè)計與實戰(zhàn)》的作者,之前是一個朋友介紹他來我們平臺做了一次直播,然后他相應(yīng)的在服務(wù)器方面造詣比較深,他在易寶現(xiàn)在做首席架構(gòu)師,也是技術(shù)經(jīng)理,所以就覺得他在,所謂修煉內(nèi)功,我們會經(jīng)常說,底層才是內(nèi)功,在后端方面讓李艷鵬老師來分享一下后端方面如何去修煉自己的內(nèi)功?有請李艷鵬老師。
?
謝謝大家,大家下午好,我是來自易寶支付的李艷鵬,今天我給大家分享的主題就是技術(shù)人如何修煉好內(nèi)功。這個內(nèi)功包括技術(shù)的主題,也包括我們做人做事的主題。
?
?
?
?
那首先看一下我們今天分享的內(nèi)容,我們今天一共包含四個內(nèi)容。
- 第一個內(nèi)容就是個人簡介。
- 第二個內(nèi)容就是分布式的服務(wù)架構(gòu)。
- 第三個內(nèi)容就是如何修煉技術(shù)的內(nèi)功。
- 最后一個內(nèi)容就是如何修煉我們做人做事的內(nèi)功。
?
?
?
個人簡介
?
?
?
?
首先第一部分就是個人簡介,我個人是經(jīng)歷過幾家公司,然后我從畢業(yè)開始進入花旗銀行,又來到甲骨文,又在路透社和新浪微博工作過,然后我在這幾家公司負責(zé)的系統(tǒng)主要包括 K12 的教育系統(tǒng)還有外匯的交易系統(tǒng),以及一級市場的回購業(yè)務(wù),最后在新浪微博我是負責(zé)視頻的微博項目。
?
在不同公司,經(jīng)歷過金融公司,也經(jīng)歷過社交媒體的公司,不同公司業(yè)務(wù)有不同特點,比如說社交媒體其實它的量級比較大,但它的準(zhǔn)確性并不是最大最好的,比如說在社交媒體的一家公司,其實有兩千個出錯的時候,只有一個會來反饋投訴,但是在金融公司是不一樣的,在金融公司只要你有一例出錯的,那要不是老板來找你,要不然就是你的客戶來找你,所以金融公司的特點更注重準(zhǔn)確性,當(dāng)然他的量級也是很大的。
?
?
?
?
接下來我介紹一下我現(xiàn)在的工作,然后我現(xiàn)在在易寶支付,我是產(chǎn)品中心的首席架構(gòu)師,我主要做產(chǎn)品中心的架構(gòu)規(guī)劃與落地,我還有一些其他職責(zé),然后這些職責(zé)包括核心系統(tǒng)的建設(shè)與維護,主要包括交易,支付,渠道,還有商戶平臺等。我還負責(zé)一些技術(shù)規(guī)范的建設(shè)和推廣,以及金融行業(yè)中最重要的資金底線防火墻的建設(shè),大家都知道金融行業(yè)是跟錢打交道的,那這個錢只要一有損失,這個損失就是非常大的,所以我在這邊還負責(zé)資金底線的一個建設(shè),然后還有,我還負責(zé)整體性能優(yōu)化等等。
?
?
?
分布式的服務(wù)架構(gòu)
?
?
?
?
第二部分就是分布式的服務(wù)架構(gòu),我們總體看一下它的目標(biāo),目標(biāo)主要包含六個方面,這六個方面都是什么呢?
?
第一就是高可用,第二就是高性能,第三就是可伸縮性,第四就是可擴展性,第五就是安全性,第六就是一致性。我們一個一個來說這六個目標(biāo),它們是怎么實現(xiàn)的?
?
這六個目標(biāo),第一個就是可用性,我們在一般公司里邊都會用 4 個 9 或者 5 個 9 來衡量,當(dāng)然我們的易寶支付是可以達到 4 個 9,那 4 個 9 是怎么實現(xiàn)的呢?這個我們得從影響可用性的原因來分析,這個原因有很多。
?
例如我們統(tǒng)計了一下,去年影響可用性的主要原因包括什么?主要包括就是我們上線變更的時候,會影響我們 40%,50% 的可用性,那么我們就針對這個情況,我們就增加了架構(gòu)評審和設(shè)計評審,還有技術(shù)評審等等,那我們就把這一塊的窟窿堵住了,那我們可用性就可以提高上來,那下一個最重要的就是性能,大家常說性能的優(yōu)化,但是性能的優(yōu)化用什么方法來保證呢?在我們分布式服務(wù)架構(gòu)里邊,最重要的就是一個分而治之的一個思想,我們通過分而治之的思想提高整個系統(tǒng)的吞吐量,然后另外一個就是由于分而治之,其實它會導(dǎo)致一些問題。
?
這個問題就是一致性問題。那么我們怎么解決這個一致性問題呢?是我們最困難的事,也是最有挑戰(zhàn)的事,當(dāng)然如果大家感興趣,我這本書的第二章就是講一致性的問題,講一致性是怎么解決的?
?
?
?
?
第三個就是可伸縮性,是我們互聯(lián)網(wǎng)項目中最重要的一個特性,為什么說它是最重要的呢?因為去垂直擴展,這個性價比已經(jīng)變得很低了,所以我們都去采用水平擴展,包含應(yīng)用層的和數(shù)據(jù)庫層的,還有緩存等等,例如數(shù)據(jù)庫的分庫分表,緩存的分片,還有消息隊列的消峰,其實我們都是為了讓這個系統(tǒng)能夠水平伸縮起來,然后提高它的性能。
?
下一個特性就是安全性,安全性其實大家常說的,就是有我們系統(tǒng)安全性,寫代碼的安全性,數(shù)據(jù)庫的安全性,還有前端外部的安全性,但是總結(jié)起來安全性其實大家仔細想,其實只有五個目標(biāo),第一就是防泄漏,第二就是防竄改,第三就是防抵賴,第四是防偷窺,第五是防止中間人攻擊,其實所有安全性最后的目標(biāo)只有這五個目標(biāo),那這五個目標(biāo)怎么實現(xiàn)呢?
?
就是現(xiàn)在密碼學(xué)上的幾個技術(shù)的點,那么第一個就是加密,第二個就是簽名,第三個就是我們使用 HTTPS 的雙向認證通道,防止中間人攻擊。有了這些辦法,我們剛才所說的那五個目標(biāo),其實都可以達到的,其實安全性也并沒有那么負責(zé),當(dāng)然具體的答法和方式還是很多很多的。
?
然后我們下一個就是可擴展性,其實提到可擴展性,大家肯定覺得可擴展性和可伸縮性是一個概念,但是實際上這兩個概念其實是不一樣的,可擴展性指的這個系統(tǒng)的可修改性,將來能夠進行比較快速功能的迭代,然后快速去滿足新的市場需求,這個叫可擴展性,我們以前常說的可插拔,其實屬于可擴展性,但并不是可伸縮性。
?
最后一個就是一致性,剛才我也說了,一致性是我們實施服務(wù)化或者微服務(wù)化以后,造成一個大的問題,我們都需要去保證。
?
?
?
?
那么接下來我們進行分布式服務(wù)架構(gòu),其實我剛才介紹了一些內(nèi)容,但是實際上我們很難在 20 分鐘內(nèi)講的比較透徹。然后我推薦三本書,第一本書就是京東開濤寫的《億級流量網(wǎng)站架構(gòu)核心技術(shù)》,那這本書更偏向于高并發(fā)和高可用前端系統(tǒng)的一個架構(gòu)分析和設(shè)計和方法還有實踐。
?
第二本就是我和楊老師共同著的,分布式服務(wù)架構(gòu)原理設(shè)計與實戰(zhàn),然后我這本書涉及到,包含了微服務(wù)化,一致性,可用性,還有大數(shù)據(jù)日志系統(tǒng)的建設(shè),以及調(diào)用鏈系統(tǒng)建設(shè),會包含一些 APM 的核心功能,再加上我們線上進行技術(shù)攻關(guān)和進行線上應(yīng)急的一些經(jīng)驗總結(jié),以及最后的容器化還有持續(xù)集成等主題,所以這些主題總體來講更偏向于方法論和實戰(zhàn),還有一些案例,所以說推薦大家來看這本書。
?
最后一本書就是李智慧老師寫的大規(guī)模網(wǎng)站核心技術(shù),就是最后一本,大家看一下李智慧老師寫的這本,大型網(wǎng)站技術(shù)架構(gòu)核心原理與案例分析,李智慧老師寫的,其實這本書應(yīng)該有好幾年了,應(yīng)該好多年了,但是這本書講的原理還有概念都非常的核心,非常的重要,推薦大家也讀一下。
?
?
?
如何修煉技術(shù)的內(nèi)功
?
?
?
?
?
01
如何綜合評估一個人的技術(shù)能力
? ?
?
?
下面是第三部分,其實我要分享的是如何去修煉技術(shù)的內(nèi)功,我們要說如何去修煉技術(shù)的內(nèi)功?我們先看一下,如果我們作為面試官,我們?nèi)ッ嬖囈粋€候選人,我們從哪些方面全面評估這個人的技術(shù)能力?
?
大家看這三個圖,還有底下的字,其實我會根據(jù)三個層面來評估一個候選人,包括廣度,技術(shù)知識的廣度和技術(shù)知識的深度,還有技術(shù)知識的高度,那對于廣度指的是什么呢?指的是這個人做過什么事情?這個人學(xué)習(xí)過多少的知識?他用過多少語言?他屬于使用多少工具等等,主要在他的知識面和他的經(jīng)驗,那什么是技術(shù)的深度呢?技術(shù)的深度就是期望每個人在某一方面一定是有造詣的,什么是造詣呢?
?
?
?
?
?
就比如說在 Java 上,你一定要了解 GC 的原理,你能夠通過調(diào)節(jié) GC 來提高它的性能,或者是你懂得我們 RDBMS 數(shù)據(jù)庫的索引原理等等,并且能把這個原理應(yīng)用到你的生產(chǎn)實踐中,你一定要有幾個主題或幾個方面是你非常深入了解和學(xué)習(xí)過的。最后就是一個高度,高度這個事其實是我這兩年才認識到的,以前我只是拿廣度跟深度來看別人和看自己,現(xiàn)在又增加一個高度,高度是什么呢?就是你學(xué)這個技術(shù)有什么目的?學(xué)了這個技術(shù)能達到什么樣的生產(chǎn)?學(xué)了這個技術(shù)是不是現(xiàn)在技術(shù)的一個前沿,還是說已經(jīng)淘汰好多年的一門技術(shù)?
?
所以就是說,我們一定要站在很高的高度來看這些東西,學(xué)了是不是有用的?學(xué)了將來是不是有用的?將來十年有用,將來二十年是不是有用的?所以也跟我這門課一樣,就是我們一定要修煉這個內(nèi)功,因為內(nèi)功是永遠不變的,就是將來你可能過十年二十年,這個內(nèi)功還是一樣的。
?
?
?
?
?
02
如何修煉內(nèi)功
? ? ?
?
下面主要是說我們?nèi)绾稳バ逕掃@個內(nèi)功?有多少方面需要我們掌握?一共有四個主題,我們先看下面兩個主題,那就是操作系統(tǒng),算法和數(shù)據(jù)結(jié)構(gòu),那先說操作系統(tǒng),其實我們現(xiàn)在看各種新技術(shù),還有我們用的各種技術(shù),其實都跟我們操作系統(tǒng)有關(guān),而且我們發(fā)現(xiàn)新技術(shù)新原理,很多東西從這個操作系統(tǒng)一些核心的原理上是能找到縮影的。
?
其實舉一個非常小的例子,比如說大家說的微服務(wù),大家是不是覺得微服務(wù)現(xiàn)在很火很新?但實際上在操作系統(tǒng)中是有微服務(wù)的,第一它的內(nèi)核是微內(nèi)核,第二我們想一下命令和管道,就是我們在實現(xiàn)一個復(fù)雜的日志搜索,我們一個命令接一個管道,再接一個命令,再接一個管道,其實每個命令是在完成自己它想做的事,有清晰的輸入和輸出,然后和其他的命令去配合著使用。
?
所以完全是一個微服務(wù)的思想,所以我說學(xué)技術(shù)得學(xué)它的內(nèi)功,內(nèi)功就是我們這些基礎(chǔ)一定要掌握很扎實,所以對于操作系統(tǒng)來講,我們一定要理解到它的 CPU,內(nèi)存,磁盤還有網(wǎng)卡的 IO 等等這些原理,并且能夠根據(jù)這些資源去評估你服務(wù)的吞吐量和 TPS 響應(yīng)時間等等,這個評估指的是粗略評估,就是評估是沒有精確評估的。
?
然后我們看一下算法跟數(shù)據(jù)結(jié)構(gòu),對于算法和數(shù)據(jù)結(jié)構(gòu),對于我們應(yīng)用層的小伙伴們肯定是覺得,這個事,其實我們很少在應(yīng)用層直接去使用到它,使用也非常簡單,但是算法和數(shù)據(jù)結(jié)構(gòu)象征著我們一個人的邏輯思維和一個人思考能力,所以一定對這個東西也要掌握一些,或者是要熟悉一些。我最后有一個高級算法,高級算法是指這些,比如說動態(tài)規(guī)劃,貪婪,還有剪枝,遞歸等等,那為什么我說有高級算法呢?就是假設(shè)在座的每一位都是面試官,那來了一個小伙伴,小伙伴說我會動態(tài)規(guī)劃,我可以寫出來,我隨便一個都可以寫出來,那這個人要不是勤奮的,要不他就是非常聰明的,所以如果你會這個,一般都是會打動這個面試官的。
?
?
?
?
?
然后我們再看上邊的兩個主題,第一個是高并發(fā)的服務(wù),第二個是大數(shù)據(jù),其實在互聯(lián)網(wǎng)公司里邊主要有兩個方向,就是這兩個方向,一個就是高并發(fā)的服務(wù),做線上服務(wù)的,一個就是大數(shù)據(jù),那高并發(fā)的服務(wù)其實它的核心思想就是分而治之,就是我們單體系統(tǒng)架構(gòu),其實不是它的性能不能提高,是它在垂直擴展過程中,它的性價比非常低,非常貴,所以我們都用伸縮,采用分而治之的思想,但是分而治之以后產(chǎn)生的問題,那就是一致性的問題,因為分開了,他們的協(xié)調(diào)一定會有問題。
?
至于一致性怎么保證,還是在我書的第二章是有的。然后右上角就是大數(shù)據(jù),其實大數(shù)據(jù)這些年特別火,但是大數(shù)據(jù)所有核心思想其實都來自于谷歌的三大論文,包括Mapreduce,Gfs,Bigtable,所有的大數(shù)據(jù)根基都來自于這三個論文,所以推薦大家都閱讀一下這三篇論文,現(xiàn)在網(wǎng)上有一些中文翻譯,當(dāng)然如果英語比較好的是可以看英文版的。
?
?
?
?
?
03
目標(biāo)方法論
? ?
?
?
其實我要跟大家分享的主要是目標(biāo)方法論,然后這個目標(biāo)方法論主要包含幾個關(guān)鍵元素就是目標(biāo)原則方法和結(jié)果,這個其實來自于我們易寶支付的文化,稍微有一點點變化,沒有原封的拿過來,為什么說這個方法論非常重要呢?
?
因為我這兩年在面試還有在評審的時候,我發(fā)現(xiàn)一些小伙伴在做一些事情,他們不知道做這個事情是解決什么問題的?還有一些小伙伴他知道是解決什么問題,但是這個問題其實根本就不需要解決,所以就是說做任何事情之前,一定要樹立一個正確的目標(biāo),然后如果這個目標(biāo)是抽象的,一定要把它分解成可衡量的一些目標(biāo),然后只有目標(biāo)正確了,我們后邊做的事情才是有意義的。
?
接下來就是第二個原則,原則是什么呢?是我為了實現(xiàn)這個目標(biāo)不能做的事情,這個是底線,這個大家肯定都是理解的,就是生活中也有很多原則。
?
接下來就是方法,就是我們要實現(xiàn)一個目標(biāo),其實有各種各樣的方法,方法都不一樣,那么這些方法我們要去權(quán)衡,我們要權(quán)衡他們的利弊,還有權(quán)衡他們的成本,還有權(quán)衡他們達成的效果。
?
?
?
?
我們一定要找到一個最合適的方法,或者最適合的方法,而不是找到一個最高大上的方法,我也見過很多技術(shù)方案,其實是拿很多高大上的技術(shù),最終解決了一個很挫的問題,其實這種事情性價比比較低了,所以選擇方法一定要選擇最適合的方法,就是做架構(gòu)也是要做最適合的架構(gòu),要回歸架構(gòu)的簡潔之美,不要所有的事情都拿一些高大上的技術(shù)招式來應(yīng)付這個結(jié)構(gòu)。
?
最后一個就是產(chǎn)出和結(jié)果,任何一個事情最后都會看它的產(chǎn)出和結(jié)果,這個產(chǎn)出和結(jié)果和第一個目標(biāo)是相對應(yīng)的,你這個產(chǎn)出結(jié)果如果跟目標(biāo)不是對應(yīng)的,那這個事情就是其實是白做了,或者是偏離了,也可能有一些副作用,作用有好有壞,但是沒有滿足我們的初衷。
?
?
04
做人四原則
? ?
?
?
這個是我分享的最后一部分,就是如何修煉做事的內(nèi)功,這一塊可能跟我們技術(shù)內(nèi)功不太一致,但是是我和身邊的一些小伙伴們總結(jié)下來的一些生活和做事的經(jīng)驗,分享給大家,希望是能夠起到一定的效果。
?
?
?
?
在這里我把它叫成一個做人的四原則,其實這四原則大家千萬不要看這個內(nèi)容比較少,大家一定要詳細的去理解,可能等你時間久了,慢慢就理解到了。我們一個一個看,為什么我說它非常重要?
?
第一個就是靠譜,有腦子,衡量一個人,或者別人對你的印象,其實跑不出這兩個因素,就是靠譜有腦子,什么是靠譜呢?靠譜就是別人一想起你覺得有一種信賴感,他覺得這個人行,那什么是有腦子呢?就是比較靈活,不做作,做事情總是有門路,那這個就叫有腦子。
?
第二項就是膽大心細,樂觀,這個也是剛才李智維講的,我們做事情一定要膽大,敢于去嘗試,然后我們一定要樂觀,為什么樂觀呢?其實福禍?zhǔn)窍嗤ǖ?#xff0c;有??赡芫陀械?#xff0c;有禍就有福,有句古語,我語文學(xué)的不好,忘記怎么說了,福兮禍所伏禍兮福所倚,就是無論發(fā)生什么事情,大家一定要樂觀,可能一件壞事,等你過了一個月看仍然可能是一件壞事,但是你可能過了兩個月或者兩年或者十年一看,這個事有可能是好事,所以一定要樂觀。
?
第三個好像正能量比較少,第三個就是要么忍,要么狠,要么滾。這句話什么時候適用呢?就是在座的小伙伴如果真的碰上一些坎坷了,尤其是在工作上碰到一些坎坷,不用糾結(jié),也不用懊惱,也不用沮喪,這三條路中挑一個就可以了,往前走,因為糾結(jié)也沒用。
?
最后一個就是要善于交流,大家聽起來好像是,感覺是侃侃而談的人就是善于交流,比較圓滑的人善于交流,但是實際上其實這個不是善于交流,什么是善于交流呢?第一你要善于思考,你要善于站在別人的角度來看待你自己,你也要善于站在別人的角度看他自己,這個才叫善于交流,這樣你跟別人才能有交流,就拿現(xiàn)在一個心理學(xué)的非常流行的話,叫同理心,說白了就是你要能站在別人的角度來看事,但是我剛才說的那個,其實比這個要求更高,就是你站在別人的角度,不但能看他自己,你還要能看你自己,所以這個才叫善于交流。
?
?
?
成家立業(yè)還是立業(yè)成家?
?
?
?
?
這個其實跟技術(shù)沒有關(guān)系,但是我真的十分十分想跟大家分享一下,就是我相信在座的小伙伴有些人沒有成家,到底是先成家再立業(yè)呢?還是先立業(yè)再成家?這個事可能也說了幾千年,但是古語是說先成家再立業(yè),所以在這里我也推薦大家一定要早結(jié)婚,早生小孩,為什么呢?因為這樣你就會早買房子,早買房子呢,因為房子長的太快,這個大家都懂得。
?
?
?
?
最后其實我的分享就結(jié)束了,然后非常感謝大家今天來參加,感謝李智維的這次組織,我覺得組織的特別棒,特別成功,然后現(xiàn)在這里邊有兩個二維碼,一個二維碼是我的公眾號,一個二維碼是我的博客,我們有興趣可以關(guān)注。同時大家有什么問題大家可以向我提問,第一個提問題的人我會贈一本書,之后提問的人,我會回答你們。
?
?
?
Q&A環(huán)節(jié)
?
Q你好老師,我是 iOS 的一個小菜鳥,就是說我剛進入公司是一個初創(chuàng)公司,一直是一個人,就是說完全沒有師父帶,從 get set 請求都不會,到完成一個項目這樣子,但是我發(fā)現(xiàn)其中走了很多彎路,包括就是很多的 bug 解決也好,如果在這種情況下,沒有很多時間如何提升自己?還有如何小菜鳥獨立開發(fā)能力,這個您認為怎么提高比較好?
?
A好的,我先說,其實你最后一個問題,你一開始的敘述上已經(jīng)解答了,因為你說你在公司其實沒人去培訓(xùn)你或者培養(yǎng)你,但是你自己通過學(xué)習(xí)已經(jīng)解決了這些事情,所以我相信你的自學(xué)能力肯定是很強的。
?
第二個事就是在時間上,人的時間,我干了這些活,然后我很難再有時間去給自己充電,去學(xué)習(xí)其他的內(nèi)容,但是首先就是你干這些活,首先就是提高能力,再提高能力,而且在實踐的過程中,其實提高的能力是最多的,你單純的去學(xué)習(xí)很多東西,比如說我報一個大數(shù)據(jù)的班去學(xué)習(xí)它,可能未必有你真正的去找一個這樣的地,沒人帶你,你每天去鉆研,去學(xué)習(xí),再去實踐做的快,學(xué)習(xí)的快,所以個人來講,這個事我覺得是沒有問題的。
?
另外一個時間上,其實只要你去抽時間,其實總是能抽出一些時間去學(xué)習(xí)的,比如說我也是工作特別忙,有的時候加班到九點十點,但不會說通宵加班,然后我會上下班的時候,我坐地鐵的時候一般都會拎本書,反正在坐地鐵的時候沒什么事嘛,要不我也在那站著,還不如我拿本書我看一看,上下班大家也知道北京生活是很苦逼的,上下班有一兩個小時的時間也很正常,這段學(xué)習(xí)時間其實也是挺多的。
?
再有一個就是我覺得你這種情況,可以有個一年兩年,但不適合十年八年這樣,就是等你到一定程度了,你向再往高發(fā)展的時候,你一定找到一個,比如說他要經(jīng)驗比你更豐富的,能夠帶你的人,其實人生就是進圈子,加圈子,跟大師學(xué)習(xí),就是這樣嘛,每個人都跟上面的大師學(xué)習(xí),所以說長時間來講建議你還是走這個路,但是短時間我覺得這是沒問題的,也是一個提高的過程,也是必須的過程。
?
?
?
?
?
?
Q老師您好,我是做客戶端的,大概做了兩三年,如果想技術(shù)上有更好的提升,是不是應(yīng)該有服務(wù)端的開發(fā)經(jīng)驗會比較好呢?
?
A其實是這樣的,這個問題我是覺得樹業(yè)有專攻,我個人是更偏向于后端,因為我工作好多年了嘛,已經(jīng)有十多年了,在工作的前些年,其實我是什么都做,那時候都叫全站工程師,從前端的 js,HTML,css,再到后端的服務(wù),再到腳本上線等等,所有都是自己寫,那時候叫全站工程師,現(xiàn)在其實互聯(lián)網(wǎng)里邊更傾向于把這些組分成前端后端或者 DBA 組,當(dāng)然在微服務(wù)化下,其實不倡導(dǎo)這些分,微服務(wù)化倡導(dǎo)一個自治的團隊,但是微服務(wù)化的實施在國內(nèi)可以說沒有特別真的跟微服務(wù)化這個理想說的,就是實施的靠近的,其實大家都是在說這個概念。
?
所以整體來說,我就說現(xiàn)在的市場上,基本上還是前端做前端,后端做后端,然后 DBA 做 DBA,就是體現(xiàn)你的專業(yè)性,所我是覺得做客戶端我們就專心做客戶端,因為客戶端也是很深奧的,比如說客戶端的一些緩存技術(shù),客戶端的一些性能提高,穩(wěn)定性,兼容性等等,這些其實都是樹業(yè)有專攻的事,其實你讓后端的人去搞,他也未必能搞懂,所以我的建議是要學(xué)這個就把它學(xué)的很深入。
?
?
Q你好,我是做客戶端的,然后我想問一個問題,作為一些朋友,會認為客戶端后端他們可能前途更好一點,有一些后端他又會去轉(zhuǎn)客戶端,他覺得客戶端前途更好一點,你覺得呢?
?
A我覺得這個整體來說,就是一個圍城的概念,大家都覺得對方是好的,但實際上他們都是對的,為什么是對的呢?他都看到了對方最優(yōu)秀的人,他不是看到整體情況,整體情況其實前端后端是一樣的,我舉個例子,我原來在甲骨文的時候,我有些同事,他別的什么都不做,別的一切活都拒絕,他只做前端 js,HTML,那么沒有多久他就自己創(chuàng)業(yè)了,就是他達到了一個什么樣的水平?
?
在瀏覽器下,那時候移動互聯(lián)網(wǎng)還沒有興起,主要是 PC 端客戶端的界面,無論你要什么效果他都能快速現(xiàn)場就給你實現(xiàn),非常非常的快,所以這些專家級,前端也有專家級,后端也有專家級,前端也有小白,后端也有小白,所以我的意思并不一定后端就一定更有前途,當(dāng)然這個前,哪個前都一樣。
?
所以我還是剛才跟另外一位提問者觀點是一樣的,就是盡量還是樹業(yè)有專攻,你一定要在這個領(lǐng)域達到一個非常專業(yè)水平,你再去看其他領(lǐng)域,因為你這個領(lǐng)域,比如說我前端還沒做好,我就去做后端,你就一定能成為大師嗎?那不一定,但是你說我前端成為了大師,你去后端去做,那你更有可能是成為大師了。
?
所以我是覺得在一個行業(yè)內(nèi),一定要成為專家級的,再去看其他的行業(yè),但并不是說這一輩子都在這一個行業(yè)下做這一個事,就像我剛才技術(shù)里面廣度,深度和高度,就是說深度一定要有那么一個兩個,廣度當(dāng)然也要有,你要都了解,都會一些,最主要的是高度,高度主要是方向性,你做這一些東西到底能產(chǎn)生什么生產(chǎn)力?能夠產(chǎn)生什么價值?給公司或者自己創(chuàng)業(yè)帶來什么樣的價值?
?
轉(zhuǎn)載于:https://www.cnblogs.com/LiLihongqiang/p/7447978.html
總結(jié)
以上是生活随笔為你收集整理的李艳鹏:技术人如何修炼内功的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一起学时序分析之延迟与时钟偏斜和抖动
- 下一篇: EasyPR--开发详解(5)颜色定位与