转载

学习的逻辑2:职业半山腰

学习的逻辑2:职业半山腰

  《学习的逻辑1: 知识经济学》中介绍了基础的逻辑。本文是其姊妹篇,进一步从不同角度来阐述。

  我该学什么?这是一个错误的问题

  这个问题可以有很多出发点。今天讨论基于的假设是对工作方向的迷惘,即不知道自己下一步努力的重点是什么,但又不想时光虚度,总觉得该学点什么,又不知从何学起。

  想学习是好的,但考虑下面这种场景。你走进领导的办公室说: “我要加薪,因为我参加了两个培训,看了三本书”。你觉得领导会答应吗?

  再考虑第二种场景。你走进领导的办公室说: “我要加薪,因为我搞定了两个项目,解决了三个问题”。

  显然第二个场景比第一个更可能一点。因此我们应该关注的,是我可以有什么样的贡献,什么样的产出,而不是我应该学习哪些知识。你的身价是由你表现出来的知识决定的,不是你掌握的知识决定的。就算我们的目标是学习,让自己更强大,一条更具可操作性的途径是以终为始,先设定自己想做成什么事,再反推需要什么样的知识。

  另外一个类似的思考角度是,你希望别人怎么介绍你。

  • 一种是这位是 xxx,他这一生看了很多书,学富五车。
  • 一种是这位是 xxx,他是 yyy 产品的设计者 / zzz 书的作者…

  你更希望是哪一种?

  你对世界的认识和世界对你的认识都只能通过你可观测的行为来进行。你的老板,你的同事,他们不可能知道你都看了啥想了啥学到了啥,他们只能看到你说了啥做了啥。换句话说,你是个黑盒,外在的行为定义了你。如果你所知所学不能反映在外在行为上,则你的内部状态不会对世界产生可观测的影响。也就是说,如果你学了某些知识,但行为没有任何变化,那跟没学是一样的。从这一点上,你的行动,你的产出才是你知识和智慧的反映,所谓知行合一。

  所以我该学什么,是一个不恰当的问题。更合适的问题是: 我该做什么,我该对外界产生什么样的影响?

  这里的讨论是在工作的上下文中,不涉及哲学和宗教,人生意义等。

  有时忙得要死,有时无所事事?其实无关时间

  有没有过几件事找过来,你不知道该接哪个的情景,最后只好只要时间排的过来就都接了,结果搞的自己过载? 而有时忙完手头的事,发现没什么可做的,只好无所事事上上网?

  有人会求诸于时间管理。但其实原因不在于你的时间管理技巧,而在于你根本就没有明确的目标,无论是短期的还是长期的,尤其是长期的。没有目标,时间管理就没有依据。

  没有目标,你就排不出优先级。当一堆任务涌过来的时候,你就不知道哪个对你重要,哪个不重要,哪个必须做,哪个可以不做。当你有多个项目可以去做的时候,你不知道该挑哪一个,该拒绝哪一个。没事的时候,你也不知道该看啥学啥。

  有个项目可以练习你的产品设计能力,另外一个可以出国练几个月英语,还有一个当下最火热也是公司未来方向的大数据项目,而你只能选一个,你会选哪个? 你业余时间打算看本书,todo list 里面有三本,但时间只够你看一本,你如何决定该看哪一本?

  比如你觉得要去学 iOS 开发,是时代潮流,可为什么不去学习智能硬件呢? 你觉得要去学数据结构和算法,往基础知识层面走,可为什么不去学习操作系统,数据库原理呢?

  不是从目标分解下来的学习任务,更像是随机的碰运气,恰好碰对的可能性很小

  一旦确立了真正的目标,这些问题就不再是问题,就不会时忙时闲,也不会选择恐惧,因为你知道忙时拒绝那些对目标没什么帮助的工作以削峰,而闲时主动补充对目标有帮助的知识而填谷; 最契合目标的就去做,无关紧要的就拒绝

  不善交际,没有话题? 其实无关性格。

  周围总是有资深的人,但你跟他们在一起的时候,想要聊些什么,又不知从何聊起。有人会求诸于社交技巧。但其实根本的原因还在于你没有明确的目标。没有目标,也就没有深入思考,因此也就没有问题。跟周围同事,业界大牛聊的时候,仅仅是泛泛而谈,止于人云亦云,网上遍地都能找到的一些讨论。并且你也不会主动挑起话题,因为你没问题嘛。

  一旦有了目标,在你向目标前进的时候,一定会碰到很多具体的,实际的问题。此时你会主动去找资源,找人聊,也会聊的比较深入,比较有成效。你会突然变得积极主动,谈笑风生起来

  同时你会发现,几乎每个人身上,你都可以学到你关心的知识。所谓当学生准备好时,老师自然会出现

  什么都会,但又都不突出,通才?其实是学霸综合症

  李敖有段时间一三五学法语,二四六学德语,别人问他哪一门强,他说要看是星期几问。与此类似,你要问我有什么特长,擅长什么,那要看我当时是在哪个项目。做过很多项目,什么都知道点,但依然没什么擅长,当时在做啥,就相对擅长啥。但这并不能称之为通才,仅仅是善于快速入门而已。

  究其原因,还是没有目标,只知低头干活,不知抬头看路,转来转去都离原点不远。最慢的步伐是徘徊。

  以终为始: 反馈是学习的唯一途径,输入只是娱乐,输出才是学习

学习的逻辑2:职业半山腰 

  附老文章《学习的逻辑1:知识经济学》

  万物有始皆有终。我们的逻辑链条起源于为什么要持续学习,然后是学习什么,怎么证明学到了,最后是为什么只学一门不够

  为什么要持续学习:知识通胀时代来临

  大家大部分都是在职的,平时应该会存钱。存钱最害怕什么? 对,通货膨胀。一旦央行开动印钞机,并大量放贷制造流动性,我们辛苦多年的积蓄就会被迅速稀释甚至蒸发。然而现在有一样东西,正以前所未有的速度被制造出来,这就是知识。并且其流动性在互联网的推动下简直泛滥成灾。换句话讲,知识正在通货膨胀。过去各行各业积攒的各种知识,各种独门秘笈,都大白于天下。过去少数人才能接受大学教育,现在哈佛,斯坦福的公开课唾手可得。前几天微博上刚流传一哥们一年时间自学 33 们麻省理工课程。在这种情况下,我们现在的知识积累,知识储备,会被迅速稀释,我们的身价也会迅速贬职。那怎么办? 拿存钱来说,一方面我们要投资保值或增值,一方面也要不断赚钱。放到知识上是一样的。我们要不断学习,而我们可以投资的,只有我们的时间。那么问题来了,就像要考虑是投资股票,黄金,还是房地产一样,我们的时间应该投资在哪些知识上?

  学习什么:知识漏斗

  回答这个问题,牵扯到一个理论,叫知识漏斗。我们可以将知识分为三个层次,代表了我们处理知识的三个阶段:mystery,heuristic 和 algorithm。以下内容摘自徐昊博客:

“mystery 的知识属于未知领域,我们甚至无法了解这个问题本身是什么问题。典型的问题比如“如何成得到最好的设计”,“怎么获得美满的婚姻”,甚至一些看上去不那么难回答的问题实际上也属于这类问题,比如“下一个客户从哪来”,“如何让业务增长十倍”。这类问题中的每个问题都是独特的问题,就好像并不是所有企业都能做大十倍,而且做大过程中的方式也不一定相同。再比如对于某个项目有效的手法,对别的项目不一定适用,都是一个道理,有时候又被称作艺术。

algorithm 的知识属于完全已知领域,在这个领域没有复杂问题,所有的复杂性都被解决掉了。无论在何种环境下,按照 algorithm 来作,总能得到相同或者是可预期的结果。这类知识往往是像“如何列出磁盘目录”,“房贷手续是怎样的”,“在东直门哪里能买到钱包”之类的问题。对于这类知识,你知道就是知道,不知道就是不知道。较容易通过训练获得,其终极形式就是写成程序,完全不用人来作。

从 mystery 转向 algorithm 就需要 heuristic,我如何把一个未知的问题转化为已知的 algorithm,或者我是能够去除掉 mystery 中的复杂性用简单的 algorithm 来解决它。或是说,你能否把艺术工程化或者流程化,去掉其中的文艺范。推理,发散,类比等等的都是这个阶段需要的技能。大凡革命性的飞跃,都源自把 mystery 变成 algorithm”

  而这三种知识的学习方式和价值也是不一样的。Algorithm 最容易学习,也最廉价,因为其最容易传播和复制。而最有价值的,是为某个 mystery 寻找的 heuristic 方法。一个例子是 Martin Fowler 的重构。在此之前,如何改善既有代码的设计,并没有什么众所周知的方法。而 Martin 找到了一种启发式的方法,就是寻找坏味道,然后应用一系列对应的重构手法。这些重构手法甚至将另外一个 mystery “如何安全的修改代码” 给算法化了。Martin 是我们学习的榜样。

  根据精益理论,用问题来拉动,会避免无意的浪费。卡尔波普尔也说,科学研究应该从问题而不是从资料开始。我的同事米高陈也说停止学习,开始创造。所有这些都一个意思: 你应该找到一个自己感兴趣的问题,然后解决它,在解决的过程中学习。

  好,我们知道了该学什么,那么第三个问题随之而来,我们如何知道我们学会了?

  怎么证明学会了:Validated Learning,知行合一

  我们无论是投资股票,黄金,房地产还是其它什么,我们总要知道是赚了还是赔了。我们的时间投资于学习也一样。我这两个小时花进去了,我怎么知道我花的值不值呢? 我们可以把我们前面讲的 TDD 的思路用在这里。就像用测试保证产品代码符合预期一样,我们也需要一种方法来验证我们的投资是有效的,这被称之为 Validated Learning。

  真正的 Validated Learning 包括拿你学到的知识真的去做事来验证。我们先不走那么远,就简单一点,证明你学会了即可。我们常用的有效的方法就是分享,或者教给另外一个人。你如果能把你所学到的清晰的讲述给你的同学,或者写成博客,或者做成培训教程,就可以有效的检验你的掌握程度。大家可以想想,有多少次,你向别人讲个东西,别人一问深入了,你就卡壳了?

  所以你应该做作业,并在课堂上分享。即使老师不布置作业,你也应该自己考一下自己。大家都经历过无数的考试了,我们可能觉得考试是痛苦的,想逃避。可是我们想象一种极端的情况,如果从小学到高中,我们一次试都不考,只在高考时考一次,你愿意吗? 这风险得多大啊? 所以考试是一种 validated learning 的机制,是帮助我们的,暴露我们知识缺陷的,我们应该欢迎。即使老师不考我们,我们也应该想法自己考自己。

  说到分享,还有另外一个理由来证明你为什么应该分享。大家都是知识工作者,大家觉得自己的身价是由什么决定的? 有人说是由掌握的知识。这句话只对了一半,甚至不对。你的身价是由你表现出来的知识决定的,不是你掌握的知识决定的。你的老板,你的同事,他们不可能知道你都看了啥想了啥学到了啥,他们只能看到你说了啥做了啥。我们讲面向对象,我们只能通过 public 接口来访问一个对象。我们就是个黑盒,别人只能通过我们的行为来判断我们。换句话讲,如果你学了某些知识,但行为没有任何变化,那跟没学是一样的。所谓知行合一。在这一点上,Martin Fowler 也是我们的榜样。

  那我们学会了并分享了是否就可以高枕无忧了?现在我们来证明你学一样还不够,要学多样。

  为何只学一门不够:知识工作者的分工

  之前课下有人问,老师我是做测试的,你们讲的编程的技巧,我需要学习吗? 这是很好的问题,它牵扯到知识工作者的分工。我们在生活中,随时都会享受到分工的好处,比如不需要自己种地养牛,不需要自己搬砖建楼,这一切都拜分工所赐。分工是一种已经被证明行之有效的科学方法,可以极大的提高效率。但这一切都有个前提,就是你可以直接应用别人的工作产物,而不需要跟这个人交互,也不需要关心产物是如何产生的。比如你可以直接喝牛奶而不需要关心牛奶是如何制造的,当然在兲朝你可能得关心一下。但在软件开发中,或者在一切知识工作中,这个前提不复存在了。

  • 有多少次,你可以直接基于客户的标书工作,而不需要跟客户交流?
  • 有多少次,你可以直接根据需求文档编码,而不需要跟需求分析人员交流?
  • 有多少次,你可以直接根据架构师的设计编码,而不需要跟架构师交流?
  • 有多少次,你可以直接根据需求去测试产品,而不需要跟需求人员和开发人员交流?

  没有。如果我们据此来分工,那么我们不得不通过其它的实践来加强沟通,来弥补沟通中的信息损失。而如果一个人从头到尾包办所有的事情,分析设计编码测试,则没有任何信息转移和丢失造成的效率损失。

  换言之,在传统行业中,分工是一种优化,不到万不得已,你不需要自己去搞定所有的事情; 而在知识工作中,分工是一种妥协,除非你一个人搞不定了,你才需要分工。

  现在的企业都看重 polyskill 的人,从这个角度,虽然某个时刻你会 focus 在某个方面,但我们应该学习软件开发中方方面面的知识。不要局限在自己现在的角色里。

  参考资料

  以上是在北航一级实践课程上的说教,大部分内容来自徐八叉不同时期的 session,其中隐含着一条逻辑主线,在向学生说明为什么应该做作业时无意中发现的。

  • On Knowledge Inflation: 知识通胀时代来临,及为什么员工动力不足是伪命题
  • 知行合一
  • 七十二弦
  • 停止学习,开始创造
正文到此结束
Loading...