这是《漫谈核心能力》系列的第 1 篇,预计会写 10 篇左右。通过这个系列,我希望和大家分享下一个人的核心能力是什么,以及怎么去提高自己的核心能力。扫描文末二维码,关注公众号,不再错过精彩。也欢迎转发朋友圈分享给更多人。


上一篇系列开篇里面,我尝试区分了知识、能力和经验这三者。虽然做了区分,但这三者是有着非常紧密的联系的,详情可以翻看上一篇文章。

比如,今天要讲的学习能力,就是获得知识的主要途径。

1

为什么要学习?

尤其是当我们已经具备了一定的知识,掌握了不错的经验之后,为什么还要继续学习?

谁都知道,学习是很累的。如果靠着已有的知识和经验,就足以应付工作,那干嘛不去吃喝玩乐呢?说好的「人生得意须尽欢」呢?

原因很简单:

  • 要么你的知识和经验不足以让你得到想要的东西。人都是被欲望驱使的,尤其是你的欲望还处在比较初级的时候,这个驱动力会更强。比如你想升职当经理多赚点钱,但却完全不懂怎么做管理。这是欲望驱使的主动学习。

  • 要么你的知识和经验只能保证你现在能应付局面。比如前端技术层出不穷,现在的主流框架过几年可能就边缘化了。这是环境驱使的被动学习。

所以只要你不是三和大神,得过一日就且过,温饱之外别无他求,那就只能不停地学。

以我所在的大数据行业为例,Spark 才刚为撼动了 Hadoop 的统治兴奋不已,那边 Flink 就气势汹汹逼过来了。你不学?还没到 35 岁就危机了。

当然,我不想宣扬危机和传播焦虑,只是陈述事实,并且下面就要分享些我的应对经验。

2

好了我知道要学,也愿意学,那要怎么学?

我到现在还能清晰地记得,高三的时候,班上有不少同学,学习非常非常刻苦。标准时间不说,别人午休的时候在做卷子,下了晚自习还在做卷子。但最后考试分数出来,虽然也还不错,但远不如他们的努力程度,总是比不过头部那些人。

那时候,除了替他们惋惜,我就在想,是他们不够聪明吗?是,他们确实不如班上最聪明的三五个人,但大部分分数比他们高的人并没有比他们聪明多少,更不用说没他们努力了。

问题就出在学习方法上。 下面我会分享几个我觉得比较好的学习方法。

3

带着疑问和目的去学 。

我在学习一个新技术的时候,通常都会问几个问题:

  • 我为什么要花时间学这个东西?

  • 这个东西解决了什么问题?

  • 这个东西相对于它的竞品都有什么优势?

然后在学的过程中,也会随时问自己,得到这些问题的答案了吗?

程序员都信仰代码比天大,学习新技术就免不了要看别人的代码。但现在的开源项目,尤其是比较有名的项目,复杂度和代码量都是很夸张的。

我的习惯是,带着目的挑着看。

比如在最开始学习 Spark 的时候,我就很好奇,Spark 既然说自己是基于内存的,比 Hadoop 快几十上百倍,那它究竟是怎么使用内存的呢?

于是我就专门去看了 Spark 内存管理模块的代码。很快知道了 Spark 把内存分哪些区,内存装不下了怎么处理,又有哪些参数可以调等等。

看完就完了。要搞懂 Spark 是怎么管理内存的,就只看内存相关的代码。后面再有别的需要,就再针对性看对应的代码。

像这样,带着疑问和目的,就能保证不会奔着一个类似「我就是要学会这个东西」这样缥缈的目标去学。

随着自己的疑问的解答,目的的达成,学习效果就是非常具体和有效的。同时也是非常高效的,因为时间和精力都用在直接解决自己的问题上,而这些问题都是因人而异的。

4

系统地学。

所谓系统地学,就是把这个东西主要的内容都学到。

这个看起来和上一节带着疑问和目的去学是矛盾的。其实不然。

对一个刚接触的新技术,更适合带着问题和目的去学,不能盲目投入时间。

而对一个已经有了一些了解,也实际会经常用到的东西,就可以考虑投入更多的时间系统地学。

原因有几点:

  • 经常用的东西,有了比较全面的了解,才能知道什么时候用这个虽然可以,但用另一个会更好。

  • 知识之间都是有共性的,当掌握的面足够广后,才有可能重叠(overlap),这样就能逐步建立起知识图谱。而知识图谱是一个人解决开放式问题和攻克难题时的基础保障。

早些年,我在体会到 Python 的好处后,就系统的花时间好好学了下,从官方文档上列的主要模块,到 PEP,到主流网络框架等等。这些都对我后来在大数据领域再去学其他 python 栈的技术,起到了非常大的帮助作用。

后面有次在工作中接手了一个 golang 的程序,那是我第一次写 go。在大规模重构的过程中,不可避免的去了解了 go 的设计思想。而在学习 goroutine 的时候,当时在学习 python 的时候接触到的协程的知识,就很好的帮助了我去理解。

5

对比着学。

其实前面两节已经提到了,但因为这个操作层面的方法实在太有效,还是想单独说一下。

相似的东西,对比着学,能帮助我们更好的理解,从而更好的判断。

以大数据领域的两个最流行的计算框架 Spark 和 Flink 为例,虽然都支持批处理和流处理。但设计上的选择,导致了各自非常鲜明的特点。

Spark 是基于批去做的流,所以吞吐量会很好,但由于不是来一条处理一条,所以延迟会相对高些。

而 Flink 是原生的流(native stream),所以延迟会低,但是吞吐量相对也低点。

两相对比,我们就对 Spark 和 Flink 的流处理有了更加深入的理解。当面对一个实际的流处理问题时,就能做出更合适的选择。

6

输出倒逼输入。

有没有觉得很多东西看了就忘?

有没有觉得有些东西,本来以为懂了,仔细一想发现没懂?

类似问题,当然可以多花时间、反复记忆来提升效果。但还有更有效的方式,那就是用输出来倒逼输入。

所谓输入,是指学习吸收知识;所谓输出,是指给别人讲解自己掌握的知识。

为什么说这个方法会更直接有效呢?

  • 一方面,需要对别人讲的东西,就算为了面子,你也会多花点时间去研究得更清楚点。

  • 另一方面,对别人讲解的过程,就是一个检查和思考的过程,有些问题,讲着讲着就发现原来自己还没理解透;有些问题和听的人边讲边讨论就有结论了。

有些人肯定要说了,可是我没啥好对别人讲的呀。这就是倒逼的含义所在,厚积才能薄发,不输入哪有输出。

而为了让这个输出的效果更加稳定和持久,我一直坚持两个形式:

  • 写博客/公众号, 这也是你能看到这篇文章的原因。并且是有计划地写,写成系列文章。

  • 在部门内组织技术分享。包括我在内的所有人,每周轮流做技术分享。虽然是强制的,但几个月才轮到一次,也没什么压力。


TL,DR

  • 学习是获得知识的主要途径

  • 但凡有追求的人,都必须持续学习

    • 要么你的知识和经验不足以让你得到想要的东西

    • 要么你的知识和经验只能保证现在你现在能应付局面

  • 带着疑问和目的去学,能让学习更有针对性

  • 系统地学,能让学习更加全面,帮助形成知识图谱

  • 对比着学,能让理解更加深刻,选择更加合适

  • 输出倒逼输入地学,能借助外界反馈督促学习

学习能力,是我认为一个人核心能力里面最重要的一个。所以放在了这个系列的第一篇。

学习,本质上是不断引入增量,这当然是进步的重要手段。增量的另一面就是存量,下一篇,我们一起看下怎么优化存量。

关联阅读

漫谈核心能力(0) -- 知识,能力和经验

技术管理到底管什么

谈谈技术深度和广度

原创不易

关注/分享/赞赏

给我坚持的动力

点在看,给大家好看

漫谈核心能力(1) -- 不学则无知相关推荐

  1. 漫谈核心能力(2) -- 知错能改,善莫大焉

    这是<漫谈核心能力>系列的第 2 篇,预计会写 10 篇左右.通过这个系列,我希望和大家分享下一个人的核心能力是什么,以及怎么去提高自己的核心能力.扫描文末二维码,关注公众号,不再错过精彩 ...

  2. 漫谈核心能力(3) -- 逻辑!逻辑!!逻辑!!!

    这是<漫谈核心能力>系列的第 3 篇,预计会写 10 篇左右.通过这个系列,我希望和大家分享下一个人的核心能力是什么,以及怎么去提高自己的核心能力.扫描文末二维码,关注公众号,不再错过精彩 ...

  3. 漫谈核心能力(4) -- 有条理,更清晰

    这是<漫谈核心能力>系列的第 4 篇,预计会写 10 篇左右.通过这个系列,我希望和大家分享下一个人的核心能力是什么,以及怎么去提高自己的核心能力.扫描文末二维码,关注公众号,不再错过精彩 ...

  4. 互联网人,咋就这么喜欢感动自己呢?

    从前每一个新用户发布的第一条状态,都会收到来自创始人叶锡东的点赞,这实际由一个点赞机器人完成.被关停下架后,他开始思考更好的方式.在即刻测试版 jellow 运行的 300 多天里,叶锡东没再使用机器 ...

  5. 《架构漫谈》阅读笔记

    这个礼拜,我精读了架构漫谈这本书,感觉自己对架构方面的知识有了更为深刻的了解.感觉学习了架构之后,能对自己的学习和实践有更大的帮助.在这个学期众多的结组任务中,我们可以通过架构的知识,来界定小组目标系 ...

  6. 架构漫谈(1):什么是架构

    今天阅读了架构漫谈第一章,什么是架构,文章讲的很详细,语言描述很生动.下面就是文章的内容: 为什么会产生架构? 想象一下,在最早期,每个人都完全独立生活,衣.食.住.行等等全部都自己搞定,整个人类都是 ...

  7. 阅读王概凯老师架构漫谈系列总结

    这学期在学软件体系架构的课程,老师推荐了王概凯老师的架构漫谈系列专栏,在阅读专栏之后,对于什么是架构,怎样做好架构,软件架构如何落地,如何写好程序等问题有了较深的理解,在此简单记录一下阅读之后的感想 ...

  8. 5.4 塑造IT人的专业核心能力——《逆袭大学》连载

    返回到[全文目录] 目录 5.4 塑造IT人的专业核心能力 读大学,重在思维能力的提高 计算思维是看家本领 设计自己的专业能力 5.4 塑造IT人的专业核心能力 我们的高等教育的传统是注重知识型的教育 ...

  9. 漫谈自动化测试(一)——如何入门

    在讲如何入门之前,首先得对自动化测试有个概念 吧,否则怕你入错行,贻误终身啊.什么是自动化测试(Test Automation)?Wikipedia上如下定义: In software testing ...

最新文章

  1. java接口返回值_java后台调用接口并返回值
  2. 码农们不得不重视的问题
  3. Spring Data(二)查询
  4. windows脚本命令闪退_NCL2Python|windows系统安装Pyngl和Pynio
  5. 错过SaaS,就是错过这个时代
  6. 苹果XR信号差,可否要求苹果公司召回?
  7. hessian无法获取连接_PPPoE拨号设置完成后无法上网解决方法【详解】
  8. IP地址,开放端口,http与https的区别
  9. 2021 Summary
  10. stack容器—C++笔记
  11. 用字符数组输出平行四边形
  12. 腾讯云app人脸识别 java
  13. java基础数据类型大小
  14. °¬Èð×Éѯ¼¯ÍŸ߼¶¸±×ܲÃÈÎÄ£ºÊý×ÖÐÂýÌå¾­¼Ã..
  15. 【软件使用】去除图片上一些文字之类的:
  16. ★★中国著名“正版”软体的网站★★
  17. 计算机语言安装不上,安装程序包的语言不受系统支持,详细教您如何解决Office2010安装时语言不受系统支持...
  18. ANDROID 启动图标大小 UI规范
  19. 微信这版“加好友”也要收费了?(文末赠书)
  20. 云IDE 使用体验,git项目快速启动实践

热门文章

  1. python跳舞的线_性感数据,在线跳舞?一定是我眼花了
  2. 电脑驱动正常蓝牙图标不见了
  3. icmp回复报文_ICMP分为()和查询报文两类
  4. Mac照片误删恢复|mac误删照片怎么恢复?
  5. 适合新手小白学习的web前端自学路线图整理
  6. 使用QTableWidget绘制的表格
  7. java工程师需要掌握哪些技能
  8. 个人邮箱登陆,邮箱登录入口有哪些?有移动办公app吗?
  9. NPM安装asar,打包,解压,查看asar文件
  10. 鸿蒙大陆鸿蒙战凯,《七战》5月11日全服更新维护鸿蒙大陆开放新BOOS