高效工程师系列(一) 如何找到一个利于自己成长的环境
高效工程师系列(二) 花时间学习新技能
高效工程师系列(三) 持续学习
  这个系列内容全部来自于Edmond Lau 所著《The Effective Engineer》一书,截止本文写稿时间(17年末)还未在中国出版,因为我没有足够的时间精力翻译全书,所以就挑选几部分做成高效工程师 系列文章,希望对大家在职业生涯中有帮助。
  先介绍下原书作者Edmond Lau(以下简称艾德蒙),艾德蒙从斯坦福计算机科学专业毕业后进入了Google成为一名产品经理,离开Google后成为了Ooyala分析团队的技术leader,也是Quora早期工程师之一,是Friendfeed的联合创始人,目前在Quip工作,致力于打造一个高效的工程师团队。 《The Effective Engineer》是艾德蒙多年职业生涯中经历和见闻,还有他和其他工程师交流的结晶。
  
  我们把大量的时间花在工作上,如果我们换个新工作,我们要重新学习新的编程语言、新的工具、新的框架、新产品范例,需要了解整个组织是构造和运作的,但怎么样的团队能让你快速了解这些东西、快速上手?什么样的团队能让你每天都学到新东西每天都有成长。有利于人成长的团队是有一些明显的特质的,艾德蒙认为应该优秀且富有活力的团队应该有以下6个特点。

快速增长

  当Sheryl Sandberg考虑是否加入google的时,CEO Eric Schmidt给了她一个很有价值的建议『当别人在火箭上给你安排了一个座位时,你不需要问是什么样的座位,赶紧上吧!』,这句话给了她巨大的启发,后来她成为了google的VP,这也为她以后成为facebook的COO奠定了基础。在一个快速增长的团队和公司,大量的问题也是不可多得的资源,你能够创造出巨大的影响力和增加你的责任感。增长也更容易吸引到更多才华横溢的人加入构成一个更强大的团队,然后创造出更大的增长,形成一个良性循环。反之,缺乏增长会导致团队发展停滞和政治化,员工会在争抢这有限的机会,也会越来越难以吸引人才。

思考题

  • 核心业务的周或月度增长指标是什么?(例如:活跃用户,年收益,产品销售额……)
  • 你们手头上高优先级的工作是否能得到公司足够的支持和资源?
  • 过去一年里公司或者管队的照片状况如何?
  • 最优秀的团队成员多快才能成为领导层?

培训

  完善的入职培训流程能证明该组织会优先培训新人, 例如,Google在其engEDU计划中投入了大量资源,创建了一系列课程、专业研讨会、设计文档和编程指南,旨在帮助新员工成长为一名合格的工程师和leader。 Facebook有一个名为Bootcamp为期六周的入职培训计划,新工程师可以在那里了解到公司的工具和关注领域,并能上手开发。小公司没办法投入这样的资源,但任何知道让新人快速成长起来能带来的价值的团队都会创建类似的流程,艾德蒙也在quora创建了新人培训体系。 同样,一个强健的培训体系也能表明团队重视个人成长。

思考题

  • 新人希望直接上岗还是先通过一个正式的入职培训流程?
  • 有没有正式或者非正式的师徒制度?
  • 公司为确保员工能持续学习和成长采取了什么样的措施?
  • 团队最近有没有学一些新的东西?

开放性

  快速增长的组织不是说它能在第一次就能产出高效的产品想法、工程设计或是组织过程,而是它能持续从过去的错误中学习,其实这样成功的机会更大。如果员工能互相挑战彼此的决策并把反馈融入未来的迭代中,则更可能成功。寻求好奇的文化,鼓励每个人提问,再加上开放的文化,反馈和信息能被主动的分享。 对失败的项目进行反思,找出到底是什么导致了产品失败,审视不同产品投资所带来的回报,都有助于将正确的经验内化。

思考题
- 员工了解不同团队工作方向的优先级吗?
- 团队会为产品变更和功能发布是否值得而召开会议吗? 有没有失败的回顾?
- 知识文档在公司内部是如何流传的?
- 团队学到过什么样的教训?

小步快跑

  快速迭代的工作环境能给你提供更快的反馈循环让你学的更快。长发布周期、形式化的审批、优柔寡断的领导都会拖慢迭代速度。相反自动化工具、轻量审批流程、自发性会加速整个过程。小团队和公司相比于大公司大团队,在完成一件事上没有太多官僚主义的障碍。例如我在Google的时候,Google任何明显的变化(甚至是实现性的)都需要从管理层一层层审批上去,直到搜索和用户体验的vp Marissa Mayer,这无疑会放慢整个实验的步伐。 在创业公司, 只要你不崩溃,承担更多风险和花费更多时间你就能得到更多的成长。督促自己,当同时找个一个长远可持续发展的空间。

思考题

  • 快速前进是否会反映在公司或者工程师的价值上?
  • 团队用什么工具来加快迭代速度?
  • 从想法到产品被批准上线需要多长时间?
  • 维护旧产品和开发新产品和功能的时间占比是怎么样的?

优秀的同事

  如果你周围的人都是比你聪明比你更赋创造力的人,那你周围都是你潜在的老师。就你的职业成长和工作幸福度而言,与你合作的人可能比你实际做的更重要。 在小公司里,如果你和同事相处不好你也很容易换个团队,但大公司通常建议你在团队中至少六个月到一年,以降低转换成本和开销。所以去一个新岗位之前,与潜在的团队成员见个面,否则有可能被分配到一个好团队,也有可能是差团队。

思考题

  • 面试你的人看起来比你更聪明吗?
  • 他们有什么可以教你的吗?
  • 面试足够严谨和全面吗? 你愿意和这种面试做的好的人工作吗?
  • 通常人们愿意一个人工作还是团队合作?
      

自治

  只要我们能得到自由选择的权利,选择做什么和怎么做的自由能驱动我们学习能力的增长。在大公司里,员工趋向于工作特定的工作,但也能获得更多指导和支持。在小公司,你会在整个产品功能和责任上拥有更多的自主权,但是你也需要自己对自己的学习和成长多操点心。例如,在Quora的三年,我有机会面对广泛的技术挑战(包括实验工具,实时分析框架,网站速度,基础架构,推荐,垃圾邮件检测和移动开发)以及组织方面的挑战(包括培训面试官,创建新人培训资源,建立辅导方案,协调实习计划)。要在一个大公司做这样多样化的工作是非常困难的,但大公司有专业的团队,而且这些流程可能已经很完善了。

思考题

  • 员工有没有选择做什么和怎么做的自治权?
  • 个人转岗需要长时间?
  • 在一年的时间里,一个人的代码库能达到什么程度呢?
  • 工程师是否参与到产品设计和影响产品的决策讨论中?

  这六个因素因团队公司而异,每个因素的重要性也会随着你的职业生涯而改变。 入职培训和指导在你职业生涯的早期会比较重要,自治性会在晚期比较重要。 换了团队或者工作后,确保你问了正确的问题,确认他们是否合适,并为你提供充足的学习机会。

高效工程师系列(一) 如何找到一个利于自己成长的环境相关推荐

  1. 高效工程师系列(三) 持续学习

    高效工程师系列(一) 如何找到一个利于自己成长的环境 高效工程师系列(二) 花时间学习新技能 高效工程师系列(三) 持续学习 学习机会不会被工作场所限制.我们应该时刻问自己如何提高自我?如何做的更好? ...

  2. 高效工程师系列(二) 花时间学习新技能

    高效工程师系列(一) 如何找到一个利于自己成长的环境 高效工程师系列(二) 花时间学习新技能 高效工程师系列(三) 持续学习 工作中很容易被各种必须完成的事压得喘不过气来.我指导过的那些人,通常都是刚 ...

  3. Cocos2dx游戏开发系列笔记7:一个简单的跑酷游戏《萝莉快跑》的消化(附下载)...

    2019独角兽企业重金招聘Python工程师标准>>> 或许有天 我们羡慕和崇拜的人 因为我们的努力 也会来了解我们 说不定 还会成为好友 骨头喜欢这样与哲哲共勉 多少个夜晚 一张长 ...

  4. 磨刀不误砍柴工-----为提升自己找到一个平衡点

    作为一名软件开发人员,你该如何磨快你的锯子? "磨锯子"实际上是一个代名词,泛指一切编程以外的活动(不必编写代码),而这些活动(理论上来说)能使你成为一名更出色的程序员.这个词源自 ...

  5. 程序员修炼之道系列 | 使用曳光弹找到目标

    预备.开火.瞄准--在黑夜中用机枪射击,使用曳光弹可以提升命中率. 程序员修炼之道系列 | 使用曳光弹找到目标 什么是曳光弹 曳光弹指的是一种装有能发光的化学药剂的炮弹或枪弹,发射后在黑夜中能显示子弹 ...

  6. 实战型网络工程师系列课程

    <实战型网络工程师系列课程>介绍 课程定位:IT职业教育课程 课程组成:视频+辅导+考试+证书 课程简介:赛迪教育(www.ccidedu.com)与金资讯教育在线共同开发<实战型网 ...

  7. HTTP系列 HTTP协议是一个渣男

    最近在找工作,所以,来收获一下赞?,只是本人一些看法,如有出入,请评论 HTTP协议是一个渣男?-主动,不负责,不拒绝 从链路层⛓️到IP层再到TCP/UDP层,再到应用层.HTTP是我们经常使用的协 ...

  8. python爬虫工程师考试科目一_一个Python爬虫工程师的修养

    练武不练功,到老一场空 练武的人都知道:练武不练功,到老一场空! 说的是只练花架子,不练习内功,最终也都是一个菜鸟级武师. 学习编程何尝不是!我时常见到已经学习相当一段时间的程序员,连稍微深点的基本知 ...

  9. 【转载】“error LNK1169: 找到一个或多个多重定义的符号”的解决方法

    c++的小细节的地方 原文地址:https://blog.csdn.net/xiaosu123/article/details/5665729 问题描述如下: 有 三个源文件,A.h.B.cpp.C. ...

最新文章

  1. Ubuntu上五款搜索工具:Albert、Synapse、Utools、Ulauncher、FSearch
  2. 图像金字塔操作,上采样、下采样、缩放
  3. 1、计算机图形学——2D变换与齐次坐标
  4. formdata上传文件_大文件分片断点上传实现思路以及方案
  5. app上传头像处理Java_java后台加安卓端实现头像上传功能
  6. sublime重装后碰到Unable to read Packages
  7. 【CodeVS】1083 Cantor表
  8. Namomo Fish(Easy) Round 1
  9. sqlserver两个日期之间的年数_SQL语句计算两个日期之间有多少个工作日的方法
  10. AI实战 | Tensorflow自定义数据集和迁移学习(附代码下载)
  11. MYSQL Too many connections错误的解决办法
  12. 服务器系统事件报错4103,IIS信息服务器排错指导
  13. 在线语音识别_腾讯云在线语音识别_在线语音识别成文字 - 云+社区 - 腾讯云
  14. zz:测试还是开发?
  15. Anroid性能优化系列——Improving Layout Performance(二)
  16. Vue使用vue-aplayer实现音乐播放
  17. windows未能启动计算机,电脑开机windows未能启动是怎么回事
  18. Iterative混沌映射
  19. SAP中决定销售订单出现在MRP运算中的因素
  20. 示波器X-Y模式分析

热门文章

  1. JS时间处理插件MomentJS
  2. CSAPP Bomb Lab
  3. 在浏览器中打开“只能用微信内置浏览器”打开的页面
  4. w3wp ash oracle,Oracle session简介
  5. 硬盘损坏如何恢oracle,硬盘损坏后恢复数据的几种方法
  6. 计算机系女学霸男生追,杨紫李现解锁恋爱新姿势:吃最甜的糖,追最燃的梦
  7. matlab 柱状图怎么叠加,如何让柱形图重叠起来
  8. Linux命令 常见命令 详细分类
  9. pytorch基础(九)- 自定义数据集训练模型 和 迁移学习
  10. 〖TensorFlow2.0笔记21〗自定义数据集(宝可精灵数据集)实现图像分类+补充:tf.where!