【AICon】 如何构建高效的 RAG 系统?RAG 技术在实际应用中遇到的挑战及应对策略?>>> 了解详情
写点什么

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

  • 2019-09-15
  • 本文字数:4015 字

    阅读完需:约 13 分钟

什么是真正的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-09-15 20:482982

评论

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

MegEngine 使用小技巧:使用 Netron 实现模型可视化

MegEngineBot

深度学习 开源 MegEngine Netron 模型可视化

预防DIP器件可焊性问题,看这篇就够了

华秋电子

高频js手写题之实现数组扁平化、深拷贝、总线模式

helloworld1024fd

JavaScript 前端

ChatGPT热潮背后,金融行业大模型应用路在何方?——金融行业大模型应用探索

易观分析

金融 科技

前端二面高频react面试题集锦

夏天的味道123

前端 React

大模型时代的异构计算平台

Baidu AICLOUD

大模型训练 异构计算

用es6的class类单例模式封装canvas环形进度条

咖啡教室

会声会影2023官方试用版更新下载功能详细介绍

茶色酒

会声会影2023

有哪些做的不错的国产化企业协同办公软件?14个企业协同软件对比

PingCode

团队管理 团队协作 团队协作工具

Python 基础练习题(三)

漫步桔田

金融与科技融合发展,将技术转化成生产力是重中之重

镜舟科技

数据库 数据库·

走进RocketMQ(一)整体架构与设计

白裤

Java RocketMQ RocketMQ整体架构 RocketMQ设计

一文读透react精髓

xiaofeng

前端 React

Vue模板是怎样编译的

yyds2026

Vue 前端

前端常见手写面试题集锦

helloworld1024fd

JavaScript 前端

2023-02-23:请用go语言调用ffmpeg,解码mp4文件并保存为YUV420P格式文件。

福大大架构师每日一题

golang ffmpeg 福大大

Window 的 PHP XAMPP 安装 mongodb 的扩展

HoneyMoose

产品经理,项目经理,FTO

laofo

DevOps cicd 敏捷开发 研发效能 持续交付

fastposter v2.12.0 ChatGPT都推荐的海报生成器

物有本末

fastposter 海报生成器 海报生成

【AAAI 2023】针对视频分类的知识迁移

Zilliz

计算机视觉

网心科技以11.3%的市场份额跻身IDC中国边缘公有云市场前三

网心科技

边缘计算 IDC 边缘云 边缘云原生

人人能读懂redux原理剖析

夏天的味道123

前端 React

设计模式第八讲:观察者模式和中介者模式详解

C++后台开发

数据结构 设计模式 后端开发 Linux服务器开发 C++开发

LeetCode题解:633. 平方数之和,双指针,JavaScript,详细注释

Lee Chen

JavaScript 算法 LeetCode

Continuous profiling 拯救了 Victoria Metrics

golang 性能优化 可观测性 Prometheus 性能分析

2023前端二面手写面试题总结

helloworld1024fd

JavaScript 前端

StarRocks携手零洞科技,助力碧桂园物业企业微信数字化项目

StarRocks

数据库 开源 互联网

会声会影2023简体中文试用版下载

茶色酒

会声会影2023

JS继承有哪些,你能否手写其中一两种呢?

helloworld1024fd

JavaScript 前端

火山引擎推出一站式小程序监控方案

字节跳动终端技术

开发一款wordpress插件并发布到官方插件库完全指南,小白也可以

咖啡教室

什么是真正的10x工程师?_大前端_Charles Max Wood_InfoQ精选文章