文章目录
师彼长技以助己
前言
上一篇文章进行了工程思维和产品思维的测试,并介绍了几个比较重要的产品思维模型。接下来本篇介绍工程思维。(注意产品思维并不代表产品经理思维,工程思维也并不代表工程师思维,只是代表站在产品角度和角度来思考的一种思维模式)
逻辑思维1
我们先从一个数学游戏开始:1 出生月份和日期两个数字相加,得到一个数; 2 把这个数乘以18; 3 把所有结果的各个数字相加; 4 把上一步结果的各个数字相加.。我能猜出来最后那个数是什么
例如:5月8号,第一步计算结果是13;第2不计算结果是234;第3步计算结果是9;第4步结果是9;最后这个数就是9。相信大家都知道我肯定利用了某个数学技巧,但是却很少有人能说清楚我使用的数学技巧吧?我利用的是如果一个数能被9整除,它的各个位数字相加之和就一定能被9整除。第二步的乘以18就是构建整个逻辑的关键所在。
逻辑思维2
假设有手上有一根绳子,刚好可以绕地球一周,已知地球的周长是40076千米。请问我如果把绳子升高1米,仍旧需要绕地球一周。请问绳子需要增加几米?
答案其实很简单6.28米,仅需要用到圆周长的知识,但是未必上过小学的人都能解答的出来,因为不知道用什么知识去解。因为很多看到这道题的第一感觉是答案应该是个比较大的数字。
逻辑思维3
类似的还有各位入职面试的时候会碰到的一些逻辑思维题目:谁在养猪问题,CS比赛场次问题,玻璃球掉落的问题。这些题目的答案不是最重要的,考察的是大家逻辑思维能力。
罗辑思维能力一方面是一个人智商的表现,另一方面一个人是否具备基本的演绎归纳、结构化思维等方面的能力,以后在创造性工作和结果汇报中都很重要
为什么要看重逻辑思维能力?因为花半秒钟就看透事物本质的人,和花一辈子都看不清事物本质的人,注定是截然不同的命运。就拿上一页的题目,推广开来比如抗洪救灾现场,如果你学过初中物理的压强知识,你就能在防洪救灾中选择合适的材料,合适的量来做防洪措施。既不会出现资源浪费也不会出现不可控制的危险。甚至你巧妙利用密度这一知识,可以调配出更具层次感口味的鸡尾酒或奶茶。
那如何培养自己的逻辑思维能力呢?
- Be MECE:相互独立,完全穷尽,发音读作“Me See”来自《金字塔原理》。之前部门会议上有同事也介绍过该种方式的思考方式。
-
归纳和演绎:归纳和演绎本身就逻辑能力的一部分
-
结构化思维:结构化思维的学习可以参考之前同事分享材料,也可以上网找相关课程学习。从名字上看结构就代表着有序,代表着思维的逻辑性。
-
深度思考:在这个信息爆炸的时代,非常需要大家深度思考能力,不能浅尝辄止。否则你的大脑就会变得浅薄,永远停留在信息或知识表面,缺乏独自思考能力
边界思维
接下来是工程思维中的第二个思维:边界思维。它是适用于所有工程领域,事半功倍的方法,很值得大家去学习掌握。
我们做任何事情都是有边界的,技术有边界、人工智能有边界、行业有边界、生命有边界:
- 技术边界:我们的技术可以不断提升,但是无法突破理论的边界。(摩尔定律已经逐渐开始在晶体管大小层面失效,尺寸小于5纳米的晶体管载流子行为要用量子力学来解释,除非找到新材料,当然摩尔定律可能会在多CPU层面继续发挥一段时间作用,2G 3G 4G 5G 不要在错误的方向上努力,整个空间中带宽是有上限的;光盘大小是取决于波长的,不同原理有着不同边界大小:激光盘(700M) -- DVD(红光波长限制) -- 蓝光盘(蓝光波长限制))
-
人工智能边界:我们生活的世界上所有问题中,有一部分是可以转化为数学问题,这部分数学问题中有部分是可计算的问题,在可计算的问题中有一部分是人工智能可以解决问题的,可以解决的部分当中有人工智能已经解决的问题
- 行业边界:每个行业有自己的边界,明确自己行业边界并进行设防,规避可预见性的风险和意外。今天很多低端的数码相机经常号称自己有两千多万的像素,尼康最专业的D5相机也不过就2000多万像素。所以显然是不可能的,镜头的分辨率是有极限的,这个极限和自然光的波长有关,太近两束光会互相干涉,所以镜头很小的数码相机真达到这个分辨率,成像是不可能看清楚的。像素再多都叠在一起还有什么意义?所以你不要指望1000像素手机拍的照片真有那么高的分辨率,一切都是宣传。苹果手机每个单独技术指标都不是最好的,它只是尽可能兼顾多方面需求后,在边界内把产品做到极致。
-
生命边界:生命都是有边界的,在座各位没人想成为老不死吧?在有限的生命中,做无限时间才能完成的事情就没有意义了。我们需要在有限的生命边界中,尽量让自己活好。
回到工作中,我们每个人能力都有边界的,所以需要大家一起协作,一起扩大能力边界,才能完成复杂的工程活动。相信大家懂得了边界思维后,就能理解我们所做的所有事情,其实只不过是在边界内找到相对好的答案而已,不要幻想着突破边界。孔子曰:随心所欲不逾矩,不逾矩,才能随心所欲。
量级思维—数字感性与理性测试
我先讲一个可能发生在我们身边的故事:一个程序员在一个项目开发中使用了考虑到目前业务量少,快速写了一个冒泡排序,结果被经理批评了,然后他跑来找你诉苦,请问你会怎么和他说?
正确观点大致是这样的:首先不管目前业务量多少都不应该自己去些冒泡排序来做,如果真赶时间,可以采用现成的解决方案,而不是自己实现一个冒泡排序;如果是核心业务,一个程序员怎么能预估到业务量的发展?难道都要除了问题后再优化吗?说这个故事主要是想说明,这个程序员他缺乏量级思维,所以才觉得自己行为很正确,被批评了很委屈。
我们再看下面一组问题:
- 问1:一个球直径增加一倍,体积增加几倍?
-
问2:当前会议室能装下多少个高尔夫球?
-
问3:1 + 1/2 + 1/4 + ....极限是多少?
-
问4:1 + 1/2 + 1/3 + 1/4 + ... 极限是多少?
-
问5:自然数多还是自然数的偶数多?
你都答对了吗?(答案见文末)没有答对也没关系,因为我们人类对数字特别是大数字本身就是无感的。
量级思维—大数字
人类对大数字是无感的,所以要摆脱原始脑,开启现代脑,还要擅长借助计算机的大脑。
比如数字7,现代人都知道这是个不大的数字,但是原始人3以上就数不过来了,还有古代人棋盘摆谷子的故事,他们(一部分现代人也是)缺乏指数增长概念;我们再来看个现代人王健林的小目标(美国人平均一辈子争1亿)。为什么王健林的小目标对大多数人来说就像不可能完成的目标?因为我们对数字的感觉主要受限于生活环境,你和王健林生活的环境不同,对数字大小感觉就不同了。
我再问你:围棋有多少种可能性?361个点,每个点有空,黑,白三种状态,3^361 ;请问这个数有多大?如果你不是物理学家,基本上是完全没有概念
我再问你:我们宇宙中有多少个基本粒子? 你肯定很难回答上来,你大脑的感觉是一个非常非常非常非常......大的数,已经超出你的认知范围。答案是10^80 到10^82。
那这个数和刚才围棋有多少种可能性来比,孰大孰小?围棋可能性约等于 2 * 10 ^172,比宇宙中粒子数要大太多,你想象一下每个基本粒子是一个单独的宇宙,每个宇宙也有这么多粒子,将它们全部加起来也比不上围棋的可能性,所以我们现代人比古人好不了多少,不要50步笑百步。当我们嘲笑他们怎么3就数不清了,计算机也可能h会嘲笑我们,连围棋的可能性都数不过来
人类演化速度是远远小于计算机进化速度,第一台计算机:1946年 5000次/S,已经大大超越人类;到了现在的普通电脑:几亿次/秒,如果是超级计算机,算力更是大的惊人。当我们开发一个几年后的IT产品,必须假设以今天10倍资源框架来设计,否则等你几年后生产出来就已经落伍了。
量级思维—何为量级
理解量级概念之前,我们先要了解数量级:数量的尺度或大小的级别,每个级别之间保持固定的比例(比如说10倍)。那么量级就是比数量级差距更大的概念(理性上很难理解,我们还是看感性的例子)
量级有二个非常重要的性质:
- 1 小量级的东西和大量级的东西放在一起,前者可以忽略(大O计算法)
-
2 多个小量级也比不上一个大量级(大学中的几百篇人工智能论文抵不上杰夫迪恩一篇论文影响力;一个一流工程师可能再多的三流工程师影响力也抵不了)
我们做事情,就要充分理解和运用量级思维。比如我们想获得多大成就,那么成就和那些因素有关呢?
量级思维—量级与成就
接下来我们就看看量级是怎么影响成就的。成就公式如下:
成就 = 成功率 * 事情影响力 * 做事速度
- 做事的速度:最多2-3倍的差距,数量级的差距度都很难达到
- 事情的影响力:数量级差距很常见,存在量级上的差距(前文中多个小量级也比不上一个大量级)
- 成功率:只有0-100的差距,只存在数量级差距,但是成功率取值往往是两个极端
从上面公式给我们的启发就是:扩大我们做的事情影响力,提升我们做事情的成功率。道理很简单,但是具体如何去做呢?我以开发工程师为例,和大家探讨下,其它岗位基本思想都是相通的。
提升成功率事情
- 不要好高骛远,把简单的活做到极致,慢慢的领导才能把更重要的事情给你做(很多人领导不把有挑战的活给自己,很可能是领导看过你之前干的活的质量,不敢委以重任,试想小事都做不好,怎么还敢把重要的事和大事交给你去做,即使给你,你也未必做的好,做不好的结果可能是你很难再有机会了)
-
熟悉公司业务,提升做事的速度和质量(80%工程师不重视自己公司业务,要知道技术只是工具手段,除非你掌握的工具是你自己发明的,否则你拿着市场上到处都有的工具如数家珍,岂不是本末倒置?要知道能生存下来的公司,起码业务不是市场上到处都有的,如果公司不是技术性工具类公司,那么业务才是公司能够生存的价值所在,你最应该熟悉它)
提升影响力事情
-
不要靠累计你的工时和开发速度来扩大你的影响力,而是想办法如何提升你代码的生命周期(不经过思考的代码生命周期是非常短的,国内平均3个月,你写了好多年代码,仅仅是开发速度快的话,那将不是荣耀,而是耻辱。就像打了很多年仗的士兵吹嘘自己最近一次亲手杀敌一样)
-
转变角色,不要老想着多做1%的事情,而是多想想如何在最有影响力事情中参与1%(比如俞敏洪从讲师到校长的转变,工程师写具体业务到指导流程,优化架构的事情)
递归思维-小游戏
思维小游戏
思维 小游戏:1 玩一个从1或2开始往上加的游戏,谁加到20就赢
如何保证一定赢呢?我们倒推,要先到20的话,谁先到17就赢,如此依次类推20 --- 17--- 14 ---11--- 8 --- 5 --- 2,最后是2,所以关键是2,如果你懂这个游戏规则,谁先到2谁就一定赢
这个小游戏的诀窍就是利用了递归思维,也是接下来我要介绍的最后一个工程思维
递归思维
递归思维与人类思维最大不同在于:做好顶层设计,不断简单重复自己
递推和递归
什么是递推?就是一个个往下推,比如1,2,3......;那递归呢?反过来:.....3,2,1;我们人类喜欢递推,从小的开始逐渐增大,而计算机擅长从大的开始往回递归
经典八皇后问题
我们看一个经典的八皇后问题,人类思考方式:放1个,检查,再放一个,检查,再放....所以即便是伟大的数学家高斯按照这样的方法,也只找到了76种(总共有4万多种摆法)。那如果计算机利用递归思想:几毫秒就能找出全部的答案92钟。具体步骤如下:
- 1 假设已经放好了7个,只剩最后1个了,那就在最后一行或一列按个试一遍就行
- 2 利用这个思想处理前面7个逻辑
- 3 当棋盘空的时候,从第1行开始一个个位置试
最后留个思考题,如果游戏规则改成抢40,每次可加的数为1-4
递归应用
公司中管理授权
每一级的领导只要管理好自己的下属即可,至于自己下属如何管理他们的下属,上级不用关心 。只有层层授权才能构建出一个比较大的组织结构。大家知道管理上最糟糕的管理是什么吗?是微观管理,上级规定下级做事的每一个细节(手把手教人写代码,项目负责人为了衡量某员工的工作成果自己去了解项目需求的每一个细节然后来指导员工,接到需求不喜欢用脑子做设计先写程序)
AI自然语言处理的语法分析
今年杭州千讯的营业额比去年增加了三成。计算机是如何处理的呢?人的习惯是从最小的语法单元开始学习的,先认字,再组词,然后造句。但是计算分析时候是自顶向下的,它的语法规则常常是这样的: 句子 = 主语 + 谓语部分;主语 = 定语 + 名词短语;定语 = 名词短语/形容词短语;名词短语 = 形容词 + 名词;谓语部分 = 谓语 + 宾语/状语 ......
其它应用场景:
- WBS分解和项目工期估算问题
- 网络爬虫问题
- 类似树形菜单具有父子关系数据遍历
- 模拟科学实验
从善如登从恶如崩
俗话说的好:流氓不可怕,就流氓有文化。技术也是如此,技术是没有好坏之分,主要看使用它的人。核技术可以用来造武器毁灭世界,也可以造核电站造福人类。
目前流行的互联网技术也没有好坏之分,主要看使用它的人,但是有区别的是,我们大多数人掌握的技术不足以像核技术那么强大。但是如果没有写好程序或利用做些小恶还是可能的:
- 1写bug : 一个bug引起蝴蝶效应:系统奔溃,客户丢失,公司利润下降,裁员,同事失业,家庭支离破碎。社会动荡不安.....(一个bug蝴蝶效应可能过于夸张,但是直接导致公司利益受损,部门努力白费还是有的)一个bug导致火箭发射失败,飞机故障,损失的是他人的生命(历史上就发生过多起)想象下,让你写的航天系统,你自己敢坐上去吗?所以希望工程师们不要被人贴上:写bug你是专业的标签。
-
2大数据善与恶:大数据作用很明显,让人工智能散发出了第二春,还可以帮助政府抓罪犯(用电量分析抓地下毒贩)。但是确实也存在一些人性之恶的地方:比如有些商家可以根据用户的行为来行有条件选择发假货,高仿还是正品;还有机票、商品价格都是分类对待的,一人一价(本人深刻体会到瑞幸咖啡打折券策略)
- 3机器道德观:最典型的自动驾驶汽车为了保护驾驶员,撞死行人怎么解决?相信以后除了自动驾驶,包含医疗诊断、个人护理等方面都会存在道德上的讨论。
-
4 信息安全:个人隐私被窃取,被不法分子利用,更甚者自动驾驶被入侵?智能家居被入侵?想想都可能让大家不寒而栗。
所以成为好的工程师先成为一个好人,否则就成了有文化的流氓了。所以希望大家不要破坏我们这个世界的美好,这个世界已经存在太多不幸,不是嘛?
好了本次工程思维就介绍这了,下一篇我将介绍产品思维和工程思维之间如何互相促进,做到师彼长技以助已。
备注:文中逻辑题答案,问1:7倍;问2:更具实际长宽高计算,高尔夫球直径约4cm;问3:2;问4:无穷大;问5:一样多