如何快速学习一门新技术

240 阅读4分钟

(一)前言

我们永远学不完所有的技术,最近这段时间我更新文章的频率变低了,一方面是工作时间从原先地865变成了995,另一方面是在工作过程中遇到了更多技术挑战,需要花很多时间去学习。

在进现在这家公司之前,我在一家项目为主的公司工作,主要用到的就是Java、MySql、Redis这些技术栈,以项目交付为主。但是现在这家公司以研发为主,就导致了每一个研发项目可能都会用各种自己知识体系之外的框架或者说是技术。

比如数据抽取用到了Datax,搜索用到了ElasticSearch、监听应用binlog用到了kafka、离线大数据计算用到了spark、hive、hadoop、hbase等等。但是项目不会等着你慢慢地系统地去学习每一门技术,因此在经历了这些之后,我自己也总结了一些快速学习一门新技术的方式。

(二)快速了解阶段

在学习一门技术来说,首先要快速知道这门技术是干什么的。这一点其实很重要,了解这门技术是干什么的,才能去评估这门技术是否符合研发上的功能需求。比较建议的方式是结合官网以及一些优质博客,快速了解。比如以ElasticSearch为例,首先一定要先找到官网,如果全英文刚开始看不下去,可以使用浏览器的翻译功能,如果依旧不理解,就可以在网上搜优质的博文,但是博客的日期越新越好,两年前介绍的ES和现在的ES真的就和两个框架一样。

(三)内部尝试阶段

了解了框架的基本内容之后,接下来就要开始动手尝试,一方面是熟悉各种API和语法,另一方面是在使用过程中,能找到框架的一些缺点和局限性。比如ES没办法支持联表Join查询等问题,并把这些问题带到自己的项目中,评估是否对项目有影响。

内部尝试阶段依赖的资料优先还是官方文档,然后我建议刚开始可以跟着视频学习,比如B站有很系统地学习视频。在时间允许的情况下以二倍速看完整个系列地视频,如果时间很紧,看应用相关的就可以了,底层和源码相关的内容可以先跳过。

当经历了这个阶段之后,这个开源框架应该到了会用的地步了。

(四)编码阶段

在经历了一系列技术评审之后,接下来可能会有两种情况,一种是决定采用ES,另外一种是发现不合适,需要重新技术选型。如果是第二种情况,那么这门技术可以先放一放了,后面若是有兴趣再系统学习。如果是第一种情况,那么很快就会进入到编码阶段了。

在编码的过程中,会发现很多前期没有想到的情况,在一些需求之下可能需要讲ES使用到极致才能完成该需求。这个阶段主要靠地就是搜索引擎和官方文档,视频和书籍起不到帮助的作用。我当时在写ES的时候,遇到过很多很多奇特地需求,于是我翻遍了整个官方文档,还真的找到了ES提供的语法。

在经历了这个阶段之后,你对这门技术的使用应该是到了炉火纯青的地步,但是对原理并不通。

(五)深造阶段

其实在工作中能把一门技术用熟练就已经足够了,但是对于自己的提高来说深入底层是最好的方式。这个时候,各种优质书籍就成了最关键的因素。对绝大部分人来说,要自己摸着源码去理解很难很难,并且很容易理解错误。除了经典书籍之外,尽量读新出版的书,因为技术的更新实在太快了。如果是国外的书籍有能力就读英文原本,毕竟翻译过来往往几年就过去了。如果这一阶段你也熬过去了,那么恭喜你,你可以在简历上写精通这门技术了。

(六)总结

保持学习才能保持竞争力,希望这篇文章对你有帮助,我是鱼仔,我们下一篇再见。