10X 工程师是神话吗?
现实情况是,有些人比其他人更擅长编程。
在我之前在一家科技公司的职位上,我一直对我团队中的一些人似乎知道如何做所有事情感到敬畏。
即使在我上大学期间,参加黑客马拉松和实习期间,我也能遇到一些非常有才华的开发人员,我从他们身上学到了很多东西。
在本文中,我将讨论人们对 10X 工程师可能存在的一些误解。 在我们了解什么是 10X 工程师之后 不, 我们将为您提供一些最好的建议,让您自己成为 10X 工程师。
什么是 10X 工程师?
许多开发人员会争论 10X 工程师的实际定义。 但为了清楚起见,我们现在尝试定义一个简单的定义。
一个 10X 工程师是一个软件开发人员,他能够像他的十个同行一样高效。
10X 工程师的想法可能比你想象的更早出现。
A 研究报告 从 1968 年开始,名为“比较在线和离线编程性能的探索性实验研究”首次提出了这样一种观点,即一些最好的程序员比最差的程序员的表现要好一个数量级。 虽然这不是今天达成一致的定义,但 10X 工程师的想法很快在学术界之外传播开来。
几年后,经典著作《The 神话人月 进一步说明了 10X 工程师的想法。 作者 Fred Brooks 认为 软件开发 团队可以像外科团队一样组织起来。
在这个团队中,您将有一名首席程序员或“外科医生”以及支持程序员或“护士”。
虽然这个类比很容易理解,但我认为当应用于当前的软件开发状态时,它有点过于简单和过时了。
技术团队中的团队动态与外科医生的非常不同。 这种由一个人完成大部分工作或只做最具挑战性的工作的想法错误地描述了我认为 10X 工程师应该具备的特征。
常见的误解
随着 10X 工程师的概念在整个科技领域传播开来,大多数经理经常误解我们所说的“10X”的含义。
一个常见的误解是 10X 工程师产生的代码量是同行的十倍。 这是不正确的。
虽然 10 倍的工程师可以比他们的同事编写更多的代码,但数量并不是正确的衡量标准。 想象一个程序员花费一千行代码执行不到一百行就可以完成的事情。 同样,一个 10 倍的工程师编写代码的速度不会快十倍!
关于 10X 工程师的另一个误解是,他们之所以伟大,仅仅是因为他们的编码知识。 同样,这是查看错误指标的另一种情况。
使 10X 工程师如此有价值的原因在于他如何为他的团队和组织增加十倍的价值。 10X 工程师是必不可少的,因为他们能够使用自己的编码知识并将其与公司的需求保持一致。
管理者应该寻找能够解决问题并与他人合作良好的工程师。 除了编码知识,10X 工程师应该能够提升周围每个人的工作。
成为 10 倍工程师的五种方法
如果您是一名正在寻找下一个雇员的经理,或者只是一名渴望成为 10 倍工程师的工程师,则本部分适合您。
以下是 10X 工程师的一些关键习惯和特征:
他们知道如何充分利用他们的技术堆栈
了解你的工具也许是我能给你的最明显的建议。 但是,许多开发人员仍然可以通过学习如何有效地工作来改进他们的工作流程。
与我共事过的大多数 10x 工程师都熟悉终端。 虽然对于初学者来说可能有点学习曲线,但从长远来看,了解如何即时创建 shell 命令将帮助您更快地完成工作。
10x 工程师也可以从懒惰中受益。 让我告诉你我的意思。
想象一下,每天必须手动执行一系列命令才能将新提交推送到生产环境。 一个 10 倍的工程师应该避免做重复性的工作。 他们付出额外的努力来尽可能多地自动化一天。
最好的工程师也应该着眼长远。 如果您正在为一家初创公司工作,那么专注于快速简便的解决方案可能很诱人。 但是,这些解决方案可能无法按比例放大。
他们从不停止学习
一个伟大的开发者永远不会停止学习。 最优秀的工程师会在忙碌的工作日中抽出时间尝试新的概念、语言和框架,并尝试将其应用到他们的工作中。
一个 10 倍的工程师应该保持健康的好奇心。 他们经常问自己,“这可以做得更好吗?” 或“有没有更简单或更有效的方法来解决这个问题。”
因此,一个 10 倍的工程师必须掌握学习本身的艺术。 学习如何学习是在快节奏的环境中保持活力的最佳方式。
他们知道如何最好地度过他们的时间
一个伟大的软件工程师擅长做决定,尤其是关于如何利用他们的时间。
10X 工程师很少需要比普通工程师工作更多的时间。 工程师应该知道何时回击并对某些请求说不。 他们应该知道自己完成哪些任务以及委派哪些任务。
高效的工程师应该掌握如何辨别一项任务是否值得快速完成。 要记住的一种心理模型是帕累托原则。
该原则指出,你工作的 80% 的价值来自你 20% 的努力。 换句话说,并非所有任务都是平等的。
他们寻求适当的指导
一位伟大的工程师可以从行业经验丰富的老手那里学到很多东西。 10X 工程师经常发现自己在工作内外寻求指导以加深他们的知识。
同样,10X 工程师将受益于为自己的队友担任指导角色。 对他的新手队友开放,整个团队都被提升了。
他们了解业务
简单来说,软件工程只是计算机解决现实问题的一种方式。 考虑到这一点,一个高效的工程师必须成为他们试图解决的问题的专家。
作为一名工程师,努力了解您所在的业务或行业是一个明智的想法。 10x 工程师应该积极参与与其他部门的会议。
如果工程师花精力了解其他部门在业务环境中的工作,他们将成为有效的沟通者。 有效的沟通将有助于防止您的团队误解业务需求和项目规范。
结论
希望您现在对 10X 工程师的样子有了更清晰的了解。 您还应该了解 10X 工程师不是什么。
当然,上面的建议只是适用于任何软件工程角色的一般指导方针。 如果你想知道如何成为最好的 DevOps工程师,全栈开发人员或数据科学家,您最好的选择是寻找学习和构建的机会。
想想你现在的职位是否是一个良好的学习环境。 也许您想花更多的时间在可以让您探索当前技术堆栈之外的技术的辅助项目上。 这些只是您可以遵循的一些技巧,以在技术方面获得优势。
您认为对有抱负的工程师最有帮助的建议是什么?
发表评论