快速学习新技术的技巧?

随着工作年限的增长,经验的不断丰富,我开始寻找下一阶段的个人发展目标。作为一个学习者,在过去的几年里,成果大抵是卓有成效的。可无论是学习还是应用新的技术,都需要一个短暂的学习与练习,才能获得相应的经验。这就造成了一个冲突,日益增长的技能需求,同不足的时间之间的矛盾

练习不练习?练习的话,又得练习多少?怎么练习?

在时间限制的情况下,我们要怎么去解决这些问题?

练习式学习

我的模式比较固定,一般是就是这么几步:

  • 实践一些新的技术和概念(要比其它人快半步)

  • 抽取这些技术和概念,造建一个新的轮子

  • 把造轮子、实践的过程写成文章

  • 系统性的把这些文章整理成电子书

这个模式从我毕业一直玩到现在,不敢说对所有人都适用,但是对我的效果倒是相当的不错。所以,大可以称之为 Phodal 学习模式。

640?wx_fmt=png

Phodal's Pattern

如我最近半年研究的 Serverless 和微前端都是采用同样的模式,AWS 可以使用 Node.js 来开发 Serverless 应用。

Serverless。我先实践用 AWS 玩 Serverless 的一系列玩法,在我的 GitHub 上堆了一堆相关的代码,然后输出了一系列的文章:phodal/serverless,方便后人学习和 star(我就是这么鸡贼)。本来我打算自己造个 Serverless 的轮子,但是涉及的知识太广了,一个人短期内造不过来就放弃了。

微前端。仍然的,我也是找到 Single-SPA 这样的框架,进行一些尝试。然后造自己的轮子:phodal/mooa,接着输出一系列相关的文章:phodal/microfrontends,方便后人学习和 star。于是,我继续在探索微前端的实践,最近在造一个新的轮子。

基本就是:先无脑地输入,再总结、思考输出,最后系统性整理。

整个过程下来,会发现它会不断地提高我们的抽象思维能力(或者说总结能力)。我们需要不断的整理现有的知识,然后将它与过去的内容进行对比。一来二去,不但提高了新技能的掌握,还复习了一下旧的知识。

640?wx_fmt=jpeg

于是,你是否也发现了问题,这种练习方式特别浪费时间

翻译改善学习

640?wx_fmt=jpeg

在一年前,我尝试过一种新的方式,翻译技术文章来学习新的知识。而翻译的时间,则集中在工作时候的午休时间里,大家都在休息、游戏、睡觉,稍微减短一下休息时间。我就获得了翻译一篇文章的时间,于是我用这些时间来翻译一些物联网相关的文章。累计到今年的三月初,最后大概翻译了 180 篇文章左右,差不多是半年的跨度。

在这段时间里,我快速、低成本的获得了大量物联网、智能音箱、智能家居领域相关的知识,构建了整个生态的相关索引。并且用这些内容构建了一个网站:玩点什么,我便拥有了一个丰富的知识储备图库,也掌握了丰富的知识。

唯一的问题是:没有成就感。是的,翻译别人的文章是没有成就感的一件事。尽管在翻译文章的过程中,我们在不断以作者的角度来看待问题,但是归根到最后我们不是作者。我们成了一个为了布道而翻译的布道者,而不是在写文章的同时,顺便成为了一个布道者。

写作驱动学习

为了提高学习知识的效率,我曾经采用 “写作驱动学习” 的套路,即以输出为向导的输入——以追求学习金字塔的高效留存率

640?wx_fmt=jpeg

学习金字塔

它是将实践作为学习的辅助,而不是以实践为基础的输出。但是这种方式对我的体验不好,我是在为结果而练习,而不能享受整个过程。但是模式本身是一种好的模式,只是不适合自己罢了。

如我之前的文章所说,以写作驱动思考的学习模式,有这么一些优点:

  • 对于我们所要学习的东西,可以掌握得更深入——因为我们需要向别人解释清楚。

  • 除去收获所学习的东西,我们还可以有副产品——博客。

  • 我们在以另外一种方式思问题。

  • 我们在不断地对自己知识总结,对自己知识的一个强化。

当然了,它也有一些缺点:

  • 可能会花费更多的时间,在诸如写作这点事情上

  • 有时学习的结果是为了写作

  • 付出不一定有相应的回报

不过,对于只享受结果的童鞋来说,这种方式也是一种不错的方法。

练习技巧

在这个过程中,我掌握了三种还算不错的练习技巧:直接造新轮子 + 输出反馈下一个输入 + 仪式感

直接造新轮子

640?wx_fmt=png

实际上,这部分是上面的模式中的一部分。学习,意味着我们掌握再有的轮子。破,即我们在现有的轮子上创新。这并不意味着,我们是在学习新技术之后,再去创造一个新的轮子。即在练习后,再去深入了解相关的知识。

有很多时候,我们可以直接拿要学习的新框架、新技术,它对于我们理解新的技术来说更有帮助。这种方式可以让我们有足够的动力,以让我们深入了解技术本身的一些实现。

  • 在学习 Virtual DOM 的时候,我写了测试代码生成框架 Luffa。在边实现的过程中,我需要不断地修改 Virtual DOM 的代码。

  • 在学习轻量级架构决策记录的时候,我写了相应的 Node.js 版本的工具 ADR。是的,我也是在学习相关概念的过程中,造了新的轮子。

同样的,这种方式的学习,也会花费大量的练习时间。如果你的时间越来越紧张,那么这种方式可能也不适合你了。

回顾:输出反馈下一个输入

由于,新的技术一般需要有 1~N 个月左右的学习时间,我们才能掌握得差不多。这里的时间对应的是业余时间的学习,即使我在不加班的情况下,我觉得至少还需要这么长的时间。于是,每次练习的时候,如果我们不能高效的学习,花费的时间就更多。一年下来,我们所能掌握的新技能也是有限的。

于是,我们需要类似于敏捷的方式来改善自己的学习方法,即回顾。每次练习完,回顾一下这个周期里做得如何。然而,我通常是进入下次练习的时候,才会总结上一次的练习经验。思考这些经验,将其用于设计计划上。

休息开启仪式感

640?wx_fmt=jpeg

在一个正常人的眼里,工作和生活是分开的。在这之间需要有一个界限的,尽管随着 Title 的升高,这种界限可能会变得模糊。但是,在未来的一二年里,对于我来说是不会发生这种事情的。所以,在生活与工作之间便是有一个明显的界限。尽管偶尔会有一二个技术问题困扰我,让我回家也在思考工作,但是总得来说时间不多。

晚上六七点回到家里,基本上就是非工作状态了,我可以吃个饭,看会美剧,然后休息会眼睛,接着在八点左右开始业余技术的生活了。在这段休息时间里基本分开了两段时间。

一个仪式性的休息就这么愉快地切换过来了。

未来的学习?

过去我采用的模式,能解决我遇到的新的问题,并带来一些额外的知识。

640?wx_fmt=jpeg

而在最近几个项目的里,我发现我不得不在没有相关经验的情况下,快速得到一些关于该技术、架构的“应用经验”。为了得到更准确的结论,只能:快速收集各式各样的资料,从中整理得出一个相对准备的结论。而作为一个资深的作者,我深知每篇技术文章在写作的时候,作者的趋向性会影响到文章的内容。与此同时,涉及到两个事物对比的时候,往往对于另外一个事物不是非常深入。

因此,在这种情况下,整理资源就变得相当困难。就好比是公司内的八卦,口口相传导致事情发生了很大的变化——作为最后一个知道的人,你知道的结果是:谁和谁在一起了,可实际上他/她们可能只是一起吃了个饭。

学习是一种通用的技能,如果我们在 A 领域采用了某种学习方式 ,那么有些方式也能扩展到 B 领域。可是,一旦我们 GET 了一个好的方法来掌握这项技能,那大抵是能改善一下性生活的质量的。

开启学习开关?

640?wx_fmt=jpeg

在我刚结束不久的软技能培训里,我发现了一些软技能是很难练习,但是他们可以观察到的。那么,我们是否能通过这种方式来学习?

它依赖于我们能识别对方所用的技能,然后才能学习如何去使用。

其它方式

你呢?有什么学习方法?

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果你想快速上手人工智能技术,建议你先从以下几个方面开始: 1. 了解基本概念:首先要搞清楚什么是人工智能,什么是机器学习,什么是深度学习等基本概念。 2. 选择合适的学习方式:可以通过课程、教程、视频、书籍等方式学习人工智能,选择自己喜欢的方式。 3. 安装必要的软件和工具:人工智能的学习往往需要用到许多软件和工具,例如 Python、TensorFlow、Keras 等,需要在学习之前先安装这些工具。 4. 尝试实践:学完基本知识后,可以尝试着用自己学过的知识去实践一些简单的项目,这样可以加深对知识的理解,同时也可以对自己的水平有一个初步的判断。 5. 不断学习:人工智能是一个非常庞大的领域,无论你是初学者还是有一定经验的人,都应该持续不断地学习,才能不断提升自己的能力。 ### 回答2: 想要快速上手人工智能技术,可以按照以下步骤进行: 1. 学习基础知识:人工智能技术涉及很多概念和算法,如机器学习、深度学习、神经网络等。可以通过参加在线课程或阅读相关书籍来建立起基本的理论知识。 2. 掌握编程语言:人工智能技术使用多种编程语言,如Python、R等。选择一门常用的编程语言,并通过编程练习来熟悉语法和基本操作。 3. 实践项目:通过完成实际项目来应用所学的知识。可以选择一些开源项目,参加在线竞赛或实习,这样可以逐渐提升自己的技术水平。 4. 学习工具和框架:人工智能领域有很多开源工具和框架,如TensorFlow、PyTorch等。熟悉并掌握这些工具和框架,可以提高开发效率。 5. 深入研究论文和最新技术:订阅人工智能领域的期刊、会议等,关注最新的研究成果和技术趋势。参与相关社群或论坛的讨论,与其他人交流和分享经验。 6. 参加培训或进修:有针对人工智能技术的培训课程或学习计划,如人工智能工程师证书等。可以选择适合自己需求和时间的培训方式,提升专业能力。 7. 不断实践和持续学习:人工智能技术是一个不断发展和演进的领域,需要持续学习和实践。可以参与研究项目、开发应用、阅读文献等,以保持对最新技术的了解,并不断提升自己的技能。 总之,快速上手人工智能技术需要建立基础知识,掌握编程语言,通过实践项目来应用所学知识,学习使用工具和框架,深入研究最新技术,参加培训或进修,并不断实践和持续学习。通过这些步骤,可以更快速地掌握人工智能技术。 ### 回答3: 要快速上手人工智能技术,可以按照以下几个步骤进行: 第一步是了解基本概念。人工智能是一门涉及多个领域的综合性学科,包括机器学习、深度学习、自然语言处理等。可以通过阅读相关书籍、在线教程以及观看视频课程,了解人工智能的基本概念和原理。 第二步是学习编程和数学知识。人工智能技术的实现需要掌握编程语言和数学知识,特别是统计学和线性代数。可以选择学习一种常用的编程语言,如Python,以及学习数学基础知识。 第三步是实践项目。通过实践项目可以加深对人工智能技术的理解与应用。可以选择一些开源的人工智能项目或者参加在线的人工智能竞赛,如Kaggle,从中学习解决问题的方法和技巧,结合实际应用场景,提高技术水平。 第四步是与专业人士进行交流。人工智能领域发展迅速,与人工智能专业人士进行交流可以获取更多的学习资源和进一步指导。可以参加相关的行业或学术会议,加入人工智能的社群或论坛,与其他人工智能从业者交流心得和经验。 第五步是持续学习和更新知识。由于人工智能技术日新月异,要快速上手人工智能技术就需要不断学习和更新知识。可以定期关注最新的研究成果和技术进展,阅读相关的学术论文和技术博客,参加相关的线上或线下培训课程,保持对人工智能领域的敏感度和学习态度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值