Is_there_a_way_to_find_a_regular_process

答读者问35 | 寻找规律的过程,有方法可循吗?

Posted by kunnan on August 5, 2018

者@夜雨:

吴军老师,如果K线不能用的话,我们想自己做股票交易,那些理论,或者是技术,哪些是现在比较有用的呢,请老师提点。

吴军

我这篇文章已经讲解了不存在任何你能够使用的管用的技术,你还问这个问题,属于心存妄念

  • 如果股市不是你能挣钱的地方,至少不要把自己变成韭菜被人割了后,还被割韭菜的人嘲笑一把。香帅老师在专栏里讲了中国的股市是农耕文明和计划经济的产物,当初的目的就是为了国家建设融资的。她说得比较委婉,你自己好好体会她的意思。
  • 几乎所有的相信市场经济的经济学家(包括薛兆丰老师)都反复说,试图通过一种技术指标打败市场的人,不是在和股市上其他人竞争,而是在挑战市场的有效性,试图颠覆从亚当·斯密开始就被不断强调,不断证实的最基本经济学原理

因此,要想尽早财富自由,首先是不要有妄念,不要被人当韭菜割了。

读者@心一代一心:

吴军老师好,我是一名银行业软件开发管理者,自己的软件开发基础很差,只是知道自己内部系统的开发流程,不会写代码,计算机基础也是不明不白,但是又觉得如果只是单纯学习计算机理论知识很难有见效比较快的进步。

想要制定一个可量化的软件开发学习目标,不知道软件开发学习该如何量化目标?

吴军

  • 在回答你的问题之前,先给你讲一个《西游记》中的故事。

    话说唐僧师徒四人到了火焰山前面走不过去了,八戒问,为什么我们不朝没有火的地方走啊?唐僧反问道,哪里没有火啊?八戒说,往东,往南,往北都没有火。唐僧又问,哪里有经呢?八戒说,西边。接下来的答案就不言而喻了。如果有一个困难必须克服才能前进,除了克服它,别无他法,不可能绕过去。
    

你在问题中说,自己的软件开发基础很差,但似乎又不愿意下苦功夫把计算机基本的原理掌握好和把程序开发的技巧练熟,指望我告诉你一两条捷径。我这个人比较笨,运气也不好,从来没有遇到过捷径,而唯一能称得上是捷径的,就是一些笨办法。

  • 实际上,在追求进步的道路上,每年只是20%的人掉队,如果你能坚持5年,自然而然就比70%的人强了。如果你指望一年达到别人五年的水平,就属于妄念了。具体的做法我会在下一个问题的回答中讲。

读者@小小蒲公英:

吴军老师,我想问个问题,怎么样才能提升自己的思维能力,编程思想这方面的能力?有没有什么书可以推荐的,想提高这方面的能力要学习离散数学方面的知识吗?

读者@吴伟龙:

请问吴军老师,对于想要成为一个二级甚至一级的工程师的年轻人而言,应该从哪入手提高自己的数学水平呢?像基础的线形代数和统计自不必说,像更高级的图论以及其它数学,该从哪开始学习呢?

吴军

说句实话,整个中国有没有二级工程师都难讲,10年内中国不会有一级工程师。按照当时定这个标准的人朗道的话讲,全世界一级的物理学家不过5、6人而已,他自己才是2.5级。那什么算是一级工程师呢?

比如亨利·福特、本田宗一郎或者保时捷父子,他们需要开创一个产业,前两个人是迄今为止被美国汽车协会唯二发给了终身特别成就奖的人。剩下的设计了某一款传奇汽车的,到顶不过是2级工程师而已。

在计算机领域,高德纳可以算是一级,Google云计算的发明人,以及发明Google大脑的杰夫·迪恩可能可以算是1.5级,因此全中国有没有二级的工程师,我不知道。

鉴于这种情况,我倒觉得成为三级工程师比较有希望,也就是说,在已知领域能做出全世界工业界最好的产品,比如你做人脸识别,做到全世界第一,就是三级的了,如果是一个大的领域,就是2.5级。要做到这一点,可以按照下面四个步骤走:

  • \1. 把基础打好。离散数学学起来其实不难,比高中立体几何要容易得多,自己找些书学习,再结合公开课就可以了

    具体讲,可以从数理逻辑、图论学起,集合论、组合论相对次要,代数结构就不必学了。
    但是理解它和应用它,需要动脑筋。
    对做工程的人来讲,考试考100分是没有用的,需要天天思考怎样把手头的工作做漂亮,而不是应付事情。
    
  • \2. 转变思维很重要。

    我们这周谈了很多内容,一个核心的思想就是告诉大家计算机的思维和人的思维不一样。就拿网络爬虫这个例子讲,我们日常生活是在一个规模很小的空间,在面对兆亿规模的世界,很多在生活中没有的问题会涌现出来。思维达不到一个高层次,就想不到这些问题,当然也就解决不了相应的问题。
    
  • \3. 学了新东西一定要用,要有目的地使用。

    很多人请了好教练纠正网球动作,上场还按照自己习惯的动作打球,
    这样钱、时间和努力都白费了。
    
  • \4. 一定要到一个有足够多高水平工程师的环境中去工作。不要指望周围都是五级工程师,你一个人是三级。

    杰夫·迪恩周围有一堆2级和2.5级的工程师,他的搭档戈瓦迈特博士和他水平相当,一同发明了云计算和Google大脑,而且也是美国工程院院士。当自己的水平达到一定程度时,就需要去找高手请教了,你差太多,人家不理你,就如同总是和高手打球打成6:0,人家就不和你玩了,但是如果你能做到和高手打成2:6,他们就带你玩了,这时,就不要再去找一些臭球篓子满足于刷人家6:0了。
    

当然,我知道这些步骤,我说起来容易,你实践起来要下苦功夫。但是,任何一个别人都不需要下苦功夫的事情,一定没有利润可言,所谓的苦功夫,就是门槛,拦住那些有妄念的人的门槛,让你前进的道路变得不那么拥挤。

读者@贺鑫:

吴军老师您好,今天的思考题中,对”图”的研究分析,寻找规律的过程本身,是不是也有方法可供遵循呢?每每遇到这种”直觉上”无感的分析问题,就不知道怎样下手。

解决这类问题主要是通过学习,丰富相关模型吗?还是有系统的分析方法?

吴军

这个问题问得非常好!

  • 人们认识的过程常常是直觉为先,它可以解决一小半不是很复杂的问题,比如在街上听到巨响后赶快躲起来或者趴地上,这就是直觉。

但是今天的世界已经非常复杂了,以至于直觉很多时候不管用,也就是说光有直觉的人面对很多问题无感。比如你到街头和骗子玩扣着三个碗猜哪个里面有球(或者钱币等小物件)的游戏,你玩一百次输一百次,这就是直觉体会不到的地方了,对这种事情,你会感觉无感。但是如果你有些小魔术的经验,就能看穿他们的把戏。

  • 因此,经验是解决这些问题的方法,这也是我们要学习的原因,因为自己慢慢摸索经验太慢,最好把前人的经验快快学到手。有了经验,遇到类似的问题,你就不再害怕了,也就不会无感了。
  • 但是,对于其他人也没有解决过的问题,比如今天不断出现的新问题,就需要能够有一套系统的科学的方法,逐步解决这些新问题了。关于科学方法,是一个大话题,这里时间的关系我先省略了,下次我争取在专栏里专门谈一次。
  • 最后要说的是,即使有了系统的方法解决问题,我们可能依然会遇到很多解决不了的问题。很多时候那些问题能否解决,运气的成分非常大,对那些问题,对自己不要太苛求了。

读者@恩博:

由吴军老师解这道谷歌面试题的过程可以看出解决问题的方法对于提高解决问题效率的重要性。 对方法进行改进,时常可以使解决问题的难度降低一个量级。

解决问题的方法不是固定的,事物也是不断向前发展的,随着时间的推移,那些不满现状,追求改良的人,就能够不断寻找到新的方法,从而在做事效率上提高量级。比如从冷兵器到火枪、火炮,从火器再到核武、电磁炮,这些就是不断改良的表现,也是从量级上提高了武器的威力。

那么如何判断何时需要进行大刀阔斧的改良?又如何知道自己的改良方法是否行得通呢?有时纠结于是否应该对原有方法进行改良,以及恐惧于自己改良的方向正确与否,从而使自己的做事效率比原来还低,最终也没找到好方法。所以我想问,对于这个问题如何作出权衡决断呢?

吴军

  • Google有一个简单的原则,就是今天的工程解决方案,是基于今天流量的10倍设计的

    等到流量慢慢接近这个产品的极限,再做一个10倍规模的新的产品。你所说的很多看似大刀阔斧的革命,其实技术本身早就成熟了,只是需要时间和市场将它变成产品。
    

在战争期间,这种转换的时间就快,和平年代,周期就长,这是社会需求使然。今天我们谈论5G技术,其实在3G时就已经开始研究了。总结一下,就是马克思那句话,社会的需求比十所大学更能推动社会进步。

See Also

/Users/devzkn/bin//knpost Is_there_a_way_to_find_a_regular_process 答读者问35 | 寻找规律的过程,有方法可循吗? -t GoogleMethodology
#原来""的参数,需要自己加上""

转载请注明: > Is_there_a_way_to_find_a_regular_process