工程师如何高效学习

背景

最近群里内经常有工程师(尤其是工作经验浅的)会问我同一个问题:如何快速高效学习?大家似乎都很焦虑,渴望通过高效学习来提升自己,快速成长。

基于自己的实践和思考,我总结了这篇文章,希望对大家有所启发。

原则

我认为高效学习必须基于一些原则,下面是我总结梳理出来的五点,其中前面三点是根本原则,后面两点是通用原则:

一、 价值导向原则

首先,高效学习一定是有问题域或者说价值导向的。首先你要找到问题域,你学习是为了解决什么问题?这个问题的客户是谁(可以是自己)?痛点是什么?这些问题先想清楚,你再有目标的学习。没有目的的学习,充其量是娱乐或消遣。

很多工程师很勤奋努力,常常独自闷头学习,我问他你学了要解决什么问题?谁的问题?价值是什么?他却说不清楚,这样的学习是低效甚至是无效的。

所以在高效学习之前,先要学会找问题,进一步是客户和价值。价值识别和判断是现代人最重要的能力之一,说开了是个很大的话题,这里不展开。年轻人一般价值识别能力弱,一般需要领导或者导师指导,另外也可以先从识别工作生活中的小问题开始。

二、价值输出&杠杆放大原则

最好的输入是输出,高效学习需要价值输出,简单讲你学习要有东西产出(软件,文章或一次ppt分享等),而且是有价值的。光输入没有输出的学习(比如纯阅读)是低效的。产出价值有大有小,最好你还能把价值尽可能放大,因为同样投入那么多时间学习,如果你不仅有价值输出,而且能够放大价值产生更大影响,何乐而不为?这样的学习当然更高效。

价值放大一般需要借助一些杠杆,比如资金(钱),公司资源,团队,github,社交媒体等等。只要是有价值的事情,合情合理+充分利用杠杆都是OK的。

所以学习一个东西之前,你先要思考清楚我的输出是什么?有没有价值?有价值的话能不能再放大一举多得?利用什么杠杆进行放大?

三、闭环反馈原则

高效学习需要闭环反馈,简单讲你学习后输出的东西有用户会用(或消费或学习),用得好不好用户会给你反馈的。根据用户的反馈,你就有机会进一步改进你的学习,这就是一个闭环。这个闭环反馈的速度越快,你的学习就越高效;不能闭环的学习,用户不能给你反馈的,或者反馈很慢的学习是低效的。

当然这个闭环反馈离不开前面的价值和输出,无产出或者无价值,你不可能会有用户,也没有反馈,无反馈你的学习无法改进提升。

所以学习一个东西之前,你也需要先想清楚能否形成闭环?如何快速获取用户的反馈?

四、计划&优先原则

我们每个人的时间精力有限,不可能样样都学,有舍才有得,少即是多,高效学习需要计划性/纪律性和优先级。如果你样样都想学,缺乏专注和计划性,这样的学习一定是低效的。

这个东西说小了叫时间管理,说大了叫战略选择。你选择学什么,不学什么,一定是有限聚焦和有计划性的,也一定是基于前面的价值判断的。

五、复利原则

学习不可能一蹴而就,需要长期坚持积累。要在某个领域成为行家里手,视每个人的基础天赋不同,一般都需要不少于5年甚至10年的坚持和积累。复利效应被称为世界第八大奇迹,人类社会很多现象都遵循复利曲线,比如人类社会的发展,道琼斯指数,人口的发展等,学习也不例外。

在成长为高手之前,你需要耐得住长期在复利曲线底部学习积累,不断突破平原期,直到拐点来临。基本上,即使你智力平平,但只要能在一个行业领域里坚持十年不间断学习,没有半途而废,那么成长为专家高手一定是大概率事件。如果你耐不住寂寞,朝三暮四,那么必然无法形成有效积累,很可能竹篮打水一场空。

方法

根据上面提出的前三个根本原则,下面我总结梳理出一些高效学习的方法(主要针对软件工程师为例):

1. 公司级生产项目

高效学习的最直接方法就是参与公司级的生产项目,因为:

  • 公司项目必须有价值,否则公司不会傻乎乎给你发工资,你要升职涨工资只有想办法提升价值产出。
  • 公司项目必须有输出,软件,文档,产品,服务等等。
  • 公司项目一定有用户反馈,你的产出质量有问题,客户马上投诉你!

2. 公司内创新项目

有些公司有鼓励员工创新的文化,比方说黑客马拉松或者员工线下创新之类的,这也是工程师高效学习的一个好机会,因为:

  • 你自己要找问题和价值点,你的项目为公司解决什么问题?带来什么价值?然后才发起创新项目
  • 创新项目一定有输出,项目代码或demo
  • 创新项目一般有评审机制有反馈(例如demo day),获奖项目还可能升级为公司级项目,进一步放大价值获得更多用户反馈。

这类创新也未必是公司内的,你在业余时间也可以搞,国外称为side project。根据你对用户和价值的把握,以及你的投入,这类项目也有可能(小概率事件)发展成公司,实现价值放大。

3. 做开源

有些工程师对开源抱有极大兴趣,这个也是高效学习的好方法,因为:

  • 你自己要找问题和价值点,你的开源项目给客户带来什么价值?人家为啥要用你的项目?然后才发起开源项目
  • 开源项目一定有输出,项目代码和文档等
  • Github上开源项目有反馈机制,好的项目用户会给star/fork或watch,有问题会提issue,感兴趣的还会一同参与项目。

一般能在Github上做到1k stars以上,都是比较成功的项目。对于程序员,Github上的项目可以算是你最有说服力的简历。好的开源项目不仅体现技术,有些牛逼的项目还有机会发展成商业产品,提供企业服务,这个对程序员要求更高,需要积累产品化和商业化运作的能力,无论如何你从中可以学到很多东西。

4. 写作

如今自媒体时代,写博客和公众号,或者写书也是一种高效学习的好方法,因为:

  • 你首先要思考文章内容的价值点,要思考清楚:阅读你的文章能给用户带来什么收获?是干货吗?
  • 你的文章内容就是输出,爆款通过微信杠杆传播开来容易价值放大
  • 有些阅读你文章的用户会给你反馈,阅读量或者点赞或者发表评论

写作是一个需要长期坚持和积累的活,好的内容+长期积累会变成你的一个资产,给你带来无形的影响力,甚至还有变现可能,这个过程是一个非常好的学习总结提炼提升的过程。

写书不仅需要总结提炼能力,也很考验人的毅力,写完并出版一本书相当于一次小型的创业,对作者的能力提升是全方位的。

5. 分享

主动参与公司内或者行业的技术分享,也是不错的学习方法,因为:

  • 你需要准备有价值的分享内容,要思考清楚:听了你的分享用户有啥收获?是干货吗?
  • 你的ppt和演讲就是输出
  • 听众会通过现场或线下提问给你反馈,主办方也会收集满意度反馈

分享可提升梳理总结能力,还可以提升演讲表达能力,这些都是工程师职业成长(特别想往架构师或者管理方向发展的)的必备能力。另外,分享可以提升个人品牌和影响力,通过媒体平台杠杆,放大个人价值。

6. 交流碰撞

团队内组员之间的一些技术讨论交流碰撞,或者一些行业闭门会议的交流碰撞,也是不错的学习方式,这种交流的价值主要在快速闭环反馈。有时候我们团队内有些组员经常为一些技术问题争得面红耳赤,基本上只要是良性的(原则:对事不对人),我一般都不干预,有时甚至是鼓励的,因为这种交流碰撞学习效果非常好。

7. 阅读

我把传统的阅读列在最后,包括阅读源码,书籍,文章,视频课程等等,因为我觉得纯阅读(只有输入没有输出)是比较低效的学习方式,但确是大部分人通常采用的方式。我建议如果阅读是你的主要学习方式,阅读完了也要回到上面列出的方法,思考并找一个问题->解决问题产生输出->获取用户的反馈->改进,这样闭环才能实现高效阅读。

结论

  • 高效学习的基本原则是价值导向,有价值输出(且尽可能放大价值),有用户反馈。
  • 最好的输入是输出,高效学习是闭环学习,反馈越快则学习越快。
  • 高效学习要用好各种可能的杠杆(钱,公司资源,团队,github,社交媒体等等),实现价值放大。
  • 在基本原则的基础上,高效学习仍需计划性和优先级。高效学习遵循复利曲线是一个长期积累不断突破的过程。
  • 上文提出的高效原理不仅适用于学习,也同样适用于工作,甚至是创业。形式不同,原理相通。

下图是高效学习的概念模型,帮助大家记忆。

  • V – Value
  • O – Output
  • F – Feedback
  • I – Improvement

摘自:https://mp.weixin.qq.com/s/6AKYlczi2S6DqCAGWc8VQA

欢迎关注下方“非著名资深码农“公众号进行交流~

发表评论

邮箱地址不会被公开。