这节主要讲保有持续成长的心态是能力提升的先决条件,作者给出了关于一个公司或者团队对于个人学习的影响的几个关键因素。
成长心态
首先,要相信自己的才智能够随着努力而增长的,而不是一成不变的。你需要关注你能改变的事情,不要管你过去的履历,而去关注你有什么技能,你希望能够做什么和为什么。掌控属于自己的故事,关注你所希望成长的领域。
关注你的成长速度
- 学习对应指数成长模型,也就是惊人的指数爆炸;
- 越早学习就能越快度过指数增长前期的平缓曲线,来到指数爆炸的快速增长阶段;
- 即便细微的差距,在指数模型中也会对长期造成巨大影响;
作者建议人们应该像经营一家创业公司一样经营自己:创业初期,增长比盈利更重要,产品需要不断迭代。
寻找适宜学习的工作环境
由于全职工作占用了清醒时间的很大比例,工作给我们带来的成长就显得尤为重要。作者给出六个指标来衡量工作带来的学习帮助:
-
高速增长 在高速成长的公司中,待解决的问题远远超过现有资源,这给了工程师发挥自己影响力的空间。具体指标:
a. 商业指标的月/周增幅;
b. 在公司有足够的支持和资源来实现增长的前提下,你是否会在高度优先考虑的项目上工作;
c. 公司员工在过去一小段时间内增幅如何;
d. 最强大的员工多久能够成长为团队领导; -
培训 一般来说是指已有项目的设计文档、使用文档、codelab,导师制度。具体指标:
a. 对于新入职工程师而言,是需要自己摸索解决问题,还是有明确的文档;
b. 是否有导师制度;
c. 公司对于员工的持续成长有什么措施;
d. 团队成员最新学习的技术是什么; -
开放 良好的团队应该不断从过去的失败学习经验,工程师之间可以相对平等的讨论问题,互相质疑工程设计,有益的反馈会被采用在之后的项目中。开放氛围的团队看中信息和反馈的有效分享。具体指标:
a. 工程师是否了解不同团队当下的工作重心;
b. 是否有评审会来讨论产品特性是否值得投入工作,事故之后是否有事故报告;
c. 公司内部文档分享的情况; -
频率 一个快速迭代的工作环境提供了快速的反馈循环,缩短了学习周期。具体指标:
a. 快速行动是否反映了公司或工程价值;
b. 为了快速迭代,采用了什么工具;
c. 从收集需求到特性发布的周期有多久;
d. 维护和开发新产品的时间比例如何; -
同事 和聪明的人共事会提升你的成长速度。具体指标:
a. 你的面试官看起来比你聪明吗;
b. 同事可以交给你什么技能吗;
c. 你的面试严谨而全面吗?你愿意和那些在工作中表现出色的人一起工作吗
d. 同事们倾向于一个人的项目,还是团队合作的共同工作
- 自主权 工程师有权利参与决定自己做什么工作/用什么技术栈完成工作。具体指标:
a. 人们是否有权利选择去做什么项目以及如何做;
b. 工程师换组/项目的频率怎样;
c. 在一年的时间里,一个人的代码库能达到什么样的广度;
d. 工程师是否参与产品设计的讨论并影响产品方向;
在这六个因素里面,导师制度在工程师生涯初期影响巨大,而自主权在之后会产生巨大影响。
花时间在工作中学习新技能
必须自己留出一定时间用来提升自我技能(作者给到的比例是著名的Google 20%,个人认为在国内大多数公司,这个比例有点不现实)。这些时间可以用来加深在所工作领域的技能知识,或者去探索相邻领域。下面给出十条建议:
- 学习公司最好工程师写的核心逻辑抽象代码
- 写更多代码 就是所谓的知易行难,看懂代码不难,写出优秀代码不易
- 浏览内部的学习资料
- 深入自己的主力语言
- 把代码交给最苛刻的工程师审查
- 参加你想要提高的领域的课程 在线课程有些能缩短学习时间
- 参与你感兴趣的项目的设计讨论
- 在不同的项目上工作
- 确保触手可及的地方有能够请教的资深工程师
- 毫无畏惧地跳到你不知道的代码中。
除此之外,作者还给出了工作之外的十条意见:
- 学习新的编程语言或框架
- 投入有高需求的技能
- 大量读书
- 参与讨论组(沙龙)
- 参加会谈、会议和聚会
- 建立和维护一个强大的关系网
- 关注著名技术博主
- 撰写技术博客
- 参与到开源项目
- 追求自己的爱好
网友评论