转载

Coursera内部分享:如何成为一个伟大的工程师

Coursera内部分享:如何成为一个伟大的工程师

  原作者: Nick Dellamaggiore, Coursera 基础架构组工程经理

  作为一名工程经理,我经常被同事和面试人问“作为一个 Coursera 工程师,我的职业生涯发展是什么?”尽管有些人更希望成长为经理,但我发现还有很多人对如何成长为独立贡献者( individual contributor)更有兴趣。

  所有在 Coursera 工程师共享同样的名称:“软件工程师”。你可能会认为这会导致模糊的职业发展,但我们相比严格的等级,更喜欢这种模式,理由如下。

  我们是一个小的,紧凑的工程组织下的创业公司,我们专注于一起工作,共同实现我们的使命:为全世界提供最好的教育而奋斗。每个人在没有被人为组织结构,职称和角色所羁绊下去发挥其最大的潜能。

  我们的文化体现着谦逊。杰出的工程师认可是被公认的贡献,领导力和态度,而不是他们的头衔。

  每个人都是领导者。我们的文化是非常开放的,包容的;一些最好的想法,往往来自刚毕业大学生或实习生。我们渴望帮助每个人在这里成长为技术带头人。

  作为技术人员,我们正不断努力改善我们的技能,帮助我们的工程师不断提高。我们希望在这里的工作,是我们自我变革的体验,并以同样的方式去改造公司的轨迹。

  为了指导我们的工程团队,我们列出由一些杰出高产的工程师都体现的品质列表。这些都是我们在 Coursera,以及其他硅谷高科技公司同行,如 LinkedIn,谷歌和 Facebook 所钦佩的优秀素质。我们分享这个列表,并希望激发其他工程团队去思考他们看重的素质,以及如何建立,培养和奖励优秀人才的企业文化。

如何成为一个伟大工程师

  ——结果驱动

  伟大工程师产生了伟大成果。 Coursera 重视工程师从开始设计,实施到交付一系列环节。这里的原因:

  对于任何重大项目,往往是在细节中出问题。比如产品推出,运营服务,产品功能。在交付和运营的服务或产品上体现主人翁意识,这是我们的核心价值观。

  结果会直接给业务增值。我们认为一个员工的贡献累计来自于如何衡量增加的价值。影响力可以来自于很多维度,包括增值,活跃度,收入,工程效率,网站稳定,可扩展性等等。显著影响力在交付 MVP(最小核心价值产品)很少能够实现。在我们搭建的产品和需求中不断的迭代才能最大化我们的价值。

  我们的指导方针是“有效爬坡”的原则,我们赞赏能够平衡执行速度,编写可扩展组件和代码质量。我们也看重“10 倍工程师”,即不仅能快速提供高质量的结果,同时也激励和指导别人更聪明地更快的工作。

  ——领导力

  领导者不一定是一个管理者。技术领导是说的你的工作方式。你把你的项目,团队,整个技术组服务好。最好的工程师显示至少其中的一些特质:

  √ 项目领导。伟大的工程师们可以从不同的项目中担任技术负责人的角色,项目的范围从小到大,影响力从低到高。他们能驾驭好点子,阐明设计,排除阻碍,不断改进。他们跟产品组合作确立正确的产品上线顺序,他们知道在质量,完成度和速度如何权衡考虑。有时他们通过数据驱动决策保证项目完成。

  √ 找出差距。伟大的工程师们能够广泛地思考面临的差距和问题。更重要的是,他们是第一次去发现我们从来不知道我们有的问题。他们更看重解决问题而不是抱怨 - 事实上,他们渴望保持手勤,用创造力和真正的热情应对面前的挑战。

  √“向上看齐”。伟大的工程师们往往围绕比他们更好的工程师。他们是以身作则提高生产力,领导和激励他人。他们通过代码和设计评审来作为导师帮助大家。

  √ 爱学习。伟大的工程师为了不断提高技能,他们热情地阅读技术文档,研究论文,和博客。他们喜欢上课,吸收别人的经验。

  √ 组织存在感。伟大的工程师在整个组织中传承知识和经验。他们通过技术讲座,读书分享,Hack 大赛去分享他们的工作。一个伟大的工程师可以在外部发表博客文章,会议演讲,或发表研究论文。

  √ 影响力。伟大的工程师影响其他工程师采用新技术,架构,流程和标准。这可以通过他们能影响到的工作空间距离或者代码审核队列的大小来衡量。

  √ 态度。像所有 Coursera 的员工,优秀工程师们关心队友和保持谦卑。他们认识到,每一个错误其实是有机会让他们做的更好。

  ——技术卓越

  伟大的工程师在技术上的优秀体现在很多方面:他们可以是厉害的产品黑客,算法高手,注重细节的基础架构工程师,或以上所有。我们重视在设计解决方案时深入思考,考虑复杂的产品和基础设施问题的工程师。

  伟大的工程师设计是强大的,直观的,可扩展的,灵活的,可维护,可操作性,可扩展性和高效的。他们努力质量和执行速度之间实现平衡。

  ——权衡

  除了业务目标的贡献,伟大的工程师通过提高工程团队的工作效率,构建可重用的组件,提供工具,使代码库更好管理这些都能整体性提升工程组织。这意味着构建抽象的服务或组件,使它们成为多个产品的需求或提高开发人员的生产力。这也意味着主动去构建工具,提取函数库,修复破碎的窗户,编写工程文档,或测试用例。

  这不是一个清单!

  伟大的工程师不一定擅长在上面列出的所有领域,但必须擅长一些。他们可能是非常全面的,或者在少数项目上极其突出。像游戏人物,你不大可能就像塞西尔全面高分;但你可能更像哥拉斯更加均衡。

在 Coursera 我们怎么使用这个列表?

  我们在内部表扬一些体现了这个标准中可以表率的工程师。

  独立贡献者使用这个文件来追踪他们事业上的进步,我们都添加注释,故事和例子,以便其他人可以了解谁做了了不起的事情。

  在 Coursera 工程经理使用此文档对团队成员在1:1 会议,和绩效考核中去反馈评价。

  任何人当他们看到其他人做很棒的事情都可以直接说出来。这可以在发生在 1:1 (两个人的会议),全组大会,技术部大会,通过 Slack 频道(企业通讯工具),或通过电子邮件。

最后的话

  在 Coursera,我们为全世界提供最棒的教育资源。我们想把高质量的教育,不再只提供给精英,而是公平的环境。同样,在我们的工程组,我们想创造一个让每一个工程师能够实现伟大的环境。我们提倡透明制度和包容性,并提供质量为导向的这份列表,来帮助工程师继续改进。

正文到此结束
Loading...