- Part.1.A 为什么一定要掌握自学能力?
- Part.1.B 为什么把编程当作自学的入口?
- Part.1.C 只靠阅读习得新技能
- Part.1.D 开始阅读前的一些准备
- Part.1.E.1 入口
- Part.1.E.2 值及其相应的运算
- Part.1.E.3 流程控制
- Part.1.E.4 函数
- Part.1.E.5 字符串
- Part.1.E.6 数据容器
- Part.1.E.7 文件
- Part.1.F 如何从容应对含有过多 “过早引用” 的知识?
- Part.1.G 官方教程:The Python Tutorial
- Part.2.A 笨拙与耐心
- Part.2.B 刻意练习
- Part.2.C 为什么从函数开始?
- Part.2.D.1 关于参数(上)
- Part.2.D.2 关于参数(下)
- Part.2.D.3 化名与匿名
- Part.2.D.4 递归函数
- Part.2.D.5 函数的文档
- Part.2.D.6 保存到文件的函数
- Part.2.D.7 测试驱动的开发
- Part.2.D.8 可执行的 Python 文件
- Part.2.E 刻意思考
- Part.3.A 战胜难点
- Part.3.B.1 类 —— 面向对象编程
- Part.3.B.2 类 —— Python 的实现
- Part.3.B.3 函数工具
- Part.3.B.4 正则表达式
- Part.3.B.5 BNF 以及 EBNF
- Part.3.C 拆解
- Part.3.D 刚需幻觉
- Part.3.E 全面 —— 自学的境界
- Part.3.F 自学者的社交
- Part.3.G 这是自学者的黄金时代
- Part.3.H 避免注意力漂移
自学者的社交
很多人有莫名其妙的误解,以为 “自学”(self-teaching)就一定是 “自己独自学”(solo-learning),殊不知,自学也需要社交。也有另外一些人,因为 “专心” 到一定程度,觉得社交很累,所以开始抵触一切社交。这些都不是全面的看法。
事实上,在任何领域,社交都是必须的,只不过,很多人没有建立、打磨过自己的社交原则,所以才被各种无效社交所累。就算讨厌,讨厌的也不应该是社交,而是无效社交。
在自学的任何一个阶段,学、练、用、造,社交都可能存在。
哪怕是在最枯燥,看起来最不需要社交的 “练” 的阶段,社交也会起很大的作用 —— 在自己累了的时候,看到有人还在练,看到很多人都在练,看到很多人其实也挺累的但还在练…… 这些都是让自己感觉没那么费劲的好办法。
实际上,在最初 “学” 的阶段,社交也是极为重要的。
生活中,你遇到过这样的现象没有:“看见别人打针,自己先疼得受不了……” 这是因为我们的大脑中有一种神经元,叫做镜像神经元(Mirror Neuron),它会让我们 “感同身受”,当我们看到另外一个人正在做什么的时候,镜像神经元会尽力给我们足够的刺激,让我们 “体验” 那个人的感受。以前人们不知道为什么哈欠竟然会 “传染”,现在科学家们很清楚了 —— 那就是镜像神经元在起作用。
镜像神经元的存在,使得我们有模仿能力、有通感能力、有同情心、有同理心…… 这也是为什么人类天然有社交需求的重要原因,因为我们的大脑皮层上都有很多的镜像神经元。
一般来说,物品、书籍之类非人的东西,都不大可能激活镜像神经元。只有看到人的时候,镜像神经元才会被激发。所以,你送给小朋友一把吉他,他不会有什么兴趣的。可若是你在弹琴的时候被他看见,他的镜像神经元就会因为你的行为而被触发,进而对弹奏吉他感兴趣 —— 注意,不是对吉他本身感兴趣。若是你在弹琴的时候,带着某种能够打动他的情绪,那他更容易被影响,因为情绪更能激发镜像神经元。也就是说,一切的学习起初都基于模仿,一切的模仿,都源自于看到真人的行为 —— 哪怕是在电影里看到,虽然只不过是影像而已,并非真人,但毕竟是真人的影像。
所以,无论学什么技能,都要找到用那种技能的人,这样我们的镜像神经元才可能更容易被激发,学习效果才会好。若是能找到热爱那项技能,乃至于一使用那项技能就很开心(最好的情绪之一)的人,那就更好了。激情这东西,是少数幸运儿才长期持有的东西,大多数人小时候挺多,过了十五六岁之后就开始有意无意磨灭了激情,且并不自知。
之前提到,
当我们看到另外一个人正在做什么的时候,镜像神经元会尽力给我们足够的刺激,让我们 “体验” 那个人的感受。
这句话里有个词很重要,“尽力”。因为镜像神经元只能调用我们大脑里已有的信息去模拟对方的感受,所以,它最多也就是 “尽力”,无法做到 “确保正确”。今天的糖尿病患者使用的皮下注射针头,已经可以做到很细,细到让使用者 “无感” 的地步,所以,当一个糖尿病患者给自己注射胰岛素的时候,他自己并不觉得疼,可是看的人却能 “疼” 到紧皱眉头的地步,为什么?因为旁观者的大脑里没有实际用那么细的针头注射胰岛素的经验,所以镜像神经元在旁观者 “感同身受” 时所调用的,其实是过往旁观者自己打针的体验 —— 被很粗的针头做静脉注射的痛苦体验。
所以,很多人误以为他们眼里的成功者靠的是 “坚持”、靠的是 “毅力”,这完全是自己的镜像神经元 “尽力” 的结果,是 “调用自己过往经验去感同身受的结果”…… 事实上呢?那些 “成功者” 其实并不在意成功,因为到死之前成长不应该也不可能结束,因为那是他们的生活方式,学习、进步、探索、迂回,甚至折腾、挫败和迷茫,都是他们生活中必不可少的内容,这是最初不自觉的选择,谈不上什么 “坚持”,谈不上什么 “毅力”…… 说实话,对他们来说,不让折腾才真痛苦呢,不学习才需要坚持和毅力呢!
再进一步,这也是为什么要选择朋友的原因。人与人之间有很大的差异,最大的差异来自于性格养成,大多数人会沦为表现型人格,只有少数人才会在不断调整中保持、呵护、进一步培养 “进取型” 人格。他们自然而然地更为乐观,更有耐心,更有承受力,更有战斗力,更能生产更能体验学习与进步的乐趣。与这样的人在一起,学习会更容易 —— 只因为镜像神经元会更容易地被正确激发。说清楚了,道理其实挺简单的。
有一次朋友跟我聊起他苦于没办法培养自己孩子的正经兴趣爱好…… 我说,其实很简单,只不过是你方法错了。你不用告诉孩子 “应该学什么,应该对什么感兴趣”,而是,想尽一切办法让孩子见识到拥有那个技能的,令他产生羡慕情绪的人 —— 只要孩子羡慕那个人,他就自然而然地有 “我也想这样” 的想法,到最后,谁都拦不住。这就是镜像神经元的力量。进而,所谓的社交,还真不一定是非要跟人说话、聊天…… 见识到,也是社交的最主要组成部分。
你看,谁说社交不重要?
进而,想要把一门手艺搞到真正 “精湛” 的地步,最有效的方法就是尽早进入 “造” 的阶段 —— 所谓的 “造”,就是不断创造的 “造”。
自学这门手艺,很简单,就是不断地学:
def teach_yourself(anything):
while not create():
learn()
practice()
return teach_yourself(another)
teach_yourself(coding)
学上几个,自然就很精湛。而其它的用自学这门手艺习得的手艺,基本上都可以用 “是否做出了像样的作品” 作为检验自己的那门手艺是否达到了精湛的衡量指标。
硅谷有一家著名的孵化器,叫 Y-Combinator,现在的掌门人是个很年轻的人,Samuel H. Altman。他在那篇著名的文章《Advice for ambitious 19 year olds》中有一个精彩的建议:
No matter what you choose, build stuff and be around smart people. <br /> 无论你选择了什么,都要造出东西来,要与聪明人打交道。
当然,对于 “聪明人” 这个概念,我和 Sam 的看法并不一致。在我看来,有好作品的人都很聪明,但还是那句话,那不是天分和智商,那分明是有效积累。
我个人最看重的个人品质之一,就是有没有像样的作品。
很少有人有像样的作品。人群中只有少数人最终能拿出完整的作品 —— 人与人之间的差异是如此之大,乃至于少数人有作品,更少数人有好的作品,只极少数极少数人才可能做出传世的作品;而与此同时,绝大多数人(万分之九千九百九十九的人)一辈子都没有像样的作品,他们连一篇作文都写不明白。于是,与有像样作品的人打交道,总是非常值得。
并且,跟他们打交道也不费劲,都是思考非常通透的人,通常沟通能力极强。哪怕沟通起来貌似费劲的那一小部分,事实上也不是难以沟通,那只不过是人家简单朴实而已。
我甚至经常建议我的合伙人们,在招人的时候,把这一点当作最靠谱的判断方式。少废话,少吹牛逼,给我看看你的作品。这个原则可以一下子过滤掉所有的不合格者。另外一个很自然的现象是,如果一个人能做出像样的东西来,那么他身边的聪明人密度无论如何都会比其他人的高出很多。
地球上有效社交密度最高的地方,是 Github。有些程序员们常开玩笑,说 Github 是全球最大的同性社交网站,事实上,他们不知道,女性程序员的比例正在逐步提高,而且女性在科学上,从来就没有屈居二线过<a href='#fn1' name='fn1b'><sup>[1]</sup></a>。
在 Github 上,找到自己感兴趣的项目,而后为那项目贡献一己之力,用自己的工作赢得社区的认同…… 这就是 Github 上的社交方式。若是自己做了有意义的项目,就会有更多人关注;若是那项目对很多人有用,那就不仅有很多人关注,更有很多人会像当初的你一样为这个项目做贡献…… 这就是程序员们的有效社交。
Github 能成为地球上最大的有效社交网络,没毛病,因为用作品社交肯定是最高效的。
所以,无论学什么,都要想尽一切办法尽快做出自己的作品。做一个产品出来的过程中,会磨练另外一项自学者不可或缺的能力和素质:
完整
与之前提到的另外一项加起来,就构成了自学者的最基本素养:
- 学就学得全面;
- 做就做得完整。
无论多小的作品,都会让创作者感受到 “单一技能的必然无效性” —— 你试试就知道了。哪怕你想做个静态网站,你都会发现,仅仅学会 html/css 是不够的,因为部署到远端服务器上的时候,你无论如何都得学学 Linux 基本操作…… 而已然具备了自学者基本素养的你,自然会想办法 “全面掌握”,而不是糊弄一下而已。
更为重要的是,一旦你开始创作作品,你更大的 “发现” 就是,你肯定需要很多 “之前看起来并不相干的知识与技能”,而非 “只靠专业就够了”……
还是拿我出第一本书为例。那之前我没有写过书,若是出版了书放在书店,没有人知道李笑来是谁…… 于是,只有内容本身,并不保证那书能卖出去。除了把内容写出来之外,我必然要去学习很多之前完全没碰过的东西,比如 “如何才能做到系统持续地修订内容”;又比如,“如何与出版社编辑正常沟通”;再比如,“如何取一个好书名”…… 一个赛一个地 “与专业无关”。
所以,“做得完整”,从来都不是容易的事情。
从这个角度去理解,你就会明白那些高明的手艺人为什么总是做小东西 —— 那是因为在追求完整的过程中,你必然会发现,越小越容易完整。这也是为什么庸人总是好高骛远,因为他们不顾完整,所以就可以妄图建造海市蜃楼。
手艺人不怕做的事小。而且,“小” 无所谓,“完整” 才是关键。
有作品和没作品的人理解能力也不一样。做过作品的人,看到类似 MoSCoW Method 的做事原则,瞬间就能有所感悟,而没有作品的人,却不见得有一样的感受。
顺带给你看个 Wikipedia 上的链接列表,在编程领域里,有无数可以借鉴到生活中的哲学、方法论:
给自己足够长的时间去学;在充足 “预算” 之下耐心地练;不断找活干,以用代练;然后,最重要的是,一定要尽快尝试着做出属于自己的完整作品,无论大小。
只有这样,你才是个值得被交往的人。
脚注
<a name='fn1'>[1]</a>:NPR:Most Beautiful Woman' By Day, Inventor By Night
上图是保存在美国专利局的一个存档文件(US Patent 2,292,387, Aug 11, 1942)截图。这项专利的发明者是 Hedy Lamarr,人家长得是这样的:
Hedy Lamarr 是好莱坞最知名的演员之一,并且,她也是自学高手:
Although Lamarr had no formal training and was primarily self-taught, she worked in her spare time on various hobbies and inventions, which included an improved traffic stoplight and a tablet that would dissolve in water to create a carbonated drink. The beverage was unsuccessful; Lamarr herself said it tasted like Alka-Seltzer.
<a href='#fn1b'><small>↑Back to Content↑</small></a>