如何快速学习一门新技术
1.什么是技术?
技术是什么?技术有哪些共性的要素,我们在谈论技术在谈论什么? 软件的技术和其他技术没有什么区别,程序员作为新时代的纺织工,需要拥抱新技术,时代浪潮滚滚向前,很快就有纺织机来替代我们。学习操作纺织机的技术就尤为重要,AI就是那台纺织机。这里探索一下如何学习新技术,技术的共性要素,形成套路,减少面对新技术的焦虑。只要掌握了学习的方法,庖丁解牛,对未知的技术我们也会了一半。
这里以类与对象的思想,技术分为技术要素和学习技术的方法,作为技术这个类的属性和方法。无论什么技术都衍生自这个技术的基类,学习的方法是共用的。
class technology{public elements;public learnMethod()
};
一项技术是为了解决某个问题、解决需求、创造某些需求的。技术有如下属性:
技术要素 | 举例(空调制冷为例) |
---|---|
此技术解决的问题 | 解决夏季天气热问题 |
需求(解决or创造的) | 满足人们夏天降温需求 |
解决方法 | 冷气循环 |
技术原理 | 压缩机+冷媒 |
落地方案(工程性实践) | 外机+内机 |
此技术引入的问题处理 | 氟氯昂问题,温室效应 |
技术演进和生命周期 | 热泵->多联式->智能化 |
社区贡献和创新 | 空调制冷技术研究、能耗优化等。 |
了解了哪些技术要素和掌握程度,才能说掌握了某项技术?借用“北大屠夫” 陆步轩的对“匠”和“家”的理解,这里对程序员也做一个分类。
1)员 (初级):会用,熟悉流程
2)匠 (中级):了解原理
3)家 (高级):能够发明创造
我们说掌握了某项技术应该至少了解如下技术要素,掌握了技术原理才算掌握该技术,但是原理这个词很大,是一系列的逻辑链条的集合,又可以拆分成:背景、解决的问题、方案选型等等。
技术要素 | 掌握 |
---|---|
此技术解决的问题 | Y |
需求(解决or创造的) | Y |
解决方法 | Y |
技术原理 | Y |
落地方案(工程性实践) | Y |
此技术引入的问题处理 | Y |
技术演进和生命周期 | N |
社区贡献和创新 | N |
2. 明确需求
为什么要学习一门技术,我这里主要分为如下两类
1)技术储备 => 技术交流,大而全,注重原理学习,技术要素都要掌握。
2)项目需求 => 实际落地,注重快速落地方案。
两种场景,对技术的学习是选择性取舍,项目需求应该优先满足如下需求,然后再逐步完善。
技术要素 | 项目需求 | 技术储备 |
---|---|---|
此技术解决的问题 | Y | Y |
需求(解决or创造的) | Y | Y |
解决方法 | Y | Y |
技术原理 | N | Y |
落地方案(工程性实践) | Y | Y |
此技术引入的问题处理 | N | Y |
技术演进和生命周期 | N | Y |
社区贡献和创新 | N | Y |
3. 技术调研(WWH模型)
WWH模型:what?why?how?
- what
这个技术的简介,有个概览,建立基本认知。
- why
解决的问题和需求背景学习,这个很重要,解决问题是技术这个逻辑链条的起点,这是“所以然”,懂得解决问题的核心,后面解决方案和原理学习才能水落石出。
- how
利用哪些技术解决这个问题,依赖的技术学习,以scqa方式,了解设计原理。这里要掌握核心技术特点,解决的关键问题,建立核心的逻辑链条,这个是后续跟人讨论的基础。
- 实践
从使用加深认知,快速验证方案。
ps: 这个章节比较虚,只是提供一种思路,心中掌握WWH模型即可。
4. 落地方案
公司项目落地时需要从如下几个方面入手:
1)公司已有资源了解,避免重复造轮子
2)竞品调研:了解竞品功能,建立基础功能认知,行业通用的设计规范和考量。
3)交期和需求讨论:需求无法满足时,要积极讨论,做取舍。拿出折中的可落地的方案,而非完美的方案。
4)快速评审,以评审加速方案完善。
5. 学习途径
- LLM first
一定要站在巨人的肩膀上,从提炼的核心精髓到细节,从大到细,LLM > 视频教程 > 博客 > 官方文档。
6. 记忆和笔记
人的记忆是有限的,且是有特点的。逻辑性强的的容易记住(有完整逻辑链条的容易记住),没有逻辑链条与其他元素和实物关系少的记不住。
哪些记在海马体里,哪些记在笔记里?
1)海马体:原理、背景,关键问题,提炼总结成短语,形成逻辑链条记在脑海中。
2)笔记:容易重复踩的问题,比如环境搭建、调试记录,过程式、不讲逻辑的。笔记形式提供。
输出文档:
-
费曼学习法表格:以费曼学习法,以简短的话,快速向别人介绍清楚。每个技术要素整理关键点,核心问题,核心链条。,应对领导和同事之间的询问和“抽查”。
-
学习笔记:学习心得、调试问题记录,草稿
-
技术调研文档:技术交流
-
方案设计文档:实际项目设计