我们前几天在大号里聊

年后跳槽该思考哪些问题

这个话题。

感觉很多读者还是没想明白。我打一个比方,可以很形象的说明这种理解上的困境。

我写一个故事,就像给你复盘一局牌,我告诉你,当天上家打4、5、6、7、8,我接了5、6、7、8、9,既出了牌,又压了他。

但有相当一部分读者就反复问,我手里没有5、6、7、8、9,咋整?

而我想告诉你的是,就算你手里有5、6、7、8、9,你也未必能这么打,因为谁知道当下这局里,你的上家出什么牌呢?

他要是出三个9带一对3,你就算有5、6、7、8、9,你能出的了么?

如果你死盯着5、6、7、8、9,难道不摸出这种牌你就不玩了?或者你上家不出4、5、6、7、8你就不玩了?

会玩斗地主的,应该都听懂了:牌是死的,人是活的。

打牌这件事,取决于两个因素。

第一,这一局里,你手里拿的什么牌;

第二,这一局里,上家要出什么牌。

这两个因素都不考虑,生搬硬套,是非常好笑的。

我把故事讲出来,把思路理顺了,通常很多人都会觉得,哎呀,你说的很有理。

但真的人在生活中,人落在局中的时候,很多人不一定思路清晰的,否则就不会焦急的问,我没有5、6、7、8、9怎么办了。

3带2有3带2的打法,顺子有顺子的打法,一对儿有一对儿的打法,炸弹有炸弹的打法,遇见不同的上家又有不同的打法,这才叫打牌嘛。

十几年前,我是做程序员出身的,那个时代有个笑话在程序员之间广为流传。

说的是,有个女文员,问她们公司的IT,说,我的电脑启动不了了。IT就告诉她,先按开机键,再按enter键。

她就说,我按了呀,我按了呀,可怎么按,都没有反应呀。

IT过来看,原来是她没插电源……

这个段子后来被电视剧采纳了,美剧《IT狂人》里面就有,里面的那个IT有个口头禅就是每当有外行问他关于启动的问题,他职业性的第一句回复就是“先插电源!”。

这个笑话搁在研发的群体里听起来,是非常可笑的,因为研发认为人本来就该自己摸索着解决问题,而不是死盯着某个固定的方法一点变通能力都没有。就像《哈利波特》中的魔法师们嘴里的麻瓜一样。

但我告诉你,如果把程序员比喻成魔法师,那我父母就是麻瓜,我太太也是麻瓜。

我父母是50后,我太太是文科生,电脑刚出现的时候,她们并不会玩,总问我一些很LOW的问题。

而我的回复永远是一句话:自己去摸索。

一开始她们觉得我态度很不友好,但自己摸索习惯了,就学到了很多东西。比如我太太一个文科生,会杀毒,会处理基本的软件问题。我父亲会翻墙看国外的网站,我母亲会用基本的软件比如excel,会使用各种新出的电子产品和软件。

这是谁教的?

这就是迭代前进的摸索思维教的。

假如我一开始就替她们解决每件事,她们可能终其一生,都无法再融入信息时代了。

事实上,站在研发的角度,人类了解所有事,靠的都是摸索。不懂就试嘛,左试试,右试试,根据结果修改试的方向,反复迭代着摸索前进。

你看看婴儿怎么认知世界的?不就是靠试么?你不摸索,怎么学的会呢?

如果你认可这一点,研发思维是可以发散的,发散到任何一个领域,任何一个行业。

我不认为只有看文档,设计、调试程序才叫做研发,你去做销售卖东西也是一种探索行为,搞不定客户,那反复搞嘛。

你反复搞客户的过程,根据客户的眼色,心情,反馈,不断的修正自己搞客户的方式、方法的这个过程。

和你调试BUG,改程序,根据程序运行的结果反复修改的过程,有什么两样吗?

我认为没有两样,程序是一个对象,客户也是一个对象。

只是一个运行在计算机上,一个运行在现实世界里。

一个采用的是C语言,另一个采用的是汉语或者英语或者其它语言。

一个是依赖反复修改程序迭代着前进,另一个是依赖反复修改销售手段迭代着前进。

如果你认可我说的这段话,你去把它平移到任何行业,全都是一样的。

你去交易,谋求盈利,不就是反复测试不同的算法,看看哪种能赚钱么?

这和你反复测试不同的程序,看看哪种能跑的通有区别么?

你去交易,谋求扩大盈利,利润最大化,不就是在能够赚钱的各种算法里,反复迭代,寻求最优解么?

这和你反复优化程序,看看怎么样可以占据更小内存,运行速度更快,有什么区别么?

再去放大,你去创业,不还是调程序么?无非你现在调试的是一个团队,调试的是一个市场,本质上还是在反复尝试,根据成功或者失败的经验(程序反馈)迭代着前进…….

看到了吧,在程序员的眼里,这世界就是一坨程序,做什么事,无非都是调程序,哪怕你让我写作,那和写程序能有啥区别?

还不是一样的。根据读者的理解,留言,反馈,不断修改表达方式,反复迭代,力求把一件事说的深入浅出,让更多人理解。

所以我们说程序员和程序员思维是两件事。

前者是一个工种,有师父带你,你练熟了,知道某件事怎么干,你就会干了,然后干了十几年,也许不适应了,被淘汰了。中年危机了,都有可能。因为你学会的,只是一个定死的工种。

后者则是普适性的学习方法。程序员思维不就是迭代思维么?迭代思维不就是反复试,一步一试错的往前走么?

你仔细琢磨人类文明的本质是啥?就是一步一试错的迭代着往前走。

所以往大里说,人类文明本质上不就是程序员思维么?

如果这一切你都认可,立刻就会明白,我文章写的是什么,根本不重要,那些无非是展现思维的工具而已。就像你是用C语言去调试程序,还是用汉语去调试客户,不都是依靠迭代思路么?

你呆在我的文章里,就等于呆在我构建的精神世界里,这个世界是我用文字构建的,身为作者,我等同于造物主。

你要是跟我较真知识范畴,很快就会陷入误区,因为你会发现有很多很多我会的,你都不会。

这难道是因为我是神?

当然不是。

你呆在我构造的精神世界里,我当然是神,因为这个精神世界里所有的一切都是围绕着我的认知范畴在描述。

可如果你仔细想想,跳出去,回到你的主场里去,比如你是个医生。咱们俩来聊外科手术,你马上就会发现我是个白痴,什么都不知道,而你呢?变成了神一样的存在。

正因为如此,所以我才告诉你,知识在聊天的时候,并不重要,因为每个人读的书都不一样,每个人经历的、擅长的的也不一样。但透过知识和经历之外,那些背后体现出来的思考方式,就很有参考意义了。

就像我开头给你说的那局牌,人家打4、5、6、7、8,我打5、6、7、8、9。牌重要么?牌不重要。

重要的是,5、6、7、8、9正好压4、5、6、7、8,这个正好压,才真的很有参考价值。

没有人能复制别人的人生,哪怕自己重来一次都无法复制,这就像把把牌都不会是一样的。

但透过历史牌局,思考打牌的方法,为自己所在的具体牌局里的反复迭代提供思路,却是可以做到的。