写点什么

如何成为首席工程师 |InfoQ 圆桌

作者:Ben Linders, Joy Ebertz, Pablo Fredrikson等

  • 2025-03-20
    北京
  • 本文字数:3689 字

    阅读完需:约 12 分钟

如何成为首席工程师 |InfoQ 圆桌

小组嘉宾

  • 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

公司可以做的有:

· 赋予自主权:制定明确的职业发展道路

· 有效管理期望:清晰地列出期望的品质、行为和成长路径

· 界定职责范围和限制

· 明确公司文化:用实际行动践行你对员工的期望

结论

 

首席工程师承担多样的任务,如领导技术团队、影响决策和推动改进。他们的工作根据公司的需求和个人目标进行调整。

 

在这一角色中取得成功需要兼顾技术专长和领导能力。重要的技能包括宏观思维、权衡利弊、影响他人、理解团队动态、沟通以及指导和激励团队等人际交往技能。

 

工程师可以通过导师指导、培训、观察和实践来培养这些技能。我们建议工程师积极倾听,抓住领导机会,扩大自己在公司内部的影响力并与其他部门积极互动。

 

公司应当明确对首席工程师的角色预期,提供自主权,并允许他们灵活地塑造自己的角色。提供成长机会,并营造注重学习和领导力的企业文化。

 

原文链接:

www.infoq.com/articles/virtual-panel-principal-engineer/

2025-03-20 08:002845

评论

发布
暂无评论

免费下载!FFA 系列专刊|《Flink CDC 新一代数据集成框架》电子书

Apache Flink

大数据 flink 编程 实时计算 IT

从 Flink Forward Asia 2021,看 Flink 未来开启新篇章

Apache Flink

大数据 flink 编程 实时计算

浪花过后,2022低代码该往哪儿走?

ToB行业头条

Pravega Flink Connector Table API 进阶功能探秘

Apache Flink

大数据 flink 编程 实时计算 Pravega

足球、篮球、花样滑冰、乒乓球四大运动的动作识别通用方案开源了

百度大脑

人工智能

简单的线程池实现多线程对大文件的读取

CRMEB

通证经济是更高层次的自由

CECBC

MyBatis的功能架构是怎样的

编程江湖

mybatis

初识MASA Blazor

MASA技术团队

C# .net 微软 后端 blazor

HBase的 rowkey 设计原则

编程江湖

HBase 架构

女生不适合当程序员?XTransfer这位程序员妈妈绝了!生娃半年内升职加薪

XTransfer技术

技术人 程序媛 XTransfer

OpenMLDB在AKULAKU实时特征计算场景的应用

第四范式开发者社区

机器学习 大数据 OpenMLDB 特征平台

Flink 大规模作业调度性能优化

Apache Flink

大数据 flink 编程 实时计算

netty系列之:可以自动通知执行结果的Future,有见过吗?

程序那些事

Java Netty 程序那些事

工商银行实时大数据平台建设历程及展望

Apache Flink

大数据 flink 编程 实时计算

针对 jQuery 的优化方法有哪些

编程江湖

使用APICloud AVM框架开发预约应用

YonBuilder低代码开发平台

前端框架 APP开发 APICloud 跨端开发 小程序开发

低代码实现探索(二十七)低代码如何继承传统

零道云-混合式低代码平台

Apache Flink ML 2.0.0 发布公告

Apache Flink

大数据 flink 编程 实时计算

有一群青年人,用热爱连接起科技与智慧生活的“双向奔赴”

最新动态

架构训练营 week6 作业

红莲疾风

「架构实战营」

WorkPlus移动数字化平台赋能新型智慧城市建设

BeeWorks

教程直播第7期|如何对 OceanBase 进行 SQL 诊断和调优

OceanBase 数据库

oceanbase OceanBase 开源 OceanBase 社区版 OceanBase教程

销量之王,去年程序员最爱看的技术书就是它!

博文视点Broadview

mark: mac 开启chrome webrtc 日志

webrtc developer

chrome WebRTC

大咖集结,共创生态|AIOps社区专家团正式集结出道

云智慧AIOps社区

开源项目 开源社区 智能运维 开发者社区 社区治理

Alink、Tensorflow on Flink 在京东的应用

Apache Flink

大数据 flink 编程 实时计算 Alink

Redis OM .NET Redis对象映射框架

MASA技术团队

C# .net 微软 后端 redis'

低代码实现探索(二十六)移动端H5开发

零道云-混合式低代码平台

RadonDB PostgreSQL on K8s 2.1.0 发布!

RadonDB

数据库 postgresql 开源 RadonDB

架构实战营:模块六作业

Geek_93ffb0

「架构实战营」

如何成为首席工程师 |InfoQ 圆桌_数字人才培养_InfoQ精选文章