这篇文章是读了某位技术大咖的文章后的一个读书笔记,这位技术大咖思想比较激进,尤其是政治导向非常的左倾,因此他的博客在国内不可以直接访问。
抛开他的政治观点,择其善者而从之
,我觉着他提出的学习技术的三部曲:WHAT、HOW、WHY很实用,可以推而广之,不仅仅适用于技术,也适用于所有的专业领域。
什么是 WHAT、HOW、WHY
第一步:WHAT
what, 即what is it
,是学习知识最最简单的层次,首先你要弄清楚你要学习的这个特点是什么?有什么特性?
举例而言,假如我们现在要学习Python中的数据分析相关的库 pandas
,首先我们要清楚pandas是什么?它提供了哪些数据处理和数据分析的方法?这些方法怎么使用,语法是什么?
在 WHAT HOW WHY 这3个层次中,这个层次是最简单的,一般人都可以很快掌握。但是从 WHAT 层面了解到东西,通常只反映出事情的表面现象
,而表象跟本质,往往是不同的,甚至是相反的。如果仅仅停留在 WHAT 层面,很可能会被表象
所误导。
就像从事产品经理工作,在接受到用户反馈的需求后,这个需求往往都是表象
,需要对其进行分析,探究用户产生这个需求的本质,进而才可以提出更好的解决方案。
第二步:HOW
how,即 how to do ?
在这个层次,我们要搞清楚某个东西是如何
运作的,如何
实现的。
还以Python中数据分析库pandas
为例,在了解了padnas
是什么,怎么用以后,我们要对pandas
进行更进一步的研究,例如pandas.read_excel()
的实现机制,它是如何通过输入一个excel的文件路径,就将这个excel转变为DateFrame对象的,转换为DateFrame对象后是如何实现对这个DateFrame对象进行排序、筛选、去重以及内外联接等操作的。
我觉着我对Python的使用目前就只到了这一步。 所以我在我的个人简历中,对Python的技术描述为:熟练使用
和 WHAT 层次不同的是,HOW 层次需要掌握一定的逻辑思维方法,有时候还需要去查阅文献资料求证来求证。
第三步 WHY
这一步是基于HOW
的基础,我觉着我还没有到这一步,所以就不举例了,直接引用作者的原文吧:
所谓的“WHY”,就是搞清楚某个东西【为什么】设计成这样?【为什么】不是另外的样子?这样的设计有什么讲究?……
说实在的,善于问“为什么”有一定的天赋成分?好像某个科学大牛曾经说过“提出问题有时候比解决问题更难”。一般来说,只有当你【深刻理解】了某个东西,才能够针对这个东东的【设计】问出一些问题。所以,我前面强调过,要先把 HOW 的问题搞清楚,再来考虑 WHY 的问题。
WHY 类型的问题有个特点:这类问题很发散且数量很多。因此,对于某个具体的事物,总可以提出几十个(甚至上百个) WHY 类型的问题。在这么多个问题中,只有少数几个是【切中要害】的。所谓“切中要害”的问题,就是那些会把你引向该事物【本质】的问题。
如何才能直接提出切中要害的问题?老实说,这没有捷径。只有经常思考的人,才能逐渐掌握这种“直接命中要害”的思维能力。 一旦提出 WHY 问题,接下来自然就是寻找答案。 显然,WHY 类型的问题比 HOW 类型的问题更难回答——在回答 WHY 类型问题的过程中,你不但需要动用分析、推理、归纳、总结等各种思维能力,可能还要运用到跨领域、跨学科的知识。但是收获也是很大的。一旦把这些 WHY 类型的问题想明白,你就对整个事件有一个既宏观又深刻的认识。
不过,对于WHY
这个程度,我觉着要因人因事而已,具体问题具体分析,例如说我现在从事的职业为数据分析师,我现在熟练掌握了Python,可以使用Python完成数据处理、数据分析、以及使用逻辑回归等常用的机器学习算法进行数据挖掘,对我而言,Python也好,机器学习算法也好,只是一个工具,就像我使用的excel,我只需要知道怎么用就好了,至于他们是怎么实现的,其实无论我能否掌握都不会影响我的工作。
就像我们要从当前所在的地方去到一个千里之遥的地方,我们可以选择驾车,可以选择乘坐火车,也可选择乘坐飞机,这些都只是我们要实现到达目的地的工具,我们不用去关心汽车、火车、飞机是如何造出来的,怎么去改进这个交通工具的设计。
但是从另外一个角度而言,假如你就是生产汽车、火车、飞机的设计师或者工程师,那么你肯定不仅需要考虑WHY
这个问题,还要不断地去改进你的设计。
结语
学习还是要讲究思维和方法的,尤其是对专业知识领域的学习。 掌握了正确的学习方法,可以事半功倍。 共勉。