阿里妹导读:学习是我们从呱呱坠地开始就在进行的事,从简单的模仿,到系统的训练,学习对我们而言似乎已经习以为常。然而,我们真的学会学习了吗?学习的终极目标是什么?技术性学习思维又有什么不同?本文从结构化思维说起,分享学习如何学习的方法。
试想,接手一个新的业务方向,业务方的诉求是要求你能快速熟悉并投入,你会如何去应对这样的挑战呢?再试想,作为一名风控技术的新人,你需要在原先的防控策略上引入新的图计算技术,又该如何快速学习新的技术,从而达成业务目标?如何你恰好听说过XY问题的理论,你就会知道,上述问题其实都是笔者抛出来的Y问题,X问题是我们到底应该如何快速去学习一项新的课题。XY问题是他人询问自己的尝试的解决方案Y,而不是实际问题X。这会浪费大量的时间和精力,无论是寻求帮助的人,还是那些提供帮助的人。
来看这样一个例子,一个平台战役KO前的准备工作,有A组和B组两种划分方式。
以上例子中,B组比A组多出了一个“维度”,将原来的元素进行了归类分组,从而让整体信息更有条理和逻辑,也更方便记忆。我们身处信息爆炸的环境,但是信息不等于认知,大脑需要将接收到的信息进行加工处理,最终形成认知并在需要时迁移运用,这样的过程就是思维。信息的加工处理是及其复杂的过程,需要一套科学的方法论来提高工作效率,结构化思维应运而生。结构化思维是一个建立清晰、稳定、有序的思考结构,有助于我们将知识体系从零散到系统化。我们常用金字塔结构进行结构化理解和思考,金字塔结构是《金字塔原理》一书中提出来的概念,它是将结构化思维具象成类似三角形结构的树状图,直观地体现了由结论、论点、论据组成“先总后分”的立体化分析方式(纵向结构),再通过归类分组的方式将信息排序和穷尽(横向结构)。
有意思的是,金字塔结构先总后分,我们看表象似乎横向结构越扩越宽,信息越来越多。事实上随着信息的归类分组,信息开始知识化、系统化,信息越加工越少,如果再次提炼形成自己的方法论层面,最终可以变成一种长波记忆。如下图所示,当我们遇到某项课题的海量信息时,需要做到像“漏斗”一样的思考过程。
在前言中,笔者抛出几个问题,我们来思考一下,结构化思维能帮助我们快速的学习好一门课题吗?我们尝试用结构化思维来解决这个问题,从学习本身这个课题来看,先从维基百科[2]获得学习的定义:学习是透过外界教授或从自身经验提高能力的过程,从狭义角度来具体描述是通过阅读、听讲、研究、观察、理解、探索、实验、实践等手段获得知识或技能的过程,是一种使个体可以得到持续变化(知识和技能,方法与过程,情感与价值的改善和升华)的行为方式。
对学习这个课题进行分析,从狭义的角度,学习经过横向拆解可以分为收集、加工、沉淀、使能四个方面,而结构化思维是一种结构化的思考和理解信息的过程,和学习这个课题的整体纵向结构匹配可以得出结论,结构化思维主要可以帮助完成学习的加工阶段,小部分覆盖到学习的沉淀阶段。因而我们可以得出一个简单的结论,对于学习而言,只有结构化的思维还不够。
在阿里巴巴公益培训Java柚子训练营开班第一期分享上,孤尽老师分享了学习四部曲,即记忆、理解、表达、融合。记忆是信息获取的第一步,就像CPU运算时,要先把数据读取到内存一般,有记忆的数据才能被大脑加工处理。如何高效的记忆呢?事实上,记忆的第一性原理还是重复,但在实际工作学习中,有一些方法能够帮助大脑更容易记住信息。有场景的信息有助于记忆
有规律的信息有助于记忆
有分类的信息有助于记忆
有图像的信息有助于记忆
自然连接的信息有助于记忆
如果没有在记忆之前进行思考,单纯的重复效率不敢恭维。举个例子,下面有两组词语,哪组更容易在极短的时间里面记住呢?第一组是抽象的名词,而第二组是具象的物品,显然第二组能让我们更快想到具体的场景画面,并且还可以用结构性思维快速给它们分门别类,形成短波记忆。快速记忆之后的内容是还没有消化的内容,很容易忘记,需要重复的理解,将知识内化成自己的认知的一部分,并且要去表达,传递出去,让内化的知识能够使能,边学边实践才能融会贯通。孤尽老师以记忆这一要素为启发点,告诉我们要培养快速学习的能力,讲究方法和努力,并且要学会如何学习。值得分享的是,很多时候我们是不知道自己不知道,没有仔细去思考过如何学习本身这个命题,往往一头扎进自己的业务和工作中,不可自拔,没有跳出来看看一些根本的要素。再举个例子,Java中,LinkedList是单向链表还是双向链表?在很多开发同学的固化思维里面就是单向链表,并且在使用时也不清楚是否是合适的场景,在学习的四部曲里面其实只做到了第一点,记住了有这样一个List子类,后面的三部曲统统没有做到。再如,浮点数为何会有精度问题,为什么损失精度后是这样一个结果,如果脑中没有出现计算机浮点数清晰的存储结构图(有图像的信息有助于记忆),那在学习的过程中就有很大的缺失。
从技术同学的角度出发聊学习思维,我们不妨先从领域驱动设计(Domain-Driven Design)开始。在支撑业务时,要正确地理解业务领域,对问题域进行分析和领域知识建模,其中一种生动的方式就是6W模型,即描写场景的过程必须包含 Who、What、Why、Where、When 与 hoW 这六个要素,领域专家或业务分析师从领域中提炼出“场景”,我们在学习领域时,就好像是在讲故事,又好像是在拍电影。6W 模型如下图所示:
软件的实现依赖于现实问题域的知识模型抽象,而这个知识模型的构建事实上是技术视角下学习思维的表现(下称技术性学习思维),在领域驱动设计中,主要分为战略建模和战术建模,其中战略到战术的思考本身可以看做是一种纵向到横向的信息归类,以便于我们结构化、有序化的理解和思考。我们说软件是自动化现实世界的过程,首要任务就是学习这些过程,同时技术性学习思维要比常规的认知更加具有挑战性,除了将信息加工成知识,还需要进一步将知识模型化,再用计算机语言去表达这些知识模型,模拟现实世界的过程。软件开发困难吗?我想难,但也不难,好的设计和不好的设计都有能支撑业务的例子,但我们更期望有好的设计,怎么做设计好的软件呢?没错,这又是一个Y问题,X问题是我们如何学会学习。以笔者所从事的风控领域为例,要快速学习风控的知识,支撑起阿里及蚂蚁集团的国际战场。对收集的信息进行整理、记忆之后,从风控思想视角,可以概括为如下的价值和描述:一句话价值:风控价值 = 业务助力 + 有效拦截 - 业务打扰
而对相关概念加工整理和思考后,对风控技术进行理解,其中一种抽象的方式,把风控看成公式:
其中 s 是策略体系,u 是变量体系,var 是变量。 可以看到学习的过程是将一个庞大课题聚焦到核心要素,并且建立易于理解的模型层面,但这依然处在学习的中期甚至是早期阶段,还需要不断的表达和融合,内化为自己一部分。在风控领域其实还有很多方面需要下探,有一种还不会真正学习的意识也是巨大的收获,能敦促自己朝着更体系化的目标而去,最终能融合成自己的学习结果,并有所领域产出。快速学习是一种能被强烈感知到的诉求,受到阿里柚子训练营的启发,其实有时候焦虑的背后是因为自己还没有学会如何学习,还是按照从前的方法在重复。学习如何学习是一种技能,要知道自己不知道,我们的终极目标还是要让自己能在有限的时间里高效的学习,而学习的终极目标不是沉淀,而是知识的表达和让自己持续性的变化。[1]https://pic3.zhimg.com/80/v2-9f3d9e9f8509ab2b4a92eca459f196c6_720w.jpg
[2]https://zh.wikipedia.org/wiki/%E5%AD%A6%E4%B9%A0
- EOF -
想要加入中生代架构群的小伙伴,请添加群合伙人大白的微信
申请备注(姓名+公司+技术方向)才能通过哦!
阿里技术精彩文章推荐
END
#架构师必备#