從實戰(zhàn)中來,到實戰(zhàn)中去——Elasticsearch 技能更快提升方法論
2011年前后,和幾個同學一起去游泳館游泳,在去的路上,我問同學A:“你會游泳嗎?”,同學A滑稽的回了一句:“我的理論知識還是很扎實的”,這不經(jīng)意的一句話,引起我們幾個同學的哄堂大笑。
當然我們也知道這是同學 A 開玩笑的一句話,但這則近 10 年前的小故事我依然時常想起,并講給過 N 多人聽。
游泳是實踐遠大于理論的一項技能。只有理論站在岸上學一年、學十年也是掌握不了游泳技能的。
最快的學習方式就是下水,在水里撲騰、在水里學、在水里練,反復實踐、刻意練習,并且逐步的由淺水區(qū)慢慢過渡到深水區(qū),直到游刃有余、直到“如魚得水”。
既然理論貌似沒有那么重要,只實踐行不行?這個問題又會引發(fā)進一步的思考,想想極端的場景,只實踐不結(jié)合理論的例子——60年代的大躍進。
是不是想想也很可怕,全國一盤棋實踐啊——“大煉鋼鐵”,沒有理論做指導,最終偏離了現(xiàn)實,后來的結(jié)果大家也都通過歷史書學過了,那叫一個慘??!
前面的兩個思考引申到學習 Elasticsearch 我認為也是非常契合的。
由于長期活躍于 Elasticsearch 中文社區(qū)、自己也有數(shù)千人的群、圈子,幾乎隔幾天都會被問到如下幾個問題:
如何學習 Elasticsearch / ELK? 如何快速的學習 Elasticsearch? 有沒有國內(nèi)的 Elasticsearch 書籍推薦? 怎么快速建立 Elasticsearch 知識體系,每次都是現(xiàn)用現(xiàn)查...... ES 基礎操作學完了,想學進階內(nèi)容,比如調(diào)優(yōu),您有什么建議嗎? 我想請教搜索是怎么學習的? 學習 ES 沒有動力,整天 CRUD,如何破局? 現(xiàn)在外包,想通過習得 Elastic 技能逃離外包公司,有沒有快速學習的方法?
類似的問題,我自己也都遇到過,我也是一步步走過來的,確切的說,我當前也還是屬于學習的階段。

國內(nèi)幾乎所有 Elastic 書籍我都看了一遍
所以接下來的內(nèi)容,沒有趾高氣昂的說教、沒有醍醐灌頂?shù)慕獯?,沒有一學就會的速成方法論, 只有扎扎實實的一個過來人的避坑指南。
想看了一篇文章就能掌握技能,對不起,本文不適合你,請繞行。 想買了一門課就能掌握知識體系,對不起,我們不歡迎你,我們不提倡速成,請繞行。 想不實踐只看看書就能掌握技能,對不起,那是紙上談兵,我們交不來,也絕不會這么干,請繞行。 想只看中文文檔、中文書籍就期望掌握開源技能,對不起,我們認為英語是基礎的必備的技能,如果你不認可,請繞行。
關于學習 Elasticsearch 的方法論,我每隔1-2年都會寫一篇文章:
看了一下原來的方法依然湊效,隨著時間的累積,又有了新的認知(注意新的認知可能會復用之前提及的理論,因為很重要,我會反復用、反復講),總結(jié)如下:
1、學會復盤與反思
實際項目或產(chǎn)品開發(fā)、運維遇到的問題通過搜索或者社區(qū)提問基本都能找到解決答案。
一個基礎認知——我們的平時實戰(zhàn)中遇到的基礎問題,別人早已經(jīng)遇到過了,甚至都已經(jīng)給出了完整的解決方案。
只不過問題可能散落在:國內(nèi)外技術社區(qū)、QQ群、微信群、Stackoverflow、論壇、博客、公眾號文章等。
當遇到自己不會,而別人會且能很快給出解決方案的問題,我都會拿如下這種圖(圖來自:《霸王別姬》電影)警示自己:

所謂的復盤就是:
他們怎么知道解決方案的?
他們知道解決方案的過程做了哪些基礎操作?學習了哪些內(nèi)容?受了哪些常人不知道的“苦”?
我什么時候也能快速知道解決方案?
注意一個細節(jié),這是萬能模板,不信你看:
他們怎么考上985、考上研究生、考上博士的?
得挨多少“打“?
我什么時候才能考上985、考上研究生、考上博士呢?
再來,
他們怎么通過 Elastic 認證考試的?
得挨多少“打”?
我什么時間才能通過 Elastic 認證考試?
還有,
他們怎么年薪百萬、入職大廠、怎么創(chuàng)業(yè)成功的?
得愛多少“打“?
我什么時候才能年薪百萬、入職大廠、創(chuàng)業(yè)成功呢?
事事有復盤,復盤的過程就是反思自己與別人差距的過程,找到自己的技術“軟肋”、技術短板,最終事事有著落,想不提升都很難。
互聯(lián)網(wǎng)的環(huán)境要用起來,別局限在自己的公司,一定要視野放眼全國甚至全球,這很重要!
2、向上學、向下幫
這是社群管理達人、樊登讀書首席增長顧問“彪悍一只貓”經(jīng)常說的一句話??缃缫幌?,對于 Elastic 學習也一樣適用。
向上學:向Elastic原廠、一線大廠大佬學習實戰(zhàn)經(jīng)驗;
向下幫:以自有能力盡可能的去社區(qū)、去微信群、QQ群幫助后來需要幫助的人。
逐步形成閉環(huán),比悶頭摸索效率不知提升多少倍!
我這里一直強調(diào)的一個概念是“交是更好的學”(認知來自:劉未鵬《暗時間》),”講一遍有一遍的收獲”。

上面這個學習金字塔圖,也能很好的說明“教是更好的學”,因為只有向其他人教授以及對所學內(nèi)容立即運用(也就是實戰(zhàn)),24小時后的平均保持率會最高,接近90%。
好多人反饋不好理解,我進一步拿自己的例子解讀一下:
1998年前后,讀初中學地理的時候,有個知識點:“加爾各答市是印度的麻紡織業(yè)中心”。
我當時一遍一遍的背誦,就是記不住。前面的同學實在看不下去了,別記了,不就“加 麻”兩個字嗎?
我當時一下記住了,沒想到,這段記憶能延續(xù)到今天,22年后,我還是依然記得“加 麻”。
注意:22 年??!
當時交這門課的老師我已經(jīng)不記得是誰了.....
當時提醒我“加 麻”記憶的同學我也忘記叫什么了,只記得個頭不高......
當時學過的世界地理幾乎全部忘掉了......
但是,這個知識點,我始終沒有忘記,并且每次試圖想忘記,因為對于我來說,這個知識點的確沒有任何用途,但是,就是忘不掉。
我一度認為很神奇,我把他類比為“肌肉記憶”——類似學了自行車,20年不騎,拿過來還會騎。
這里強調(diào)的不是簡單的地理知識點這個概念,而是:有人給你講過的知識、甚至講過方法的知識,探討過的技術方案,會遠遠的比自己摸索記憶的更清楚,并且不容易忘。
當然,同樣的道理,你給別人講過的知識、討論過的問題或者方案,你自己也會記憶的更牢固。
并且,更難能可貴的是,講解的遍數(shù)越多,記憶的越牢固。
這也是為什么很多企業(yè)家脫稿演講、很多新東方名師全程脫稿講課的原因,因為:他們講的多,練的多,形成了肌肉記憶。
3、萬種方法、死磕最靈
一萬小時理論——人們眼中的天才之所以卓越非凡,并非天資超人一等,而是付出了持續(xù)不斷的努力。只要經(jīng)過1萬小時的訓練,任何人都能從平凡變成超凡。
刻意練習——只關注一件事:如何成為所在行業(yè)的高手。高手和普通人的區(qū)別在于“套路”的多少?!疤茁贰钡漠a(chǎn)生需要有目的的練習,有目的的練習具有定義明確的特定目標,有目的的練習需要走出舒適區(qū),熟能生巧。
我把死磕引申等價為:一萬小時理論 + 刻意練習。????
新手終能成為專家的進階路徑如下:
大家知道,我自己的所有專欄文章都與死磕相關:
死磕 Elasticsearch 死磕 Elastic 認證 死磕 Elastic 面試 ......
死磕的本質(zhì)是:不服!
關于 Elastic ?的文章總有人會寫,關于 Elastic 專欄總有人會寫,關于 Elastic 公眾號總有人要做,總會有一個行業(yè) TOP 1,為什么不是我?
這么一想,幾乎找不到理由,這是時代賦予的、這是積累的必然。
曾國藩的“結(jié)硬寨,打呆仗”是死磕的典范。
無論和誰打仗,去了城池外先勘察地形,選好扎營地,挖壕溝、扎花籬,把自己與敵方隔離開來,耗也得把對方耗死。
屢敗屢戰(zhàn),最終重創(chuàng)太平天國,大獲成功。甚至毫不夸張的講,沒有曾國藩,晚清可能得早滅亡幾十年。
再舉個真實案例:
最近技術圈子都在轉(zhuǎn)載的酷派集團的表彰通報——酷派技術工程師虎躍向 Linux 社區(qū)提交的數(shù)條高質(zhì)量補丁,得到了 Linux 之父 Linus To人valds 的認可,給公司酷派帶來了無上光榮,讓 Linux 代碼里面寫上了酷派的名字。
注意一個細節(jié),虎躍2008年畢業(yè)就開始 Linux開發(fā),2013年接觸 Linux 開源社區(qū),這是至少 7 年 甚至是 12年 + 的積累。
某種意義上說,這也是“死磕精神”和積累的結(jié)果。
PS:內(nèi)核工程師每天和 Linux 最底層打交道,遠遠比上層開發(fā)難度更大,我剛?cè)肼毜臅r候,旁邊工位就是一位 Linux 內(nèi)核工程師,每天都見他眼圈發(fā)黑,但是敲起代碼和討論起問題來炯炯有神!
再再重復舉個例子,得到APP之前,羅胖主要借助:羅輯思維的視頻以及微信公眾號做知識推廣。
同樣是做公眾號的,他和別人不一樣的地方在于:每天早上發(fā)一段60s的語音,聽完語音的最后指引關鍵字,輸入后才能看到文章。每天60s,不長不短,截止到2020年12月5日,已經(jīng)堅持了:2901天(7.95年)。
這引起了我的巨大的好奇。暫且放下“雞湯”的思維角度,我的幾個思考如下:
為什么他能堅持? 他為什么要堅持? 是什么讓他堅持?
聽的多了,看的多了,其實就一句話:“他想成事”。
成事的方法有很多種,但都沒有捷徑,無疑:死磕是最穩(wěn)健、最扎實、最快捷的路徑。
幾年下來,看到得到 APP 的發(fā)展,得到 APP 已經(jīng)成為別人眼里的:“看不見、看不起、看不懂、追不上”的產(chǎn)品。
這就是死磕的力量——“今天你對我愛答不理,明天我讓你高攀不起!”。
上面的跨界理論同樣可以應用到死磕 Elastic知識點、用死磕的方法建立 Elastic技術體系、建立大數(shù)據(jù)技術棧的技術體系。
沒有任何速成的方法,就一點點死磕官方文檔、死磕源碼......反而,這最笨的方法,時間越長、價值越大!
4、以考代練、更快進階
死磕的原理說的多了,回歸到 Elastic 一樣還得是:理論和實踐結(jié)合。
跟著項目或產(chǎn)品實戰(zhàn)、遇到問題查原理再反哺項目或產(chǎn)品,就是很好的方式。
而在“算法投喂”盛行的今天,大家的自制力普遍沒有那么強了,至少沒有高考那么強了,這是不爭的大實話。
建立 Elasticsearch 知識體系,“死磕”、刻意練習依然是法寶,而”以考代練”則是法寶中的捷徑。
Elastic 認證對于建立 Elasticsearch 知識體系非常有用。Elastic 認證題目全部是實戰(zhàn)題目,考試不通過的唯一原因就是:不熟!
我發(fā)布過 Elastic 認證的文章比較多了,老讀者可能會“膩“,下面是死磕 Elasticsearch 知識星球內(nèi)其他已通過的 Elastic 認證工程師現(xiàn)身說法:
IBM 70后資深架構師周鈺大哥回復:
第一是認識上的演進。如同在心得貼里說的,之前對 ES 是只見樹木不見森林的,或者叫學得都是“術”,但不是“道“。通過1個多月的備考,后來重新回來看,會有一種居高臨下豁然開朗的感覺,理解上會通透了很多,能站在一個更體系化的角度去思考和規(guī)劃 ES ,這對架構師來說是很必要的思維方式。
第二是修煉。其實IT證書我手上大大小小 10 幾張總是有的,大到講宏觀架構的 TOGAF ,小到某個具體技能(如 Azure, LInux)的認證。但從未有像ES那樣讓我?guī)缀跏遣活櫼磺械膶W習??计渌淖C書似乎很輕松,但 ES認證我是真的花了 1 個多月的時間,從來沒有那么高強度的去瀏覽和 ES 有關的任何文章。這種孤注一擲,不管不顧的態(tài)度,大概網(wǎng)絡上現(xiàn)在算是叫“心流”。誠心一念做完一個事情,回過頭來看,會覺得自己在思想境界上也有了 一個提升。這對工作自信心和個人修為都是有好處的。
ES的認證只是起點。我是做運維交付的,我們使用 ES 的場景非常多,簡單如一個日志系統(tǒng)監(jiān)控,稍微復雜的如我在做的每天大概上億級日志存取的項目,甚至更更復雜的是我現(xiàn)在同時在做的一個數(shù)據(jù)平臺的集成,和基于數(shù)據(jù)湖的智能運維分析平臺。這些都離不開ES。掌握了 ES 對于我的工作都是如虎添翼的。另外,就算是做可視化報表也比過去順溜了很多,因為對聚合的理解更深刻了。
其他認證工程師回復(部分)





......
......
......
小結(jié)
從實戰(zhàn)中來,到實戰(zhàn)中去——Elasticsearch 技能/學習最快的方式!當然,沒有萬能的普適的方法,更沒有速成的方法,只有適合自己的方法。
大數(shù)據(jù)領域的所有開源技術棧都是實戰(zhàn)為主的,理論與實踐(實戰(zhàn))結(jié)合,我們才能學的更深、走的更遠。
2021年1月1日起,知識星球?qū)?/span>上浮年費,望周知。
