对中国开发者最具吸引力的科技企业有哪些?快来为你 pick 的企业投票! 了解详情
写点什么

什么是真正的 10x 工程师?

2019 年 9 月 15 日

什么是真正的10x工程师?

不久以前,有一条 Twitter 引起轰动,它谈及到初创团队应该招聘“10x 程序员”并列举出寻找的 11 个方法。



10x 程序员

初创人员,如果你曾遇到过这类稀有的工程师,吸纳他们。如果有一个 10x 程序员成为你的第一批少数工程师的一员,那么创业的成功概率会极大的增加。

问题是:怎么标识出 10x 程序员呢?

— Shekhar Kirani (@skirani) 2019年7月11日


有“10x 工程师”和怎样找到他们,这两者是不同的。针对这两点,我需要指出,评估开发人员的表现非常困难,但我相信的确有“10x 工程师”。也就是说, 这篇 Twitter 后面提到的评估准则几乎都没有实用性。


那么,什么是“10x 工程师”呢?


Kirani 在 Twitter 上没有确切给出定义。我们假定 10x 工程师的生产率是普通工程师的 10 倍。


在大家吐槽这个定义之前,我要澄清一下。


我把输出作为开发组或团队的输出来进行测量,而不是作为个人的输出。因此,我对“10x 工程师”的定义是: 想较于公司雇用的其他人,10x 工程师能让团队的输出增加 10 倍。


从 Twitter 上给出评估列表后,标识“10x 工程师”的方法发生了很大的变化。


我用来标识 "10x 工程师"的 11 个方法如下。


10x 工程师是优秀的沟通者

我弟弟和表弟在大学学计算科学。他们都问我,什么样的技能对开发人员来说最重要。我想他们是期望我能提及到算法或技术。我近年来对此的回答是“和他人一起工作的能力”。


有时候,我们会看到一个开发人员能独立完成原型或简单的应用程序。这和 Sekhar Kirani 的 Twitter 中的观点是一致的。他认为一个 10x 的开发人员可以在 3 天开发出一个原型。但他忽略了,从长远来看,这段代码会发展成大规模的应用程序,该编程人员需要向其他 n 个工程师进行代码解释。


不过,考虑到应用程序有不同的复杂度,我们很可能需要更多的编程人员来构建应用程序,而不是靠单打独斗。


问题的沟通、通过集成自己构建的 API 来教会别人怎么使用、或帮助别人解决困难,这些能力是至关重要的。而且,如果你能解决足够的棘手问题,就能使其他人的工作效率加倍,即使他们还在做着这些工作,你也成为了 2x 工程师。


10x 工程师是持续学习者

在我职业生涯中遇到的所有人中,我认为的“10x 工程师”都热爱编码。他们一直期待学习新事物,并探索用更好的方法来构建软件。


如 Ruby Rogues 所注意到的,Devchat.tv 的规模在很多方面都在扩大。我们有自己的团体,通过参加会议、写博客或播客而相互认识。我们彼此学习,并开始为该社群提供各项帮助。


如果你正在寻找“10x 工程师”,可以问他们已经学过什么,在业余时间都做些什么。大部分人会提及到一本书、视频课程、会议实录或感兴趣并花时间充电的播客系列。


这点和 Twitter 上的第 8 条一致:



译:10x 工程师总是超前于公司其他人在学习新的框架,语言。他们不惧任何新鲜事物。如果有全新的事物出现(如区块链),他们会在别人介入前,如饥似渴的学习,试验。— Shekhar Kirani (@skirani) 2019 年 7 月 11 日


10x 工程师的代码易懂

有头脑的软件开发人员意识到,其部分工作效率会在以后得到体现。他们知道其代码很可能会有变动,如需要添加新功能,或是条件变化引起问题,需要有不同的解决方案。


可维护的代码通常易懂。如果读完整个代码,能很快知道每件事在做什么,以及知道在哪里找到其实现,这样就能进行代码修改,并有信心是正确的位置做了正确的修改。


换而言之,有时候 10x 体现在,其他人在改写该代码时可以节省 1 天或两天,因为代码很好懂。在此之前,你的“10x 工程师”可能看起来只是个 8x 工程师。


这点和 Kirani 列表中的第 4 点基本是矛盾的:



译:10x 工程师对进入生产环节的每行代码都很了解。如果 QA 或支持部门人员提出问题,他们能确切知道问题在哪里,并在数小时或数天内解决该问题。 — Shekhar Kirani (@skirani) 2019 年 7 月 11 日


10x 工程师写测试代码

你听说过 explode?继续阅读……


如第三点阐明的,一个“10x 工程师”知道哪块代码需要修改。在小项目中,你可以在头脑中记住很多具体的实现细节。这样,如果持续在该代码基线中工作,你可以记住大部分的代码。


但是,一旦你的项目变得更大更复杂的时候,你开始假设系统的其他部分怎样进行工作。大多数时间,你能了解应用程序大体框架、记得你花费了很多时间所做的实现细节或最近进行的工作。然而,要验证关于代码所做的工作,以及在哪里被正确使用的假设,更简单的方法是:运行代码来确认。


而且,即使你可以记住所做过的任何工作,如果你有队友,他们不会知道你所做的每个细节,所以测试有助于缓解这个问题。


这和 Kirani 列出的第四点也是矛盾的。


10x 工程师善于使用 Google

我只遇到过一个对编程语言或框架有全方位的了解的人。James Edward Gray II 看起来知道所有 Ruby 边边角角的知识。很多次,当有人在播客中提到什么事的时候,James 就会含蓄的告诉他们,他们一起想搞定的已经内嵌在该语言中了。


其他我共事过或知道的“10x 工程师”,都很善于找寻答案。大多数时间,这是一个相互融合的过程,即知道在 Google 中敲入什么术语,然后能快速识别出栈溢出的 post、库或 github 的 repositories 来接近最后的答案。


他们了解很多解决问题的常用方法,不过这更像是熟能生巧。当需要解决用电问题时,你就会查看 Youtube 上的视频,而不像其他家庭修理工一样先打开插座盖子。


这点直接和 Kirani 的第 7 点矛盾



译:10x 工程师几乎不查看类或方法的帮助文档。他们记忆在心,并随时调出来使用。 他们写代码就像写英语一样简单。没有休息和停顿,只是不停的输入。— Shekhar Kirani (@skirani) 2019 年 7 月 11 日


10x 工程师善于抓住时机并利用它**你招聘“10x 工程师”的原因是他们在某方面擅长。而招聘 1x-3x 工程师则是因为他们具有成为 10x 工程师的潜质。

软件变得复杂,经常需要我们有不同类型的专家来构建应用程序。不管是有一个自定义后端的移动应用程序,还是一个依赖于数据和托管云服务的单页面应用程序,都需要不同的人才。


你会需要一个全才或全栈开发人员来让工作就绪。


你想要招聘的“10x 工程师”知道他/她所擅长解决的问题,并花时间提高技能,很快就可以识别出他们是否能胜任其工作。


很多“10x 工程师”在某个特定的框架、技术或技能集方面是专家。


这点和 Kirani 列出的第 5 点矛盾。



译:大部分 10x 工程师是全栈开发工程师。对于他们而言,代码就是代码,他们不关心它是前端、后端、API、数据库、无服务等等。我几乎没有见到过他们做 UI 工作。 — Shekhar Kirani (@skirani 2019 年 7 月 11 日


10x 工程师是很好的导师

离开队友的相互促进,没有工程师能达到 10x。当然,有 25 年编程经验的开发人员的工作效率可能是刚开始编程的人员的 10 倍。但是和编程人员平均水平相比,他们还算不上是 10x,除非他们使团队其他成员得到 4x 的提升。


人们会谈论这些孤独的天才编程人员,但每次我所看到的是,团队里有他们或和他们一起工作时,团队剩余的人员需要根据每个人的产出来对他们和成本进行补偿。换而言之,他们的产出是 10 倍,同时成本是团队其余人的 12 倍。


“10 倍”工程师意识到,给团队带来能力和提高团队士气会产生更好的工作环境,让团队总体输出更好。


这并不是说他们不会独自工作,而是说要意识到和团队其余成员之间的平衡带来的价值。


这点和 Kirani 的第 9 点矛盾:



译:10x 工程师不大擅长当导师,因为他们不会教别人怎么去做或怎样打包工作?他们通常会想“教别人或和别人讨论要花太长时间,我情愿自己来做” 。他们也不是很好的面试官。— Shekhar Kirani (@skirani) 2019 年 7 月 11 日


10x 工程师和公司的使命,愿景,价值和文化保持一致

这是否意味着不同的公司里,由不同的人担当组织中的“10x 工程师”?


是的!


大部分人在做内心信任的事情时,都积极向上,能做的更好。如果能轻松进入或退出自己或公司中其他人的工作流,他们也能工作的更好。


这会带来两个结论。


第一,认同公司及其原则和实践的人在这种环境下可以快速成长。他们在工作中,能激发出 2 倍的能力提升。


第二,不适应这种方式的人会用不恰当的方式打断别人的工作流。.


这并不是说第二种情况下的人所做的每件事都是错误的。它意味着如果他们找到一个更符合其本性的组织,可能会做的更好,这样对公司也会更好。


10x 工程师用业余时间编写代码

和我一起工作过的大部分开发人员都是顶级的工程师,他们写开源代码或在业余时间写试验代码。他们情不自禁的这样做。他们仍不住想试试新的东西,看看它们是怎样工作的。


和我一起工作过的,也有少部分人由于个人条件限制不能这样做,但他们希望能这样做。


他们富有激情,虽然大部分时间里,他们工作在一个或两个不那么重要的项目。你可以在 Github 查找这些项目,或者问问他们,在业余时间做什么。


对于这个问题,我经常会得到有趣的答案。


这点和 Twitter 上的第 8 点吻合。



译:10x 工程师总是超前于公司其他人在学习新的框架,语言。他们不惧任何新鲜事物。如果有全新的事物出现(如区块链),他们会在别人介入前,如饥似渴的学习,试验。— Shekhar Kirani (@skirani) 2019 年 7 月 20 日


10x 工程师喜欢和同水平工程师一起工作

和我一起工作过的顶尖工程师都是很棒的导师,不过他们也希望被同级别的人所推动。他们喜欢向与他们经验不同的人们学习。在很多情况下,他们会参加或在在会议上演讲,以此来拓展交往面。他们也会在用户群里和其他高级别工程师进行交往,聚会等。如果你想招聘一些“10x 工程师”,找一个让他们都向往的工作。然后问他们谁可能是要寻找的人。他们知道谁能提出商业问题的解决方案。


10x 工程师识别问题,提出方案

绝大部分开发人员能沉下心来写代码并完成工作。和我一起共事过的编程人员,对于公司和团队来说,最大的区别是有的人能意识到团队工作的方式、代码基线或公司的问题,并努力去缓解这些问题。


正是他们,强烈建议采纳重要的自动化工具,尝试新的组间交互技术,过程中使用后台工作方式来节省时间并实现更多功能。


“10x 工程师”认为,编程远不止是写代码这么简单。


2019 年 9 月 15 日 20:482139

评论

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

如何优雅的备份账号相关信息

Simon

MySQL

区块链加未来3至5年可以预见 上链将成为常态

CECBC区块链专委会

区块链 金融 数字时代

XSKY新一代分布式文件系统XGFS揭秘——元数据服务

XSKY融合存储

Go: 使用pprof收集样本数据

陈思敏捷

go golang pprof

K8s事件监控之kube-eventer

雪雷

k8s事件告警 k8s资源监控 k8s管理

Linux-技术专题-buffer/cache理解

李浩宇/Alex

极客公园张鹏对话百度CTO王海峰,揭秘中国AI的今昔与前路

脑极体

获奖公布丨程序员的七夕骚话该怎么讲?留下你爱的表白~

InfoQ写作平台官方

写作平台 话题讨论 七夕 活动专区

区块链最激动人心的未来是什么

CECBC区块链专委会

大数据 区块链技术

MySQL5.7应当注意的参数

Simon

MySQL 参数

Java 生成解析二维码

喜瑞斯

Kubernetes config多集群管理工具

雪雷

k8s kubecm k8s多集群管理 kubeconfig

构建统一监管制度 加快数据要素立法修法

CECBC区块链专委会

区块链 金融 区块链数字经济

机器学习 | 卷积神经网络详解(二)——自己手写一个卷积神经网络

迈微AI研发社

Python 神经网络 学习 卷积神经网络 CNN

浅谈备受开发者好评的.NET core敏捷开发工具,讲讲LEARUN工作流引擎

Philips

Dynamodb 常见命令操作

麦迪文

数据库 AWS Data dynamodb

曾经每个手机上都有的游戏,作为前端如今你也能开发出来了,附教程

web前端程序猿

html5 前端 前端训练 前端教程 web前端

2020中国RPA指数测评报告|T研究

人称T客

必看的数据库使用规范

Simon

MySQL 技术规范

Git 常用命令总结

迷羊

git

大数据技术思想入门(一):分布式存储特点

抖码算法

Java 大数据 hadoop 分布式

搜狗联合清华天工研究院推出ChoreoNet模型:让数字人随着音乐翩翩起舞

脑极体

牧羊少年奇幻之旅

W

读书笔记 感悟

我一个普通程序员,光靠GitHub打赏就年入70万,要不你也试试

程序员生活志

赋能云端管理 激发智能边缘 英特尔发布超能云终端解决方案

最新动态

一.操作系统概述

Winter

操作系统

小小的代码分支模型如何撬动研发过程管理

陈晨

【杭州】阿里巴巴搜索推荐事业部开发岗位招聘

iSausage

Java 阿里巴巴 推荐 搜索

机器学习算法之——隐马尔可夫模型原理详解及Python实现

迈微AI研发社

Python 学习 算法 隐马尔可夫模型 HMM

给路灯按上“电话卡”,从此不仅只照明还给管理员“打电话”

华为云开发者社区

人工智能 物联网 物联网化 华为云 路灯

mPaas-RPC拦截器各种场景下的使用指南

阿里云金融线TAM SRE专家服务团队

RPC

滴滴 Logi 日志管理与分析平台

滴滴 Logi 日志管理与分析平台

什么是真正的10x工程师?-InfoQ