作者 | Ben Linders, Joy Ebertz, Pablo Fredrikson 等
译者 | Sambodhi
策划 | Tina
小组嘉宾
Joy Ebertz - Harness 公司首席工程师
Pablo Fredrikson - Bitso 公司首席 SRE
Charlotte de Jong Schouwenburg - Bravely 联合创始人、商业心理学家、高管教练、培训师
InfoQ:担任首席工程师是一种怎样的体验?在您的公司,该角色是如何定义的?
Joy Ebertz:
作为首席工程师,我的角色每天、每月、每年都在发生显著变化。这是一种在公司需求、我的技能以及个人意愿之间寻求匹配的过程。其中不仅关乎我的兴趣,而是我想要做什么。我有时需要做一些技术工作,以积累行业信誉,从而在未来推动特定技术方案时具备更强的影响力。
另一方面,尽管我会与经理协商来确定工作重点,偶尔他也会要求我调整方向,但更常见的情况是我会自己决定要做什么。
成功的关键在于了解如何发挥自己的最大效能。例如,我发现自己在与至少一位同事合作时效率最高 —— 这样不仅能起到监督作用(哪怕他们并没有直接参与到工作中),还能与之交流思路。
具体来说,我曾花费数月时间调研授权框架、工具和供应商,并制定相关建议、规划和评估方案。我也曾与其他工程师共同推进特定项目,并参与编码。因此,我的工作有时侧重于深入研究和撰写文档,频繁的开会、演示和说服他人,有时则专注于编码。这一切都取决于公司的需求、我的技能,以及我在特定阶段的侧重点。
Pablo Fredrikson:
作为首席工程师,责任重大。(也充满乐趣!)首席工程师的职责范围广泛,通常从带领工程师团队编写高质量代码开始,用技术专长指导团队提升生产力。除此之外,他们还专注于识别那些能对公司产生重大影响的项目。首席工程师往往是最先发现工程流程中低效环节或可改进之处的人,而他们有责任解决这些问题。通过这样做,他们不仅提升团队生产力,还能提高公司的整体价值和技术水平。
Charlotte de Jong Schouwenburg:
我们与各类公司的首席工程师合作,涵盖从初创公司、快速成长型企业到像微软这样的跨国公司。根据企业文化、发展路径和领导需求,首席工程师的角色定义、职责要求和任务也会有所不同。
InfoQ:软件工程师需要培养哪些技能才能成为首席工程师?
Joy Ebertz:
随着职位的提升,技术能力与领导能力的平衡变得愈加重要。(我特意避免使用 “软技能” 一词,因为我不想暗示这个技能不重要。)对于那些寻求晋升的人来说,技术能力通常不构成瓶颈,因此我将在这里重点讨论人际交往与领导能力。我想讨论的第一项技能是理解全局并做出权衡。我所说的权衡,实际上是时间和精力的分配。随着工作经验的积累,你会自然发现很多改进的空间,但并不是所有问题都值得花大量时间解决。有些问题,在小公司并不需要关注,但大公司就可能必须去解决。你需要从“发现可以改进的地方”转向“什么时候足够好就可以停止”的思维方式。
下一项技能是人们常谈到的 —— 影响力。你通常需要说服他人支持你。影响力不仅仅是提出有力的论点,它还涉及理解他人的动机,以及公司、团队和个人的文化。如果别人拒绝,是因为他们认为你的提议不合理,还是因为工作负担过重,无法腾出时间?如果是后者,你能做些什么来解决问题或改善他们的处境?
我想提到的最后一项技能是沟通能力。你可以将其视为影响力的子技能,但它很重要,值得单独强调。在正式与非正式场合,无论面对大团队还是小团队,提升书面和口头沟通能力,能极大地帮助你传达想法。
Pablo Fredrikson:
同理心是软件工程师成为首席工程师必备的关键技能。为人正直至关重要。虽然技术能力很重要,但同理心和积极主动的态度更为关键。
首席工程师应能识别流程中的问题并提供解决方案,同时,必要时还应愿意指导和帮助其他工程师。
Charlotte de Jong Schouwenburg:
首席工程师的职责将从专业领域扩展到领导、激励和鼓舞团队成员,并帮助他们发挥最大潜力。这需要一套与专业能力相辅相成的技能。
以下是一些相关的领导技能(此清单并不详尽,具体内容会受到公司文化、需求以及团队成熟度的影响):
专注增强信任、自主性、目标感、心理安全感和主人翁意识
提供明确的框架(有助于增强心理安全感)
培养成长型思维模式
提供并推动持续反馈
引导团队从冲突走向合作
强调团队在公司中的贡献和地位,重申与公司整体目标的联系(有助于增强目标感)
掌握情绪调节
学会向上管理:说服领导层认可某项计划的价值,即使需要额外资源或成本
能够应对困难:坏消息、冲突管理、反馈与设定界限
言行一致:明确你期望团队成员展现的行为,并确保自己时常践行这些行为
InfoQ:软件工程师如何提升这些能力?
Joy Ebertz:
对于一些技能,比如沟通能力,关键在于抓住机会,勇于接受挑战,即使这让你感到不安。
例如,我写得越多、说得越多,就越感到自如,也越发现自己有更多想表达的内容。我发现一些书籍对提升其他技能很有帮助,但与人交流也是一种很好的方式。找到一位同行或更资深的导师,与他们讨论这些问题,可以很好地验证直觉,并帮你发现一些可能忽视的细节。同样,与比你更资深的人合作,尤其是处理复杂情况的项目,也是了解他人如何应对这些问题的好方法。
Pablo Fredrikson:
从主动倾听他人开始。不要急于一开始就掌握所有技术;技术专长会随着时间的推移自然积累。
Charlotte de Jong Schouwenburg:
软件工程师可以通过以下方式提升能力:
以榜样为师 —— 观察、反思并吸收那些鼓舞人心且高效的领导者所运用的技能(这些领导者也可以来自其他领域,因为这些技能在各领域都适用)。
参加培训,尤其是寻找包含行动学习的研讨会,通过培训师的帮助,在真实的相关场景中运用新技能。
尽可能多地实践 —— 领导力体现在你的日常行为和沟通中。尝试在现实生活中引入、重复并优化尽可能多的技能(如反馈)。
InfoQ:软件工程师如何才能更有效地成为(技术)领导者并提高影响力?
Joy Ebertz:
除了提升技能外,我还想提到三点。首先是善用你的经理 ,将他们视为合作伙伴。这不仅会为你的职责范围取得最佳结果,还能确保他们了解你的目标以及你特别希望发展的技能,从而帮助你发现更多机会。
其次,主动寻找机会拓展自己的影响力 —— 这不仅能让更多人认识你,还能帮助你更全面地了解公司内各团队、部门和业务领域的动态。如果缺乏高层视角,就很难建立全局观并做出合理的权衡。
利用经理的支持,争取参与更高级别的会议,或者在无法参会时让他们为你做简要总结。最后,主动寻找机会去结识公司各个部门的同事。如果你能在不影响自身关键事务优先级的前提下,顺手帮助他们一些小忙,那就去做吧。在不同领域积累社交资本,并深入了解其他团队如何看待公司、他们的工作等,这将非常有价值。
Pablo Fredrikson:
参加行业会议是一个很好的起点!在会议上,你可以学习他人的经验,包括他们遇到的挑战以及如何解决这些问题。指导他人也是一种极佳的成长方式。我运营着一个 YouTube 频道,分享自己在日常工作中的技术见解。我发现,创作内容需要对所讲解的主题有深入理解,因此,在准备分享知识的过程中,我也进一步加深了自己的专业素养。毫无疑问,知识分享极大地提升了我的技术能力。
Charlotte de Jong Schouwenburg:
要提升自身的影响力和效率,可以从我之前提到的三点入手:以榜样为师、参加培训、在实践中学习。
熟能生巧。展现自己持续学习、成长并勇于面对挑战的态度,这正是你希望团队成员效仿的行为典范。
InfoQ:企业如何才能确立和塑造首席工程师的角色?
Joy Ebertz:
公司确立和塑造首席工程师角色的最佳方式是,明确说明他们希望从这一角色中获得什么,同时允许被聘用者进一步定义或调整这一角色。如果最初聘用的几位首席工程师能够深刻理解组织需求并善于解决问题,这种方法会特别有效。
我见过的两种失败模式是:一种是限制过多的公司,它们不给工程师自由或资源去做他们认为最重要且最有影响力的事情;另一种是过于松散的公司,它们不清楚自己希望从资深工程师那里得到什么,因此未能为他们提供足够的指导以开展工作。
Pablo Fredrikson:
寻找有潜力的人 -- 那些关心他人、想要学习并渴望指导他人的人。这些人很可能在几年后领导公司。留住他们,为他们提供成长和发挥影响力的机会!
Charlotte de Jong Schouwenburg:
公司可以做的有:
赋予自主权:制定明确的职业发展道路
有效管理期望:清晰地列出期望的品质、行为和成长路径
界定职责范围和限制
明确公司文化:用实际行动践行你对员工的期望
结 论
首席工程师承担多样的任务,如领导技术团队、影响决策和推动改进。他们的工作根据公司的需求和个人目标进行调整。
在这一角色中取得成功需要兼顾技术专长和领导能力。重要的技能包括宏观思维、权衡利弊、影响他人、理解团队动态、沟通以及指导和激励团队等人际交往技能。
工程师可以通过导师指导、培训、观察和实践来培养这些技能。我们建议工程师积极倾听,抓住领导机会,扩大自己在公司内部的影响力并与其他部门积极互动。
公司应当明确对首席工程师的角色预期,提供自主权,并允许他们灵活地塑造自己的角色。提供成长机会,并营造注重学习和领导力的企业文化。


财经自媒体联盟

4000520066 欢迎批评指正
All Rights Reserved 新浪公司 版权所有