焦焦虑虑的的时时代代,,工工程程师师如如何何高高效效学学习习??

2020 年 5 月 29 日

焦焦虑虑的的时时代代,,工工程程师师如如何何高高效效学学习习??

介绍


最近团队内经常有工程师(尤其是工作经验浅的)会问我同一个问题:如何快速高效学习?大家似乎都很焦虑,渴望通过高效学习来提升自己,快速成长。基于自己的实践和思考,我总结了这篇文章,在周会上给团队分享,希望对大家有所启发。


原则


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


一、 价值导向原则


首先,高效学习一定是有问题域或者说价值导向的。首先你要找到问题域,你学习是为了解决什么问题?这个问题的客户是谁(可以是自己)?痛点是什么?这些问题先想清楚,你再有目标的学习。没有目的的学习,充其量是娱乐或消遣。很多工程师很勤奋努力,常常独自闷头学习,我问他你学了要解决什么问题?谁的问题?价值是什么?他却说不清楚,这样的学习是低效甚至是无效的。


所以在高效学习之前,先要学会找问题,进一步是客户和价值。价值识别和判断是现代人最重要的能力之一,说开了是个很大的话题,这里不展开。年轻人一般价值识别能力弱,一般需要领导或者导师指导,另外也可以先从识别工作生活中的小问题开始,关于如何发现问题的真正所在,建议大家阅读《你的灯还亮着吗》这本经典书[附录 1]。



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


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


价值放大一般需要借助一些杠杆,比如资金(钱),公司资源,团队,github,社交媒体等等。只要是有价值的事情,合情合理+充分利用杠杆都是 OK 的。所以学习一个东西之前,你先要思考清楚我的输出是什么?有没有价值?有价值的话能不能再放大一举多得?利用什么杠杆进行放大?


三、闭环反馈原则


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


当然这个闭环反馈离不开前面的价值和输出,无产出或者无价值,你不可能会有用户,也没有反馈,无反馈你的学习无法改进提升。所以学习一个东西之前,你也需要先想清楚能否形成闭环?如何快速获取用户的反馈?


四、计划和优先原则


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


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


五、复利原则


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


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



方法


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


1. 公司级生产项目


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


  • 公司项目必须有价值,否则公司不会傻乎乎给你发工资,你要升职涨工资只有想办法提升价值产出。

  • 公司项目必须有输出,软件,文档,产品,服务等等。

  • 公司项目一定有用户反馈,你的产出质量有问题,客户马上投诉你!


有些同学比较幸运,有机会参与公司的核心项目,这种锻炼学习最高效。比方说我们团队有一些扛流量的核心项目(网关和消息系统等),这种项目的挑战和压力不是一般的大,小闪失可能一堆人会在背后 P 你,大闪失可能饭碗都不保。但是压力和成长一般成正比,扛得住压力,经过这种项目的磨砺,成长也不是一般大。


在公司内放大价值,你要充分利用公司的各种资源作为杠杆,包括软件,机器,团队和资金等等。


公司级核心项目数量有限,不是每个人都有机会参与,但你不能干等,要自己积极主动去争取。争取不到这种机会也不用灰心,因为还可以通过下面方法另辟蹊径。


2. 公司内创新项目


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


  • 你自己要找问题和价值点,你的项目为公司解决什么问题?带来什么价值?然后才发起创新项目

  • 创新项目一定有输出,项目代码或demo

  • 创新项目一般有评审机制有反馈(例如demo day),获奖项目还可能升级为公司级项目,进一步放大价值获得更多用户反馈。


另外,公司内创新项目不仅可以锻炼技术技能,还可以锻炼组队和团队协作能力,项目管理和推进能力等等。


公司内创新主要在提升个人能力,价值放大比较难,除非你搞成业务创新大项目,才有可能争取到更多公司资源作为杠杆,做出独立业务线甚至公司来。 这类创新也未必是公司内的,你在业余时间也可以搞,国外称为 side project。根据你对用户和价值的把握,以及你的投入,这类项目也有可能(小概率事件)


发展成公司,实现价值放大。


3. 做开源


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


  • 你自己要找问题和价值点,你的开源项目给客户带来什么价值?人家为啥要用你的项目?然后才发起开源项目

  • 开源项目一定有输出,项目代码和文档等

  • Github上开源项目有反馈机制,好的项目用户会给star/fork或watch,有问题会提issue,感兴趣的还会一同参与项目。


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


如果你是属于极客型,有编程天赋,觉得公司项目仍无法施展拳脚,有余力的话可以搞开源,你的受众用户是整个社区,利用 github 作为杠杆,有价值项目容易实现价值放大。


4. 写作


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


  • 你首先要思考文章内容的价值点,要思考清楚:阅读你的文章能给用户带来什么收获?是干货吗?

  • 你的文章内容就是输出,爆款通过微信杠杆传播开来容易价值放大

  • 有些阅读你文章的用户会给你反馈,阅读量或者点赞或者发表评论


写作是一个需要长期坚持和积累的活,如果每周都能输出,1 年就至少有 52 篇,如果能坚持超过 5 到 10 年,积累起来的量就很大,这个过程中你要根据用户的 反馈不断优化你的内容。好的内容+长期积累会变成你的一个资产,给你带来无形的影响力,甚至还有变现可能,这个过程是一个非常好的学习总结提炼提升 的过程。国内写博客的一个典型例子是阮一峰[附录 2],坚持写博客超过 14 年,目前积累博文超过 1700 篇,是博客界知名的大咖。阮一峰的博客流量在 Alexa 上中国排 616 位,世界排 5369 位,价值非常大。


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


书籍和文章内容的受众几乎没有上限,如果你有这方面的天赋也能坚持,可以通过写作学习成长,通过媒体杠杆,实现价值放大。


5. 分享


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


  • 你需要准备有价值的分享内容,要思考清楚:听了你的分享用户有啥收获?是干货吗?

  • 你的ppt和演讲就是输出

  • 听众会通过现场或线下提问给你反馈,主办方也会收集满意度反馈


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


6. 交流碰撞


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


7. 阅读


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


结论


  • 高效学习的基本原则是价值导向,有价值输出(且尽可能放大价值),有用户反馈。

  • 最好的输入是输出,高效学习是闭环学习,反馈越快则学习越快。

  • 高效学习要用好各种可能的杠杆(钱,公司资源,团队,github,社交媒体等等),实现价值放大。

  • 在基本原则的基础上,高效学习仍需计划性和优先级。

  • 高效学习遵循复利曲线是一个长期积累不断突破的过程。

  • 上文提出的高效原理不仅适用于学习,也同样适用于工作,甚至是创业。形式不同,原理相通。


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



  • V - Value

  • O - Output

  • F - Feedback

  • I - Improvement


附录


  1. 你的灯还亮着吗?:发现问题的真正所在

  2. https://www.amazon.cn/dp/B00H1XNAIS

  3. 阮一峰博客

  4. http://www.ruanyifeng.com/blog/


作者简介


架构师杨波,具有超过 10 年的互联网分布式系统研发和架构经验的老司机,曾先后就职于:


eBay 中国研发中心(eBay CDC),任资深研发工程师,参与亿贝开放 API 平台研发,


携程旅游网(Ctrip),任技术研发总监,主导携程大规模 SOA 体系建设,


目前就职于拍拍贷(ppdai.com)技术中心,任基础架构研发总监,负责拍拍贷微服务和容器云等基础架构建设。


2020 年 5 月 29 日 15:2867

评论

发布
暂无评论
发现更多内容

SpringBoot教程:MyBatis多数据源配置

Bruce Duan

mybatis SpringBoot 2 多数据源配置

程序设计的一种思路:DDD

再见小飞侠

方法论 DDD 软件设计

架构师Week7作业1

Nan Jiang

余生很贵,请别浪费

程一初

Python

SpreadJS 纯前端表格控件应用案例:雷鸟365在线文档系统

Geek_Willie

前端开发 SpreadJS 在线文档

你在寻找本地部署的后台测试工具吗?

测试那些事儿

一文吃透时间复杂度和空间复杂度

书旅

数据结构 算法 时间复杂度 数据结构与算法

架构师Week7作业2

Nan Jiang

作业一

Kiroro

如何优雅的实现一个过滤器

双儿么么哒

spring

1. 初识Jackson -- 世界上最好的JSON库

YourBatman

json Jackson Fastjson

多云架构下,JAVA微服务技术选型实例解析

华为云开发者社区

Java 开源 微服务 云服务

PromiseKit 源码阅读

Summary

Kiroro

揭秘 vivo 如何打造千万级 DAU 活动中台 - 启航篇

vivo互联网技术

vue.js 中台 Vue 业务中台

GitHub宣布已将所有代码永久封存于北极地底1000年!网友炸锅了:我写的bug终于能流传永世了!

程序员生活志

GitHub 程序员

lambda基本使用

Bruce Duan

Lambda

List 如何一边遍历一边删除

Bruce Duan

List删除元素

眼见为实,华为鲲鹏架构服务器生态大揭秘

华为云开发者社区

华为 鲲鹏920 服务器 云服务 华为云

POI内存溢出故障排查

Season

JVM POI jvm调优

压测工具试验

独孤魂

云上自动化 vs 云上编排

华为云开发者社区

云计算 云原生 云服务 云主机 华为云

BIGO技术:全球时钟同步服务建设

InfoQ_3597a20b53cc

互联网

Python Kafka 报错:ImportError: cannot import name 'KafkaConsumer'

Young先生

Python kafka importerror 报错

【架构训练 Week07 作业】

Rex

B站新一代golang规则引擎的设计与实现

calo

golang B站 高并发 AST 规则引擎

性能优化概述

superman

读《我们为什么要去火星》随笔

Jackchang234987

产品 人生 读书 随笔杂谈

go defer 的使用和陷阱

曲镇

go

干货分享丨玩转物联网IoTDA服务系列五-智能家居煤气检测联动

华为云开发者社区

人工智能 物联网 IoT 智能设备 华为云

阿里取消周报,打击低效加班!HR透露6大原因!

程序员生活志

阿里 周报

焦焦虑虑的的时时代代,,工工程程师师如如何何高高效效学学习习??-InfoQ