資深DBA萬(wàn)字箴言:如何消除油膩的技術(shù)焦慮?
作為一個(gè) IT 人,我們勢(shì)必都會(huì)有技術(shù)焦慮,如何脫離油膩的技術(shù)生活,讓自己有一個(gè)清晰的規(guī)劃,今天就和大家簡(jiǎn)單聊聊我的想法。
有一天走在路上,腦袋里突然冒出一個(gè)詞:三十而立,可我的詩(shī)依舊還在遠(yuǎn)方。
三十歲左右,是一個(gè)讓人焦慮的年紀(jì),而抬頭看看,全世界都在焦慮,所以本文我將先對(duì)焦慮做減法,再來(lái)看看技術(shù)焦慮的解法。
技術(shù)焦慮的由來(lái)
對(duì)于焦慮,美國(guó)著名心理學(xué)家羅洛?梅在他的代表作《焦慮的意義》這樣形容:
如果你在馬路上,看到一輛疾駛的汽車迎面而來(lái)時(shí),我們會(huì)感到恐懼,心跳加速,快速橫穿馬路到達(dá)安全地帶。
而當(dāng)我們處于朝不同方向疾駛的汽車流,被困在馬路中央時(shí),我們心跳加劇卻又無(wú)所適從,心里產(chǎn)生一種深深的空洞感,這就是焦慮。
簡(jiǎn)單來(lái)說(shuō),感覺(jué)到威脅、找不到突破口,內(nèi)心空洞,這就是焦慮。技術(shù)生活何嘗不是如此?
我簡(jiǎn)單問(wèn)了幾個(gè)朋友,他們對(duì)于技術(shù)焦慮的看法如下,我簡(jiǎn)單做了標(biāo)注:
- 怕自己學(xué)到的不是有用的,或者說(shuō)會(huì)很快被淘汰的技術(shù),又或者是不值得花費(fèi)大量時(shí)間學(xué)習(xí)的技術(shù)。—找不到突破口
- 年齡大了,職業(yè)發(fā)展是個(gè)焦慮點(diǎn)。—感覺(jué)到威脅,內(nèi)心空洞
- 剛畢業(yè)時(shí)想學(xué)各種各樣的新技術(shù)并進(jìn)行實(shí)踐,有段時(shí)間突然靜下來(lái)發(fā)現(xiàn)幾乎一無(wú)所成,只是知道一些名詞和方案,如何落地推進(jìn)都沒(méi)真正實(shí)踐。—找不到突破口,內(nèi)心空洞
- 33 歲的人了,還是丟不下技術(shù)。—感受到威脅,內(nèi)心空洞
- 一直有個(gè)擔(dān)憂,看到大家分享了很多技術(shù)方案,但這眾多的技術(shù)方案也容易讓一些同學(xué)迷失自我,不知道該從哪入手,如何選擇。—找不到突破口
- 目前沒(méi)有一個(gè)清晰的技術(shù)規(guī)劃,很容易在繁華技術(shù)方案中迷失自我。都知道適合自己的是最好的,適合自己未來(lái) 2~3 年規(guī)劃的是最佳,但實(shí)際上還是東一榔頭西一棒槌。—內(nèi)心空洞
如果一定要給這三點(diǎn)一個(gè)更通俗的解釋,可以歸納為焦慮的三個(gè)階段:認(rèn)知、認(rèn)慫、認(rèn)命。
有時(shí)發(fā)現(xiàn),我們很多人更愿意去說(shuō)去想,而不是去做。那怎么解?下面從問(wèn)題入手,來(lái)看看對(duì)策。
“感覺(jué)到威脅”的解法
要有一個(gè)清晰的規(guī)劃
凡事預(yù)則立,不預(yù)則廢,制定計(jì)劃是給自己的一個(gè)心理暗示,給自己一個(gè)階段性目標(biāo),然后把它做分解,拆分成為自己能夠?qū)崿F(xiàn)的一些任務(wù)。
規(guī)劃做多久?短則一周,多則兩年。我們都是心智成熟的人了,就不用再灌什么雞湯了。
去新公司面試時(shí),一般也會(huì)問(wèn)一下你的職業(yè)規(guī)劃,但我覺(jué)得很多人都沒(méi)想明白,我們做了計(jì)劃都很難保證達(dá)成目標(biāo),但如果沒(méi)有計(jì)劃,結(jié)果更可想而知。
就好比數(shù)據(jù)庫(kù)中執(zhí)行 SQL 都需要有執(zhí)行計(jì)劃,執(zhí)行計(jì)劃也有很多的性能差別,比如下面的 3 個(gè)表關(guān)聯(lián),就有這么多的執(zhí)行路徑可供選擇。
計(jì)劃制定了,還要有一個(gè)規(guī)劃和章法,哪些是優(yōu)先的,哪些可以排后。
如果你畢業(yè)有五年了,會(huì)明顯發(fā)現(xiàn)有規(guī)劃和無(wú)規(guī)劃的身邊同學(xué)差別還是蠻大的。
所以有些同學(xué)一邊刷著段子和電影,一邊感慨世事不公、懷才不遇,你缺的是一個(gè)規(guī)劃并付諸實(shí)施。
我和技術(shù)焦慮的故事
在《我也可以是流浪詩(shī)人》中有幾段話,很有意思,摘錄一些分享給大家:
- 做你沒(méi)做過(guò)的事情,叫做成長(zhǎng)
- 做你不愿意做的事情,叫做改變
- 做你不敢做的事情,叫做突破
我覺(jué)得很受用,自己似曾想過(guò)但沒(méi)想通的問(wèn)題,好像有了一些答案。
聯(lián)系一下我自身,我希望找到一個(gè)能夠施展拳腳的舞臺(tái),有考慮大廠,畢竟有光環(huán)效應(yīng)。
不需要從 0 開始,如果以 10 分來(lái)估算,直接可以從 7、8 分到達(dá) 9 分,而如果是一個(gè)新的公司,那么很有可能就是從 3 分甚至從 0 分開始。
我已經(jīng)厭倦了大廠光環(huán)效應(yīng),也厭倦了只說(shuō)不做的浮躁,如果有時(shí)做事總是隔靴搔癢,我就會(huì)有一種感覺(jué),所謂的技術(shù)焦慮和公司的關(guān)系不大,而是自己在職業(yè)發(fā)展的道路上存在困惑和問(wèn)題。
我在給 DBAplus 社群的 MVP 獲獎(jiǎng)感言這樣寫道:“所謂迷茫就是懶,多做點(diǎn)實(shí)事就有目標(biāo)和方向”,那么問(wèn)題來(lái)了,該做哪些事情,該怎么做,一系列的 3W 問(wèn)題,先畫個(gè)圖說(shuō)明一下:
我之前從事的工作中 Oracle 方面較多,但因?yàn)楣ぷ鬟€是有不少的機(jī)會(huì)來(lái)鞏固 MySQL 方向,所以從技術(shù)棧上來(lái)說(shuō),數(shù)據(jù)庫(kù)方向也算是站穩(wěn)腳跟了,這可以說(shuō)是成長(zhǎng)。
但從一個(gè)整體的角度來(lái)說(shuō),我只是做了其中的一小部分,下面是兩個(gè)大圓圈,分別代表數(shù)據(jù)庫(kù)技術(shù)和開發(fā)技術(shù)。
數(shù)據(jù)庫(kù)技術(shù)中目前的工作中能夠直接拿過(guò)來(lái)復(fù)用的就是一些規(guī)范和架構(gòu)設(shè)計(jì)的東西,而且這里面還有很多對(duì)我來(lái)說(shuō)是新的思考方向和挑戰(zhàn)。
MySQL 純技術(shù)棧的內(nèi)容其實(shí)算是常規(guī),如果目前的工作業(yè)務(wù)量還遠(yuǎn)未達(dá)到瓶頸點(diǎn),性能優(yōu)化的部分少一些,那么我們首要鞏固的就是開發(fā)自動(dòng)化平臺(tái)。
新問(wèn)題來(lái)了,數(shù)據(jù)庫(kù)開發(fā)方向目前很清晰的一個(gè)點(diǎn)就是自動(dòng)化運(yùn)維,確切的說(shuō),是 DB 自動(dòng)化運(yùn)維平臺(tái),說(shuō)是重構(gòu)也好、重建也好,不是完全從零開始,但基本是從零開始的節(jié)奏。
要做這個(gè)事情,得有人來(lái)帶路,大家都不知道怎么走,站在原地討論 plan A、plan B,問(wèn)題肯定是解決不了的。
得有人邁出來(lái),大家都不會(huì),你就得沖在前面,大家沒(méi)考慮的問(wèn)題,你考慮到了;考慮的問(wèn)題,你已經(jīng)心中有數(shù)了,這事情就可以干了,這就是改變。
我做事喜歡結(jié)果導(dǎo)向,喜歡快速迭代,能 10 分鐘搞定,絕對(duì)不愿意花 15 分鐘。
但是技術(shù)行當(dāng),還得耐得住寂寞,因?yàn)楹芏嗍虑?10 分鐘搞不定,可能 100 分鐘,1000 分鐘也搞不定。
但這不代表我們真搞不定,需要花一些時(shí)間,花一些額外的代價(jià)來(lái)補(bǔ)課。水到渠成的時(shí)候,自己也得到了成長(zhǎng),這就是突破。
把握核心競(jìng)爭(zhēng)力
對(duì)很多同學(xué)來(lái)說(shuō),做技術(shù)的核心競(jìng)爭(zhēng)力,除了豐富的業(yè)務(wù)經(jīng)驗(yàn)(這個(gè)需要時(shí)間的積累),技術(shù)層面的積累也是需要一個(gè)體系的。
比如一個(gè)工作 10 多年的老司機(jī)和剛工作的新手,處理一個(gè)簡(jiǎn)單問(wèn)題的時(shí)候,大家的表現(xiàn)都差不多。
很可能新手精力更充沛,做得更快,但一旦有了一些緊急的情況時(shí),新手就會(huì)手足無(wú)措,這就是經(jīng)驗(yàn)的價(jià)值。
經(jīng)驗(yàn)的價(jià)值在現(xiàn)在的大環(huán)境下空間也在不斷壓榨,以前的獨(dú)門秘籍和攻略隨著知識(shí)積累和痛點(diǎn)的積累,都會(huì)逐步解決。
所以要去做更有難度和價(jià)值的事情,這些都是經(jīng)驗(yàn)的積累和鋪墊,時(shí)間是個(gè)好東西,它會(huì)不斷證明你有多幼稚。
我眼中的工程師模型是這樣的,簡(jiǎn)單三個(gè)特征:鷹眼(眼光犀利),獅心(內(nèi)心強(qiáng)大),繡花手(做事認(rèn)真細(xì)致)。
還有一個(gè)方向就是技術(shù)積累,在學(xué)習(xí)計(jì)算機(jī)的時(shí)候,我們知道:程序=算法+數(shù)據(jù)結(jié)構(gòu),但這一點(diǎn)在如今的時(shí)代,大家好像都忽略了。
我舉一個(gè)例子,編譯原理想必大家在大學(xué)都學(xué)過(guò),但包括我還有很多同學(xué),應(yīng)該都在大學(xué)完美地繞過(guò)了這個(gè)學(xué)習(xí)的痛點(diǎn),有很多人在想,學(xué)習(xí)編譯原理有什么用,這里答案我都給你找好了。
來(lái)自知乎的一個(gè)不錯(cuò)的解答,關(guān)于編譯原理我一直最喜歡類比的就是人體解剖 。
在歐洲教會(huì)還不允許做尸體解剖時(shí)就有兩類人在一起偷偷摸摸搞人體解剖:
- 一類是醫(yī)生,從外科手術(shù)的角度來(lái)說(shuō)應(yīng)該比較容易理解,不解剖根本不可能知道如何做外科手術(shù)。
- 還有一類則是畫家,他們只是為了可以更好地在描繪皮膚時(shí)體現(xiàn)肌肉的質(zhì)感,就愿意冒著被教會(huì)處罰的危險(xiǎn)來(lái)參與人體解剖。
而且即使是現(xiàn)在,所有的現(xiàn)代繪畫的教育雖然不會(huì)再像醫(yī)生那樣實(shí)際操作解剖,但肌肉層的解剖圖仍然是必修課。
在我看來(lái),完全不懂編譯原理的程序員,就好像是完全沒(méi)有學(xué)過(guò)人體解剖圖的畫家一樣。
當(dāng)然不會(huì)說(shuō)一定就無(wú)法成功,不過(guò)如果有更好的基礎(chǔ)可以提高成功的幾率,在知道底層的情況下,對(duì)上層的描繪會(huì)更加寫實(shí),更加生動(dòng)。
拋開比喻,從現(xiàn)實(shí)的方面來(lái)說(shuō),編譯原理學(xué)過(guò)之后的益處(不考慮最后都沒(méi)有入門的情況)包括:
- 可以更加容易地理解在一個(gè)語(yǔ)言中哪些寫法是等價(jià)的,哪些是有差異的。
- 可以更加客觀地比較不同語(yǔ)言的差異。
- 更不容易被某個(gè)特定語(yǔ)言的宣揚(yáng)者忽悠。
- 學(xué)習(xí)新的語(yǔ)言時(shí),效率也會(huì)更高。
- 從語(yǔ)言 a 轉(zhuǎn)換到語(yǔ)言 b 是一個(gè)通用的需求,學(xué)好編譯原理處理此類需求時(shí)會(huì)更加游刃有余。
另外還有一點(diǎn),就是一直有人說(shuō)不用重復(fù)造輪子,所以不需要學(xué)習(xí)編譯原理這樣的課程。
我想說(shuō)的是,學(xué)編譯原理不是讓你去造輪子(大多數(shù)人的實(shí)力,學(xué)了也造不出輪子),而是要讓你知道現(xiàn)在一共有多少種輪子可以選擇,它們的特性如何。
好比 F1 比賽,其實(shí)現(xiàn)在所有的車隊(duì)可選的輪胎都是一樣的,但不同車隊(duì)根據(jù)自己車的情況和戰(zhàn)術(shù)等,做出的選擇會(huì)截然不同。如果你對(duì)輪胎的理解只是它可以轉(zhuǎn),那么你根本無(wú)法把它的能力發(fā)揮到極限。
大學(xué)里面幾門非常核心的課程,比如操作系統(tǒng)原理、數(shù)據(jù)結(jié)構(gòu)、計(jì)算機(jī)組成原理、算法,這些在你工作的一些年頭可能不會(huì)排上用場(chǎng)。
但等到了一定的階段之后,這些就是你思維的沉淀,計(jì)算機(jī)技術(shù)就是在前仆后繼的貢獻(xiàn)中不斷積累起來(lái)的,沉淀下來(lái)的很多理論和問(wèn)題處理方法,光想肯定是想不出來(lái)的,我們得抓住幾個(gè)點(diǎn)或者面深入下去。
有些同學(xué)說(shuō)現(xiàn)在的大數(shù)據(jù)學(xué)起來(lái)好難,深度學(xué)習(xí)也很難,因?yàn)槔碚搶哟紊仙艘粋€(gè)臺(tái)階,會(huì)明顯感覺(jué)到壓力。
技術(shù)短板理論
很多年前大家都會(huì)提到一個(gè)短板理論,把技術(shù)做得很純粹的同學(xué)會(huì)有一個(gè)很明顯的天花板。
很多做技術(shù)的同學(xué)會(huì)在一定的年齡之后糾結(jié)是做技術(shù)還是做管理,會(huì)有一個(gè)技術(shù)線和管理線。
如果可以,我還是建議以技術(shù)為主線做一些管理工作,不要偏離一線,讓能聽見(jiàn)炮聲的人來(lái)指揮這句話還是有道理的,技術(shù)圈的人比較執(zhí)擰,基本都是以技術(shù)服人,純靠管理很難推進(jìn)。
三十年河?xùn)|,三十年河西,技術(shù)不斷的發(fā)展,解決了很多痛點(diǎn),這些年來(lái)短板理論也受到了挑戰(zhàn),在這種需求之下,不溫不火的算法工程師這些年來(lái)真是大紅大紫,不乏一些百萬(wàn)年薪的高級(jí)職位。
但如果細(xì)細(xì)看下面的圖,你會(huì)發(fā)現(xiàn)只是某一方面夠強(qiáng),需要付出更多。換句話說(shuō),要突破短板瓶頸,你得在某一方面已經(jīng)非常強(qiáng)大,要不就很容易被雞湯。
換工作這件事情
三十歲后,人生逆襲的天花板開始收窄;其他賽道也會(huì)收緊閉合,很多時(shí)候我們只看得到自己眼前的那條。
技術(shù)圈內(nèi)也有不少朋友,現(xiàn)在大都成了行業(yè)內(nèi)的中流砥柱,會(huì)時(shí)不時(shí)有招人需求,我也會(huì)幫忙推薦一些朋友。
每每想起招聘需求,很多時(shí)候的 JD 都是他們得自己根據(jù)一些需要來(lái)臨時(shí)補(bǔ)充。說(shuō)簡(jiǎn)單一些,那就是技術(shù)過(guò)硬,人要靠譜。
技術(shù)過(guò)硬這一點(diǎn)無(wú)可置疑,但我也有一些不同的意見(jiàn)。從我的感受來(lái)看,現(xiàn)在的公司面試已有了非常大的變化,早期的面試可能還有筆試、若干流程,還有些公司有一些辯論會(huì)之類的,說(shuō)白了是一些輔助——加分。
現(xiàn)在的很多公司對(duì)待新人也不會(huì)有一個(gè)相對(duì)平滑的培訓(xùn)周期、逐步的角色替換過(guò)程,有些加急的場(chǎng)景中,可能今天入職,這周或者下一周就直接上手。
所以招人都是要直接上來(lái)就能用的,都不愿意去培訓(xùn)新人。換做另外一個(gè)極端,那就是很多新人還經(jīng)不起培養(yǎng)就離職了,對(duì)公司來(lái)說(shuō)更加得不償失,所以這是一個(gè)偽命題,重重矛盾但又相對(duì)合理。
在這一點(diǎn)上,除了薪資,求職者更需要明白公司的文化(比如加班文化)是否適合你。
Business is business,人靠不靠譜還是很難面試出來(lái)的,我們只能根據(jù)聊天來(lái)判斷他的性格,通過(guò)一些細(xì)節(jié)來(lái)看他是否誠(chéng)實(shí),通過(guò)幾分鐘幾十分鐘確實(shí)是很難的,這些都是偏主觀的判斷了。
市場(chǎng)行情都會(huì)變化,看到別人很滋潤(rùn),不心動(dòng)是假的,所以焦慮也會(huì)時(shí)不時(shí)冒出來(lái),讓人上火。
不管外面是金三銀四,對(duì)于自己,你得清楚自己的一個(gè)基本規(guī)劃,向錢看 or 向前看,都要看。
但是不要輕易迷失,千萬(wàn)不要因?yàn)樘颖芏x職,那么問(wèn)題可能就是一種復(fù)制和延續(xù)而不是解決,哪個(gè)公司都有大大小小的問(wèn)題,我們工作的本質(zhì)就是要不斷解決問(wèn)題。
份內(nèi)份外的事情
什么是份內(nèi)的事情?就是你的本職工作。什么是份外的事情?一種是把本職工作做得更好,或者是協(xié)調(diào)團(tuán)隊(duì)產(chǎn)生更大的價(jià)值。
份外的事情最大的特點(diǎn)就是你做了沒(méi)人喝彩,不做也沒(méi)人指責(zé)你,所以事情說(shuō)小了是份內(nèi)的,說(shuō)大了是份外的。
以至于我們?cè)诠ぷ骼锩孀鍪虑闀?huì)分得很清楚,有了流程控制,至少出問(wèn)題不會(huì)甩鍋甩到我這里,要不就怪流程不完善。
但對(duì)于個(gè)人來(lái)說(shuō),份外的事情變成份內(nèi),是一種成長(zhǎng),比如你只會(huì)數(shù)據(jù)庫(kù),去嘗試了解一些系統(tǒng)層面、存儲(chǔ)層面、內(nèi)核層面的東西,也不是壞事。
在這個(gè)基礎(chǔ)上去深入理解業(yè)務(wù),能夠讓自己的眼界更加寬廣,考慮問(wèn)題的角度更加全面,而不是一些孤立的點(diǎn),還是需要用一個(gè)整體的眼光來(lái)看待分析和解決。
所以我們有時(shí)候叫全棧,有時(shí)候叫做轉(zhuǎn)型。當(dāng)然從技術(shù)角度來(lái)說(shuō),技術(shù)問(wèn)題都不是問(wèn)題,但是實(shí)際解決的時(shí)候,會(huì)有一些出入,很多問(wèn)題到最后發(fā)現(xiàn)已經(jīng)完全偏離了原來(lái)的方向,就是我們看待問(wèn)題的角度不對(duì)。
業(yè)內(nèi)份外的事情變?yōu)榉輧?nèi),Devops 就算一個(gè)比較典型的,原本風(fēng)光無(wú)限的 DBA 需要掌握一些其他技能:系統(tǒng)運(yùn)維、系統(tǒng)開發(fā)等,敏捷運(yùn)維在這個(gè)時(shí)候提出來(lái)不是憑空想出來(lái)的。
很多重復(fù)性的工作需要得到簡(jiǎn)化,很多復(fù)雜的工作若替代不了的,可能要么直接被廢棄,要不推翻重來(lái)。
這個(gè)過(guò)程有點(diǎn)類似于行業(yè)洗牌,能夠堅(jiān)持在最后的,始終是那些擁抱變化的人。
份內(nèi)、份外的事情都是解決問(wèn)題,解決了問(wèn)題大家相安無(wú)事,其樂(lè)融融;解決不好,也是能夠把傷害和影響降到最低的一把標(biāo)尺。
哪些事情我是本著人情來(lái)做的,哪些事情不能因公徇私,可能就是這么個(gè)理吧。
如果你覺(jué)得目前很舒服,不妨做些你不愿意做的事情,做些改變,做些你不敢做的事情,來(lái)突破一下你自己。因?yàn)闄C(jī)會(huì)不會(huì)等著你,也不會(huì)問(wèn)你準(zhǔn)備好了沒(méi)。
能堅(jiān)持下來(lái)的都是少數(shù)
有很多人向我取經(jīng),說(shuō)職業(yè)生涯如何規(guī)劃,技術(shù)方向如何選擇,堅(jiān)持了一段時(shí)間之后我們就失去了聯(lián)系。
因?yàn)槲抑溃鲆患虑?,能?jiān)持下來(lái)的都是少數(shù)。你去面試,說(shuō)我很專注,但這一點(diǎn)很難證明,如果捫心自問(wèn),這些年來(lái)自己堅(jiān)持了哪些事情,好與不好,每個(gè)人心里都會(huì)有一桿秤來(lái)衡量。
上面這個(gè)圖怎么理解呢?它是知乎一個(gè)有名的游戲,即 100 個(gè)人每個(gè)人手里有 1 塊錢,大家隨機(jī)交換,看最后每個(gè)人手里剩下多少錢。
經(jīng)過(guò)真實(shí)的模擬,發(fā)現(xiàn)了一套理論:如果通過(guò) SQL 來(lái)模擬,也是分分鐘搞定的,可以看到,絕大多數(shù)人都是原地踏步,只有極少數(shù)的人能夠走出這個(gè)圈子來(lái)。
左邊的圖是 1000 人的樣本,100 次測(cè)試之后,手里剩下 0 塊,1 塊的占絕大多數(shù),基本是 70% 的比例,而能夠突破的人(有 2 塊,3 塊)是少數(shù)(15%),卓越的人更少(5%)。
右邊的圖是允許你來(lái)透支,樣本是 100 人,得到結(jié)果和左邊是相似的。不知大家看到這個(gè)圖,內(nèi)心是怎樣的感受,我個(gè)人覺(jué)得這些數(shù)字給我上了生動(dòng)的一課。
工作生活都是如此,我們身邊有很多錦上添花的人,但雪中送炭的很少,做一件事情,要達(dá)到專注,不能鉆牛角尖,按照既定的目標(biāo)來(lái)實(shí)現(xiàn),方為上策。
“找不到突破口”的解法
理清技術(shù)方向和脈絡(luò)
技術(shù)圈的更新是極其快的,基本上不到半年就會(huì)有一些工具和方案出來(lái)。
如果讓一個(gè)開發(fā)工程師寫一下自己接觸過(guò)的技術(shù),估計(jì)能寫滿一頁(yè) A4 紙。有了動(dòng)力和方向,面對(duì)紛繁復(fù)雜的技術(shù)和方案,該怎么選擇?
在混亂之中,我們要理清下面的幾個(gè)問(wèn)題:
- 你了解自己的行業(yè)嗎,比如數(shù)據(jù)庫(kù)行業(yè),技術(shù)的發(fā)展趨勢(shì)怎么樣?
- 你關(guān)注的技術(shù)領(lǐng)域里,有哪些好的解決方案可供參考,比如數(shù)據(jù)庫(kù)的高可用方案。
- 這些領(lǐng)域中,有哪些行業(yè)先鋒,他們有沒(méi)有分享,博客或者文章可供參考。
- 那些方案你用了嗎,自己做過(guò)測(cè)試或者生產(chǎn)實(shí)踐嗎?
- 新技術(shù)總是會(huì)滯后于實(shí)際的應(yīng)用,穩(wěn)中求進(jìn),不能一味大躍進(jìn)。
欲事之無(wú)繁,則必勞于始而逸于終。實(shí)際落實(shí)下去時(shí),發(fā)現(xiàn)碰到的問(wèn)題很多,都需要一一克服,稍不注意就會(huì)成為瓶頸點(diǎn)。
而且 Web 開發(fā)類的應(yīng)用有非常多的框架,開源技術(shù)方向的技術(shù)變化很快,要熟悉這種文化,要適用新的技術(shù)思想,這些都是一個(gè)過(guò)程。
那這個(gè)怎么來(lái)解?當(dāng)然我也不會(huì)給自己太多時(shí)間,拿到一個(gè)結(jié)束時(shí)間點(diǎn)來(lái)反推這個(gè)過(guò)程的進(jìn)展,這樣不一定可靠,但方向和動(dòng)力是足的。王陽(yáng)明說(shuō):想,都是問(wèn)題,做,才是答案,道理說(shuō)得已經(jīng)很透了。
我們大體都會(huì)碰到很多技術(shù)問(wèn)題,有些是通用的,有些是具體的。他們之間的關(guān)系和區(qū)別就很重要了,要不然總是很凌亂。
他們大體的關(guān)系如下圖所示:
很快就會(huì)發(fā)現(xiàn),我們能夠很快做出一個(gè)應(yīng)用來(lái),但如果分析一下核心的點(diǎn),似乎很難 get 到。
學(xué)習(xí)效果金字塔
對(duì)于學(xué)習(xí)效果,可以參考下面的學(xué)習(xí)金字塔,這是美國(guó)緬因州的國(guó)家訓(xùn)練實(shí)驗(yàn)室的研究成果。
它用數(shù)字形式形象顯示了,采用不同的學(xué)習(xí)方式,學(xué)習(xí)者在兩周以后還能記住內(nèi)容(平均學(xué)習(xí)保持率)的多少:
- 第一種學(xué)習(xí)方式——“聽講”,這種是我們最熟悉最常用的方式,學(xué)習(xí)效果卻是最低的,兩周以后學(xué)習(xí)的內(nèi)容只能留下 5%。
- 第二種,通過(guò)“閱讀”方式學(xué)到的內(nèi)容,可以保留 10%。
- 第三種,用“聲音、圖片”的方式學(xué)習(xí),可以達(dá)到 20%。
- 第四種,是“示范”,采用這種學(xué)習(xí)方式,可以記住 30%。
- 第五種,“小組討論”,可以記住 50% 的內(nèi)容。
- 第六種,“實(shí)際演練”,可以達(dá)到 75%。
- 最后一種在金字塔基座位置的學(xué)習(xí)方式,是“教別人”或者“馬上使用”,可以記住 90% 的學(xué)習(xí)內(nèi)容。
所以說(shuō)我們的學(xué)習(xí)方式可能平時(shí)用得也不一定很科學(xué)。就我個(gè)人實(shí)踐來(lái)說(shuō),這幾種方法都有其適用的場(chǎng)景,不能一概而論。
如果可以,我比較喜歡主動(dòng)學(xué)習(xí)的方式,尤其是技術(shù)分享的方式,比如你現(xiàn)在正在看我的分享。
技術(shù)的學(xué)習(xí)方法
有句話說(shuō),若起不得法,則雜亂浮泛,所以我們還是要講究一些章法和技巧的。
技術(shù)是有熱度的
我是 DBA、做數(shù)據(jù)庫(kù)技術(shù)多一些,先來(lái)說(shuō)說(shuō)數(shù)據(jù)庫(kù)內(nèi)核技術(shù)。Oracle 內(nèi)核技術(shù) 2000 年左右如火如荼。
隨著時(shí)間的推移還有技術(shù)熱度,這種情況不多見(jiàn)了,一來(lái)是堅(jiān)持技術(shù)研究的人少了,二來(lái)是熱度沒(méi)以前那么高了,或者說(shuō)錢途沒(méi)以前那么好了。
現(xiàn)在的 MySQL 技術(shù)依舊如火如荼,技術(shù)終究會(huì)越來(lái)越成熟,我可以想到幾年后,某些攻略不再是攻略,而是集成在數(shù)據(jù)庫(kù)里很自然的優(yōu)化方法,被詬病的問(wèn)題也逐步被修復(fù),那么我們工作的意義和崗位存在的價(jià)值在哪里?
都說(shuō)有了云計(jì)算,有了虛擬化,但事在人為,別指望能一勞永逸地解決所有的技術(shù)痛點(diǎn),需求總是隨著時(shí)代的發(fā)展在不斷改進(jìn),對(duì)于我們自身而言,就是積累的行業(yè)經(jīng)驗(yàn)和過(guò)硬的技術(shù)能力了。
抓住重點(diǎn)
數(shù)據(jù)庫(kù)技術(shù)那么多,該怎么學(xué)?我們看問(wèn)題的時(shí)候瞻前顧后,想踏踏實(shí)實(shí)研究些技術(shù)總是被打斷,而有了時(shí)間鉆研技術(shù)有時(shí)候發(fā)現(xiàn)又不得要領(lǐng)。
記得 Oracle 大神 Jonathan Lewis 說(shuō)過(guò):Oracle 數(shù)據(jù)庫(kù)中 x$kcbsw 結(jié)構(gòu)包含了 Oracle 處理一個(gè)“會(huì)話邏輯 I/O”所需的所有命名函數(shù)。
在 11.2.0.3 版本,我曾指出有 1164 個(gè)命名函數(shù),但看看運(yùn)行在 64 位 OEL(Oracle 企業(yè)版 Linux 操作系統(tǒng))上的 12.1.0.1 版本,這個(gè)數(shù)字是 1300。
這一變化對(duì)本書內(nèi)容來(lái)說(shuō)有多大區(qū)別?對(duì)普通Oracle專業(yè)人士呢?答案是“沒(méi)有區(qū)別”!
把這個(gè)回答繼續(xù)下鉆,就是一個(gè)核心的點(diǎn):
大部分時(shí)候,只要大體知道引擎是如何工作的就足夠了,偶爾才需要知道一些世界上只有一小部分人才會(huì)知道的精確資料。
注意,不要浪費(fèi)時(shí)間去研究不必要的細(xì)節(jié),而是要找到折中的辦法,使你所掌握的知識(shí)足以預(yù)判 Oracle 在你沒(méi)見(jiàn)過(guò)的場(chǎng)景中會(huì)怎樣做。
這個(gè)態(tài)度和思想普適所有技術(shù)方向的學(xué)習(xí)。所以對(duì)于我們來(lái)說(shuō)一定是往前走,往上走,那個(gè)時(shí)候就不是改變了,而是突破。
使用通俗的方式來(lái)理解技術(shù)
技術(shù)和生活是不分家的,有很多技術(shù)問(wèn)題可以用生活的場(chǎng)景來(lái)描述,而很多技術(shù)牛人的魅力就在于能夠化繁為簡(jiǎn),能夠通俗或者用簡(jiǎn)單的幾句話把一個(gè)復(fù)雜的事情描述出來(lái)。
比如 TCP/IP 的三次握手,很多人都有這樣的想法,這到底是什么含義,為什么要三次,兩次不行嗎,一次行不行。
我們?cè)O(shè)定個(gè)場(chǎng)景,在地鐵站里,手機(jī)信號(hào)不好,快沒(méi)電了,兩個(gè)人走散了,這樣打電話:
- “喂,能聽得到嗎?”
- “我聽得到呀,你聽得到我嗎?”
- “我能聽到。”
如何快速掌握一門技術(shù)
如果想快速學(xué)習(xí)一門技術(shù),一種方式是通過(guò)代碼來(lái)理解它的實(shí)現(xiàn),來(lái)反推它的邏輯,這種方式的難度極大,而且能夠沉浸其中的人非常少,過(guò)程相對(duì)來(lái)說(shuō)是苦悶的。
但如果能夠沉下心來(lái),看代碼看到一種程度之后,有了感覺(jué)相信就會(huì)融會(huì)貫通了。身邊這種大神也有,但確實(shí)不多。
第二種方式算是捷徑,就是去聽聽作者怎么說(shuō),通過(guò)他的分享來(lái)從整體對(duì)一個(gè)項(xiàng)目有一個(gè)基本的認(rèn)識(shí)和了解。
好比你去拜訪一個(gè)朋友,他熱情地把你領(lǐng)進(jìn)門,帶著你走走客廳,走走臥室,給你介紹房子的裝修風(fēng)格、里面的家具和電器。
為什么要這么設(shè)計(jì),很快你就能夠?qū)@一切熟悉起來(lái),這種方式很好,而且最省事,但可遇不可求。
第三種是我比較喜歡的方式,就是通過(guò)對(duì)比的方式來(lái)學(xué)習(xí),比如學(xué)習(xí) MySQL 和 Oracle 的學(xué)習(xí),有了 Oracle 的基礎(chǔ)學(xué)起來(lái)會(huì)容易很多。
但越是深入學(xué)習(xí),發(fā)現(xiàn)兩者的差別越來(lái)越大,不斷通過(guò)對(duì)比來(lái)完善自己的認(rèn)知,從差異化中找到學(xué)習(xí)的重點(diǎn)和方向,也能夠?qū)夹g(shù)的發(fā)展有一個(gè)相對(duì)理性的認(rèn)識(shí)。
如果什么都學(xué),但都是淺嘗輒止,會(huì)浪費(fèi)你很多的精力和時(shí)間,而且對(duì)公司來(lái)說(shuō)也是浪費(fèi)。
提問(wèn)的正確姿勢(shì)
有句話說(shuō)得好,“提問(wèn)”在認(rèn)知上的過(guò)程,就像射向未知空間的一支手電筒,至于是不是好問(wèn)題,可以理解為有沒(méi)有指向問(wèn)題本質(zhì)的角度。
對(duì)于提問(wèn),我大體總結(jié)有下面的一些不恰當(dāng)?shù)淖藙?shì):
- 盲目提問(wèn),沒(méi)有日志和說(shuō)明,無(wú)法判斷。
- 自己不思考,不看錯(cuò)誤信息。
- 自己不分析問(wèn)題,完全想依賴別人。
- 問(wèn)題描述不清楚,或舍棄了重要的細(xì)節(jié)。
所以大家提問(wèn)時(shí),也最好能夠注意到這些,不是不解答,而是有些問(wèn)題壓根沒(méi)法回答,自己先消化一下,或者換個(gè)角度來(lái)反問(wèn)自己。
喜歡答案的人很痛苦,因?yàn)樗氖澜缬^不斷崩塌;喜歡問(wèn)題的人很歡樂(lè),因?yàn)槭种械幕蹌υ絹?lái)越鋒利。總之,被問(wèn)題拍肩膀,總比被現(xiàn)實(shí)抽嘴巴子好。
況且,人往往是這樣的:在解決別人的問(wèn)題時(shí),會(huì)有各種說(shuō)辭,但在解決自己的問(wèn)題時(shí),就只有寫詩(shī)和遠(yuǎn)方了。
“內(nèi)心空洞”的解法
版權(quán)意識(shí)和開源建設(shè)
對(duì)于技術(shù)焦慮中的矛盾和困擾,有時(shí)很難理得清,我用自己畫的一張圖來(lái)解釋。
在這里想聊聊對(duì)于版權(quán)的理解,我以前也喜歡破解版,但在 2016 年寫了一本書《Oracle DBA 工作筆記》后,我開始焦慮起來(lái),也收到過(guò)很多有意思的反饋。
有的同學(xué)上來(lái)就問(wèn)我要電子版;還有的說(shuō)出書能賺很多錢,讓我隨便送他幾本,還有的同學(xué)在網(wǎng)上的大店下單,沒(méi)收到貨質(zhì)問(wèn)我……
當(dāng)然也算吐槽吧,可以看到大家對(duì)于版權(quán)的認(rèn)識(shí)還是不足的,所以我對(duì)版權(quán)的認(rèn)識(shí)真是刻骨銘心,我現(xiàn)在也愿意去花錢去買一些產(chǎn)品的服務(wù)。
《大話數(shù)據(jù)結(jié)構(gòu)》中的編者欒大成說(shuō)過(guò)這樣一句話:
國(guó)內(nèi)原創(chuàng)技術(shù)書整體層次偏低,不是因?yàn)閲?guó)內(nèi)沒(méi)有高手,最關(guān)鍵的原因有兩條:
國(guó)內(nèi)版稅太低,與高手作者的收入差別太大,導(dǎo)致很多人沒(méi)有時(shí)間和心氣來(lái)寫書。
國(guó)內(nèi)知識(shí)產(chǎn)權(quán)保護(hù)不利,出版社無(wú)法用提高定價(jià)的方式來(lái)為讀者和作者提供更好的服務(wù)。
所以我想說(shuō),IT 同行,請(qǐng)不要相輕。而我們?cè)倏纯撮_源領(lǐng)域也是類似的,開源的理念不光是免費(fèi),還有開放。
一收費(fèi)很多人就受不了,別人也忙,別人也有事情,所以沒(méi)有什么是應(yīng)該的,別人不幫你也不會(huì)有道德綁架的嫌疑。
可以看到有些開源項(xiàng)目現(xiàn)在很尷尬,技術(shù)方向都不錯(cuò),但沒(méi)有一個(gè)良好的模式來(lái)支撐發(fā)展。
有精力和時(shí)間就參與一些項(xiàng)目吧,這個(gè)是突破自己,我敢肯定的說(shuō),會(huì)有不一樣的收獲。
對(duì)于技術(shù)分享的態(tài)度
在我的認(rèn)知里,我們很多人都是沉默的大多數(shù),許多人不覺(jué)得自己在學(xué)習(xí)這件事情上值得分享,或者是討論,都在默默的看,默默的聽,認(rèn)為這是自己的私事。
而我的經(jīng)驗(yàn)告訴我,我給新手和老手做分享,總是會(huì)有收獲。
分享不光是技術(shù)大會(huì)分享、技術(shù)博客,技術(shù)討論都是分享。所以無(wú)論何種形式,聽別人講道理,還不如看看別人走過(guò)的路和正在走的路,多看看同行們都在做什么,對(duì)自己未來(lái)的選擇,有時(shí)候會(huì)有意想不到的幫助。
對(duì)此,我有以下幾個(gè)建議:
認(rèn)準(zhǔn)了就不要放棄
如果你認(rèn)準(zhǔn)了一件事,就不要輕言放棄,拿我自己的例子來(lái)說(shuō),自己堅(jiān)持寫博客到現(xiàn)在已經(jīng)有 1300 多天了,風(fēng)風(fēng)火火進(jìn)行到了現(xiàn)在的第 14 輪,這個(gè)過(guò)程本身沒(méi)有什么可以值得炫耀的。
但對(duì)我來(lái)說(shuō),好記性不如爛筆頭,我抽空把每天的工作中碰到的一些問(wèn)題做了總結(jié),以后碰到同樣的問(wèn)題可以縮短問(wèn)題處理的周期。
先利己,再利人
這個(gè)話聽起來(lái)很功利,但從務(wù)實(shí)的角度來(lái)說(shuō)還是中肯的,畢竟這個(gè)學(xué)習(xí)的過(guò)程首先是對(duì)自己有利,你可以從中學(xué)到很多東西,把自己的基本要求滿足了,自己的要求都達(dá)不到,又何談和別人分享、幫助別人呢?
當(dāng)然自己動(dòng)機(jī)也是簡(jiǎn)單的,興趣所占的成分居多,要不還是很難堅(jiān)持的。如果一味朝錢看,也不一定能夠那么有錢途。積累的過(guò)程中會(huì)有很多的誘惑,你需要去平衡,不要迷失自我。
短期實(shí)踐,長(zhǎng)期規(guī)劃
如果你對(duì)某種技術(shù)感興趣,剛好也有錢途,可以做個(gè)短期實(shí)踐,自己可以多做一些練習(xí)來(lái)鞏固鞏固,很多時(shí)候紙上談兵的東西在實(shí)際操作時(shí)會(huì)有很大的差距。
可以用自己熟悉的技術(shù)和相關(guān)的技術(shù)做一個(gè)關(guān)聯(lián),看看能給自己的工作帶來(lái)哪些方便和好處。
我自己以前對(duì) Shell 也是很生疏的,基本不會(huì),但學(xué)習(xí) Oracle 之后,在數(shù)據(jù)庫(kù)管理中發(fā)現(xiàn)腳本管理很方便,慢慢地借鑒別人的、自己寫的,現(xiàn)在也積累了幾百個(gè)腳本了,在工作中使用這些腳本感覺(jué)還是非常方便和快捷的。
敢于分享
很多人對(duì)于技術(shù)分享還是有所顧慮,怕出丑,怕邁出這一步;有些人有分享的意愿,但不夠主動(dòng);有些人是覺(jué)得沒(méi)啥可分享的,但如果適當(dāng)引導(dǎo)還是能出一些大作的;還有些人很配合,會(huì)主動(dòng)反饋,主動(dòng)分享,我欣賞這樣的人。
焦慮也有優(yōu)點(diǎn)
回到最開始說(shuō)到的焦慮現(xiàn)象,為什么羅洛梅要研究焦慮?因?yàn)?0年代的美國(guó)人集體焦慮,大家都覺(jué)得自己有病。
對(duì)此羅洛梅舉出兩個(gè)很閃亮的觀點(diǎn):
- 焦慮是人類面對(duì)威脅,希望創(chuàng)造自我的正常狀態(tài)。
- 這種時(shí)代,每個(gè)正常人都會(huì)有焦慮,你不焦慮,就是麻木、冷漠。
從下面的圖可以看出來(lái),焦慮和表現(xiàn)呈現(xiàn)倒 U 字型。一定的焦慮讓你表現(xiàn)更好,但一旦超過(guò)某個(gè)階段,過(guò)高的焦慮會(huì)讓你徹底崩潰,而太低的焦慮會(huì)讓人覺(jué)得空洞無(wú)聊。
最后用王泓人的一句話獻(xiàn)給大家:對(duì)于我來(lái)說(shuō),最勇敢的事情不是辭職,而是趁著年輕用所有的精力來(lái)充實(shí)自己的人生!