软件的软性层面

  下载本文的PDF版本 PDF

广度和深度

我们都身兼数职,但要确保你有一顶帽子是真正适合自己的。

Kate Matsudaira


我经常被问及职业建议。软件工程师们总是想知道他们是否应该学习一些新的工具或语言。事实上,我想不起我读过的哪一份软件开发人员的绩效评估中没有包含关于围绕特定技术提升技能的内容。

这就是我们工作的本质:它 постоянно 变化。你必须不断学习,否则你将被淘汰。

但对于你的职业生涯来说,是应该拓宽广度学习各种不同的东西,还是应该深入学习精通少数几样东西更好呢?

深入的理由

最近,我与另一位工程领导讨论了招聘和人员配置问题。我问他希望人们掌握哪些技术,他回答说这并不重要——优秀的软件工程师可以胜任任何工作。

这在过去一直是许多大型软件公司的想法,而且这肯定有其优点——尤其是在你招聘刚毕业的、没有经验的候选人时。然而,随着我在这个行业工作的时间越来越长,我开始改变我的想法。

我认为,至少在一个领域深入下去非常重要,而且几乎总是最好聘用那些在使用工具和技术方面具有扎实深度经验的人。

为什么你需要拥有深入的知识?

对于特定语言或技术而言,真正优秀的软件工程师将展现出如下特质

• 他们效率高。他们完成的工作量高于平均水平,并且能够把事情做好。这意味着他们知道如何熟练地使用他们的工具,并且不会因为不理解某些东西而拖慢速度。他们将脑力用于更困难的问题,而不是学习如何做基础知识。

• 他们做出明智的权衡。他们能够理解他们决策的风险。他们以前失败过,所以可以避免错误。如果某个地方有库或预构建的代码,他们可能知道——他们甚至可能在过去的项目中贡献或使用过它。

• 他们帮助他人。团队成员会向他们请教问题,因为他们以前做过,并且知道如何正确地做。这种专业知识使他们成为天然的领导者或导师。

• 他们按时完成任务。他们的估算几乎总是准确的。他们知道完成某件事应该花费多长时间,因为他们有类似项目的经验。

• 他们在个人和专业方面都在不断成长。由于他们对技术栈感到舒适,他们可以将时间用于学习其他领域的技能,例如领导力、沟通,甚至新技术。

• 他们有深刻的理解。当工程师长期使用特定技术时,他们会了解其工作原理的方方面面——好的部分和不好的部分。这可以迫使他们思考技术的构建方式。例如,在基础库中发现错误会教会他们编写更好的软件。这种深度也使他们能够更快地掌握其他技术。

当你聘请在特定技术方面有经验并且能够在此水平上工作的工程师时,他们能够快速上手。他们将不得不学习你的特定系统和软件的工作方式,但他们不必学习编写它们的工具和技术。

虽然获得深入的经验绝对有价值——并且它应该是你职业规划的一部分——但拥有广度也很重要。

拓宽广度的理由

当我回顾自己的职业道路时,我可以说我的广度对我帮助最大。作为一名开发人员,我对运维、底层操作系统和编译器的理解帮助我编写了更好的代码。作为一名经理,拥有其他学科的经验可以帮助我更好地与这些人合作。

例如,我们都编写过软件测试,但是当你与真正优秀的测试人员一起工作并学习他们思考和处理问题的方式时,这不仅可以帮助你更好地与他们并肩工作,还可以编写更健壮的代码。

作为一名技术主管,你不能只理解技术——你还必须理解业务。你必须关注客户,考虑产品,并能够理解你的决策的财务影响。通常,你管理的人员正在做你从未做过的工作——但你仍然需要能够衡量他们的影响并指导他们走向成功。

在这些情况下,仅仅精通一项技术是不够的;事实上,如果是这种情况,你将不会成功。你必须拥有广度,并且能够思考你正在解决的问题的其他方面,而且你必须拥有更广泛的理解才能与不同角色的人一起工作。

那么你应该拓宽广度还是深入呢?

我曾经有幸与一家伟大的软件公司的副总裁进行了一次指导会议。我问了他的背景,以及他认为是什么让他达到了现在的职位。他告诉我,他的职业生涯始于软件工程师,很快意识到成为最好的软件工程师将是困难的;另一方面,软件测试的竞争要小得多,而且很多人对它没有他那样的热情。

他改变了他的职业道路,转而从事软件测试,并继续写了几本书。他成为了世界上最好的测试专家之一,并被邀请在世界各地的会议上发表演讲。副总裁的头衔和责任是后来才有的,但这是一个自然的发展过程。

他对我的建议是:选择一件你可以成为世界上最好的事情。专注于它。凌驾于一切之上地追求它。成功将随之而来。

在很多方面,这是真的。当你在某件事上真正出色时,你积累职业资本,你可以用这些资本换取更高的薪水、更大的灵活性,甚至更高的职位头衔。

当人们问我他们应该把时间集中在哪里——我应该继续学习一项技术还是花时间学习一项新技术?——我会反问他们这个问题:你最有可能成为世界上最好的事情是什么?

答案可能是深入或拓宽广度——重要的是把你的时间花在培养能够把你带到你想去的地方的技能上。

Kate Matsudaira 是一位经验丰富的技术领导者。她曾在微软和亚马逊等大型公司以及三家成功的初创公司(Decide 被 eBay 收购,Moz 和 Delve Networks 被 Limelight 收购)工作,之后创立了自己的公司 Popforms (https://popforms.com/),该公司被 Safari Books 收购。她在职业生涯早期是一名软件工程师,技术精湛,并在分布式系统、云计算和移动领域做出了领先的工作。她拥有管理整个产品团队和研究科学家的经验,并建立了自己盈利的企业。她是一位已出版的作家、主题演讲者,并荣获西雅图 40 位 40 岁以下精英等奖项。她是 acmqueue 的董事会成员,并在 katemats.com 维护着个人博客。

版权 © 2017 由所有者/作者持有。出版权已授权给 。

acmqueue

最初发表于 Queue 第 15 卷,第 4 期
数字图书馆中评论本文





更多相关文章

João Varajão, António Trigo - 评估 IT 项目成功:感知与现实
本研究通过提供对 IT 项目成功的新见解,对实践、研究和教育具有重要意义。它通过报告项目成功(而不仅仅是项目管理成功),基于几个客观标准,例如项目后期阶段客户对可交付成果的使用、客户雇用与项目相关的支持/维护服务、客户签订新项目以及客户向潜在客户推荐供应商,从而扩展了项目管理知识体系。研究人员可以找到一组标准,他们在研究和报告 IT 项目的成功时可以使用这些标准,从而扩展当前对评估的视角,并有助于得出更准确的结论。


Abi Noda, Margaret-Anne Storey, Nicole Forsgren, Michaela Greiler - DevEx:什么才是真正驱动生产力的因素
开发者体验侧重于开发者的实际体验以及他们在日常工作中遇到的摩擦点。除了提高生产力外,DevEx 还通过提高效率、产品质量和员工保留率来推动业务绩效。本文提供了一个理解 DevEx 的实用框架,并提出了一个测量框架,该框架将来自开发者的反馈与他们交互的工程系统的数据相结合。这两个框架为领导者提供了清晰、可操作的见解,让他们了解需要衡量什么以及在哪里集中精力以提高开发者生产力。


Jenna Butler, Catherine Yeh - 设身处地为他人着想
新冠疫情在许多方面改变了人们的工作方式,但许多结果本质上是矛盾的。对一个人有效的方法可能对另一个人无效(甚至对同一个人第二天也无效),我们尚未弄清楚如何准确预测什么对每个人都有效。正如您在此处描述的综合角色中所看到的,有些人与世隔绝和孤独作斗争,很难与他们的团队进行社交联系,或者发现与远程团队进行混合工作的时间压力令人难以承受。另一些人则喜欢这种新发现的工作方式,享受更多与家人共处的时间、白天锻炼的更大灵活性、更好的工作/生活平衡以及为世界做出更大贡献的强烈愿望。


Bridget Kromhout - 容器无法修复你破碎的企业文化(以及其他残酷的真相)
我们经常只关注技术反模式,而忽略了我们社会结构内部的类似问题。剧透警告:许多看似技术难题的解决方案可以通过检查我们与他人的互动来找到。让我们来谈谈与那些被称为人类的讨厌生物一起工作时,你想了解的五件事。





© 保留所有权利。

© . All rights reserved.