从实战中来,到实战中去——Elasticsearch 技能更快提升方法论

2020-12-17 10:51:31 浏览数 (1)

2011年前后,和几个同学一起去游泳馆游泳,在去的路上,我问同学A:“你会游泳吗?”,同学A滑稽的回了一句:“我的理论知识还是很扎实的”,这不经意的一句话,引起我们几个同学的哄堂大笑。

当然我们也知道这是同学 A 开玩笑的一句话,但这则近 10 年前的小故事我依然时常想起,并讲给过 N 多人听。

游泳是实践远大于理论的一项技能。只有理论站在岸上学一年、学十年也是掌握不了游泳技能的。

最快的学习方式就是下水,在水里扑腾、在水里学、在水里练,反复实践、刻意练习,并且逐步的由浅水区慢慢过渡到深水区,直到游刃有余、直到“如鱼得水”。

既然理论貌似没有那么重要,只实践行不行?这个问题又会引发进一步的思考,想想极端的场景,只实践不结合理论的例子——60年代的大跃进。

是不是想想也很可怕,全国一盘棋实践啊——“大炼钢铁”,没有理论做指导,最终偏离了现实,后来的结果大家也都通过历史书学过了,那叫一个惨啊!

前面的两个思考引申到学习 Elasticsearch 我认为也是非常契合的。

由于长期活跃于 Elasticsearch 中文社区、自己也有数千人的群、圈子,几乎隔几天都会被问到如下几个问题:

  • 如何学习 Elasticsearch / ELK?
  • 如何快速的学习 Elasticsearch?
  • 有没有国内的 Elasticsearch 书籍推荐?
  • 怎么快速建立 Elasticsearch 知识体系,每次都是现用现查......
  • ES 基础操作学完了,想学进阶内容,比如调优,您有什么建议吗?
  • 我想请教搜索是怎么学习的?
  • 学习 ES 没有动力,整天 CRUD,如何破局?
  • 现在外包,想通过习得 Elastic 技能逃离外包公司,有没有快速学习的方法?

类似的问题,我自己也都遇到过,我也是一步步走过来的,确切的说,我当前也还是属于学习的阶段。

国内几乎所有 Elastic 书籍我都看了一遍

所以接下来的内容,没有趾高气昂的说教、没有醍醐灌顶的解答,没有一学就会的速成方法论, 只有扎扎实实的一个过来人的避坑指南。

  • 想看了一篇文章就能掌握技能,对不起,本文不适合你,请绕行。
  • 想买了一门课就能掌握知识体系,对不起,我们不欢迎你,我们不提倡速成,请绕行。
  • 想不实践只看看书就能掌握技能,对不起,那是纸上谈兵,我们交不来,也绝不会这么干,请绕行。
  • 想只看中文文档、中文书籍就期望掌握开源技能,对不起,我们认为英语是基础的必备的技能,如果你不认可,请绕行。

关于学习 Elasticsearch 的方法论,我每隔1-2年都会写一篇文章:

  • 死磕 Elasticsearch 方法论:普通程序员高效精进的 10 大狠招!
  • 全网首个十万 阅读的 Elasticsearch 专栏诞生!
  • “金三银四“,敢不敢“试”?

看了一下原来的方法依然凑效,随着时间的累积,又有了新的认知(注意新的认知可能会复用之前提及的理论,因为很重要,我会反复用、反复讲),总结如下:

1、学会复盘与反思

实际项目或产品开发、运维遇到的问题通过搜索或者社区提问基本都能找到解决答案。

一个基础认知——我们的平时实战中遇到的基础问题,别人早已经遇到过了,甚至都已经给出了完整的解决方案。

只不过问题可能散落在:国内外技术社区、QQ群、微信群、Stackoverflow、论坛、博客、公众号文章等。

当遇到自己不会,而别人会且能很快给出解决方案的问题,我都会拿如下这种图(图来自:《霸王别姬》电影)警示自己:

所谓的复盘就是:

  • 他们怎么知道解决方案的?
  • 他们知道解决方案的过程做了哪些基础操作?学习了哪些内容?受了哪些常人不知道的“苦”?
  • 我什么时候也能快速知道解决方案?

注意一个细节,这是万能模板,不信你看:

  • 他们怎么考上985、考上研究生、考上博士的?
  • 得挨多少“打“?
  • 我什么时候才能考上985、考上研究生、考上博士呢?

再来,

  • 他们怎么通过 Elastic 认证考试的?
  • 得挨多少“打”?
  • 我什么时间才能通过 Elastic 认证考试?

还有,

  • 他们怎么年薪百万、入职大厂、怎么创业成功的?
  • 得爱多少“打“?
  • 我什么时候才能年薪百万、入职大厂、创业成功呢?

事事有复盘,复盘的过程就是反思自己与别人差距的过程,找到自己的技术“软肋”、技术短板,最终事事有着落,想不提升都很难。

互联网的环境要用起来,别局限在自己的公司,一定要视野放眼全国甚至全球,这很重要!

2、向上学、向下帮

这是社群管理达人、樊登读书首席增长顾问“彪悍一只猫”经常说的一句话。跨界一下,对于 Elastic 学习也一样适用。

向上学:向Elastic原厂、一线大厂大佬学习实战经验;

向下帮:以自有能力尽可能的去社区、去微信群、QQ群帮助后来需要帮助的人。

逐步形成闭环,比闷头摸索效率不知提升多少倍!

我这里一直强调的一个概念是“交是更好的学”(认知来自:刘未鹏《暗时间》),”讲一遍有一遍的收获”。

上面这个学习金字塔图,也能很好的说明“教是更好的学”,因为只有向其他人教授以及对所学内容立即运用(也就是实战),24小时后的平均保持率会最高,接近90%。

好多人反馈不好理解,我进一步拿自己的例子解读一下:

1998年前后,读初中学地理的时候,有个知识点:“加尔各答市是印度的麻纺织业中心”。

我当时一遍一遍的背诵,就是记不住。前面的同学实在看不下去了,别记了,不就“加 麻”两个字吗?

我当时一下记住了,没想到,这段记忆能延续到今天,22年后,我还是依然记得“加 麻”。

注意:22 年啊!

  • 当时交这门课的老师我已经不记得是谁了.....
  • 当时提醒我“加 麻”记忆的同学我也忘记叫什么了,只记得个头不高......
  • 当时学过的世界地理几乎全部忘掉了......

但是,这个知识点,我始终没有忘记,并且每次试图想忘记,因为对于我来说,这个知识点的确没有任何用途,但是,就是忘不掉。

我一度认为很神奇,我把他类比为“肌肉记忆”——类似学了自行车,20年不骑,拿过来还会骑。

这里强调的不是简单的地理知识点这个概念,而是:有人给你讲过的知识、甚至讲过方法的知识,探讨过的技术方案,会远远的比自己摸索记忆的更清楚,并且不容易忘。

当然,同样的道理,你给别人讲过的知识、讨论过的问题或者方案,你自己也会记忆的更牢固。

并且,更难能可贵的是,讲解的遍数越多,记忆的越牢固。

这也是为什么很多企业家脱稿演讲、很多新东方名师全程脱稿讲课的原因,因为:他们讲的多,练的多,形成了肌肉记忆。

3、万种方法、死磕最灵

一万小时理论——人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。只要经过1万小时的训练,任何人都能从平凡变成超凡。

刻意练习——只关注一件事:如何成为所在行业的高手。高手和普通人的区别在于“套路”的多少。“套路”的产生需要有目的的练习,有目的的练习具有定义明确的特定目标,有目的的练习需要走出舒适区,熟能生巧。

我把死磕引申等价为:一万小时理论 刻意练习。

新手终能成为专家的进阶路径如下:

大家知道,我自己的所有专栏文章都与死磕相关:

  • 死磕 Elasticsearch
  • 死磕 Elastic 认证
  • 死磕 Elastic 面试 ......

死磕的本质是:不服!

关于 Elastic 的文章总有人会写,关于 Elastic 专栏总有人会写,关于 Elastic 公众号总有人要做,总会有一个行业 TOP 1,为什么不是我?

这么一想,几乎找不到理由,这是时代赋予的、这是积累的必然。

曾国藩的“结硬寨,打呆仗”是死磕的典范。

无论和谁打仗,去了城池外先勘察地形,选好扎营地,挖壕沟、扎花篱,把自己与敌方隔离开来,耗也得把对方耗死。

屡败屡战,最终重创太平天国,大获成功。甚至毫不夸张的讲,没有曾国藩,晚清可能得早灭亡几十年。

再举个真实案例:

最近技术圈子都在转载的酷派集团的表彰通报——酷派技术工程师虎跃向 Linux 社区提交的数条高质量补丁,得到了 Linux 之父 Linus To人valds 的认可,给公司酷派带来了无上光荣,让 Linux 代码里面写上了酷派的名字。

注意一个细节,虎跃2008年毕业就开始 Linux开发,2013年接触 Linux 开源社区,这是至少 7 年 甚至是 12年 的积累。

某种意义上说,这也是“死磕精神”和积累的结果。

PS:内核工程师每天和 Linux 最底层打交道,远远比上层开发难度更大,我刚入职的时候,旁边工位就是一位 Linux 内核工程师,每天都见他眼圈发黑,但是敲起代码和讨论起问题来炯炯有神!

再再重复举个例子,得到APP之前,罗胖主要借助:罗辑思维的视频以及微信公众号做知识推广。

同样是做公众号的,他和别人不一样的地方在于:每天早上发一段60s的语音,听完语音的最后指引关键字,输入后才能看到文章。每天60s,不长不短,截止到2020年12月5日,已经坚持了:2901天(7.95年)。

这引起了我的巨大的好奇。暂且放下“鸡汤”的思维角度,我的几个思考如下:

  • 为什么他能坚持?
  • 他为什么要坚持?
  • 是什么让他坚持?

听的多了,看的多了,其实就一句话:“他想成事”。

成事的方法有很多种,但都没有捷径,无疑:死磕是最稳健、最扎实、最快捷的路径。

几年下来,看到得到 APP 的发展,得到 APP 已经成为别人眼里的:“看不见、看不起、看不懂、追不上”的产品。

这就是死磕的力量——“今天你对我爱答不理,明天我让你高攀不起!”。

上面的跨界理论同样可以应用到死磕 Elastic知识点、用死磕的方法建立 Elastic技术体系、建立大数据技术栈的技术体系。

没有任何速成的方法,就一点点死磕官方文档、死磕源码......反而,这最笨的方法,时间越长、价值越大!

4、以考代练、更快进阶

死磕的原理说的多了,回归到 Elastic 一样还得是:理论和实践结合。

跟着项目或产品实战、遇到问题查原理再反哺项目或产品,就是很好的方式。

而在“算法投喂”盛行的今天,大家的自制力普遍没有那么强了,至少没有高考那么强了,这是不争的大实话。

建立 Elasticsearch 知识体系,“死磕”、刻意练习依然是法宝,而”以考代练”则是法宝中的捷径。

Elastic 认证对于建立 Elasticsearch 知识体系非常有用。Elastic 认证题目全部是实战题目,考试不通过的唯一原因就是:不熟!

我发布过 Elastic 认证的文章比较多了,老读者可能会“腻“,下面是死磕 Elasticsearch 知识星球内其他已通过的 Elastic 认证工程师现身说法:

IBM 70后资深架构师周钰大哥回复:

第一是认识上的演进。如同在心得贴里说的,之前对 ES 是只见树木不见森林的,或者叫学得都是“术”,但不是“道“。通过1个多月的备考,后来重新回来看,会有一种居高临下豁然开朗的感觉,理解上会通透了很多,能站在一个更体系化的角度去思考和规划 ES ,这对架构师来说是很必要的思维方式。

第二是修炼。其实IT证书我手上大大小小 10 几张总是有的,大到讲宏观架构的 TOGAF ,小到某个具体技能(如 Azure, LInux)的认证。但从未有像ES那样让我几乎是不顾一切的学习。考其他的证书似乎很轻松,但 ES认证我是真的花了 1 个多月的时间,从来没有那么高强度的去浏览和 ES 有关的任何文章。这种孤注一掷,不管不顾的态度,大概网络上现在算是叫“心流”。诚心一念做完一个事情,回过头来看,会觉得自己在思想境界上也有了 一个提升。这对工作自信心和个人修为都是有好处的。

ES的认证只是起点。我是做运维交付的,我们使用 ES 的场景非常多,简单如一个日志系统监控,稍微复杂的如我在做的每天大概上亿级日志存取的项目,甚至更更复杂的是我现在同时在做的一个数据平台的集成,和基于数据湖的智能运维分析平台。这些都离不开ES。掌握了 ES 对于我的工作都是如虎添翼的。另外,就算是做可视化报表也比过去顺溜了很多,因为对聚合的理解更深刻了。

其他认证工程师回复(部分)

......

......

......

小结

从实战中来,到实战中去——Elasticsearch 技能/学习最快的方式!当然,没有万能的普适的方法,更没有速成的方法,只有适合自己的方法。

大数据领域的所有开源技术栈都是实战为主的,理论与实践(实战)结合,我们才能学的更深、走的更远。


0 人点赞