学习之前先想清楚一个问题,什么是学习能力?
学习能力可以认为是知识体系+做事逻辑,绝大多数人只看到知识本身,但看不到也想不到逻辑,逻辑对照上文你可以认为是整理网盘资料的逻辑,提取需求的逻辑,安排时间的逻辑。比如你说你会自动化,但你没有结果,领导不会说你不会写自动化,但可能会说你能力不够,落地不了。本质上是因为你逻辑这块缺失,直接导致你没有实际产出,也间接导致你的知识体系本身并不完善。逻辑就是让你能够把东西和问题联系起来,并有助于构建知识体系。
知识体系如何构建?
举个例子,你看一本书,如果都是从第一张循序渐进开始看,其实是比较难得,容易陷入某一段里面,也没法产生联系。如果要掌握一本书,建议你先看目录,先了解知识大网包含的内容,对每一章节的知识有了层次,这样会让你事半功倍。我们有时候发现有的人学习起来特别快,但并不一定是智商一定比你高,而是他找到了进入这个领域的脉络图。
写博客/公众号
看的东西做笔记,走马观花很容易忘记也不能深入掌握知识,笔记可以整理出要点和知识盲点,把笔记放在博客或者公众号上,有利于互动反馈,如果有更多的赞赏会让你更有动力做这件事情,促使你更快速的提升。
场景式学习、面对问题学习
挖掘问题或者需求的能力。讲心里话,如果一个同学入行三五年,他还是认为他工作中没有自动化需求,我是觉得这样的同学不管是知识体系和逻辑都不会很好;有的同学学Python,每次都从列表,字典开始学,至于工作中怎么用还是一头雾水,比如你在jira上根据项目或者owner去统计bug的数量,首先这个需求是你自己提取出来的,是你职责内的需求,其次你实现了这个需求我对Python中的字典又有了进一步的理解,通过这样的学习方式你也会获得职场给更多的正向反馈。不要想着靠别人带着你学习,督促你学习,没有人负责为你的成长买单。
逻辑怎么构建?
最核心的要素就是实践+复盘,实践跟怎么学习是一脉相承的,复盘会帮助你找到每次实践的缺陷和修正你的思考方式以及经验补充。在这个过程中,从别人身上汲取营养也是很重要的,最好不要过度使用别人的的时间。
举一个我看到的例子:应用刚启动连数据库比较慢,怎么排查?
通过tcpdump来分析网络包,看网络包的时间戳和网络包的内容,然后找到了具体卡在了哪里。
性能测试/DBA可能会通过show processlist 看具体连接在做什么,比如看到这些连接状态是 authentication 状态,这个状态是创建连接的时候MySQL需要反查IP、域名这里比较耗时,通过配置参数 skip-name-resolve 跳过去就好了。
如果是MySQL的老司机,一上来就知道连接慢的话跟 skip-name-resolve 关系最大。
在我眼里这三种方式都解决了问题,最后一种最快但是纯靠积累和经验,换个问题也许就不灵了;第一种方式是最牛逼和通用的,只需要最少的知识就把问题解决了。
那时候我还是职场菜鸟,我不会轻易去打搅大佬问大佬,每次碰到问题我尽量让他在我的电脑上来操作,解决后我再自己复盘,通过history调出他的所有操作记录,看他在我的电脑上操作啥了再去搜索查看,然后一个个去学习分析他每个动作,去想他为什么搜这个关键字,复盘完还有不懂的再到他面前跟他面对面的讨论他为什么要这么做,知道他这么做的知识和逻辑是什么。
真正拉开差距的是你的实践+思考方式,千万别让网盘里的资料害了你。