写点什么

工程主管有哪些职责?

  • 2020-05-11
  • 本文字数:3758 字

    阅读完需:约 12 分钟

工程主管有哪些职责?

本文最初发布于 Hashtag Coder 博客,经原作者授权由 InfoQ 中文站翻译并分享。


在我的职业生涯中,我很荣幸自己身为组织的一员能不断被组织推动着前行。我刚来到现在任职的公司 Roundtrip 时是一名软件工程师。当时,Roundtrip 是医疗运输领域的一家早期初创公司,包括我在内总共有六名员工。随着团队的成长,我的直属上司,也就是公司的 CTO 需要从日常工作中抽身出来负责更宏观层面的事务,因此我也被提升到了领导岗位上来填补他的空缺。我的责任和职责发生了变化,但当时我在组织结构图中的位置没有改变。


我不知道组织对我有怎样的期望,但是我知道自己必须扩大团队规模,具体做法包括寻找新的工程师,处理技术和个人面试事宜,还要创建诸多流程来推动团队前进。除此之外,我还必须弄清楚我的职责范围。



三年过去了,我终于能自信满满地谈论我的职责,以及我眼中这个职位带给组织的价值了。最近我给自己提出了一项挑战,那就是将我的角色画成思维导图,并将每个部分详细分解为具体的期望。团队领导力

一对一面谈

我的任务是打造一支创建世界一流产品的世界一流的工程团队。要完成这个目标,需要从团队的每一位成员开始行事。我需要了解和管理各位成员的动力、情感、技能和期望水平,帮助他们设定目标,消除个人和职业障碍,并让他们满意自己的薪水和当前的角色,这样才能让他们保持专注并持续输出高质量的成果。我每周都会与我的团队成员一对一会面,以随时把握他们的需求节奏,并为他们提供一个可以倾听自身诉求的平台。

招聘

要打造最好的团队,我们必须找到最优秀的人才。我们招来的每位新人都应该比现有团队的平均水平更强。这样就可以保持较高的团队素质水平,并让每个人都感受到竞争的压力。


招聘不只是要找到符合职位需求的人才。我还要考虑符合团队需求的那些个人特质。为此,我要确定团队的弱点和需求都有哪些,并找到可以弥补这些不足的人员。如果我有强大的执行者,但缺少人员领袖,那么我会请一位擅长领导的人才。总的来说,我需要招来的人有自己的长处,而不是要求他们完美无缺。这样就可以确保我能拥有一支强大而平衡的团队。

绘制工程团队成长蓝图

进步是动力的重要源泉。人们需要知道组织对他们有什么期望,这样才能持续挑战自我。有一句老话说得好:“根据你期望的职位塑造自我”。我也鼓励我的团队采取这种行为,因为随着我们为每个职位设定期望和成功的具体标准,并在一对一交流期间衡量成员与这些标准的距离,我们就能为各位成员定义出明确的职业发展道路,并在他们需要完成具体哪些工作的问题上保持足够的透明度。如果有人表现出色,那么自然就会得到晋升。


我曾经认为辛勤的工作会让员工得到晋升。这是因为当时我不明白不同的岗位之间除了头衔的变化外还有哪些具体的职责差异。现在我的视角就有所变化了。如果我团队中的某位成员正在努力工作,我会让他留在自己的岗位上,因为他正在完成工作。相比之下,我要寻找的是能帮助我打造 10 倍工程师团队的人才——这样的人才不是要成为优秀的工程师,而是要领导他周围的人们都做好自己手头的工作。

加强核心价值观

核心价值观是我用来确保每个岗位上都有合适人才的主要武器。对我来说,如果我认同一个组织的价值观,我也会很愿意加入他们。例如,Roundtrip 有 5 种价值观:


  • 主人翁意识

  • 主动性

  • 弹性

  • 重视倾听

  • 保持简洁


只要让我自己和同事们一直在这些价值观的约束下行事,我们的团队就能保持在较高的水平上。

推动我们朝着使命前进

要让所有人朝着同一个方向划船,最好的方法是将使命视为我们的真相来源和前进道路上的向导。每位成员、每个流程和每种举措都要根据使命来评价,这样我们就能向着目标一步步迈进。


随着 Roundtrip 的成长,我们用使命来提醒自己保持同理心。打造一个只关注付费客户需求的“成长型组织”是很容易的,但是作为一个使命驱动型组织,我们要做的是消除医疗保健领域中的交通运输瓶颈,从而帮助那些没有得到妥善服务的人们;因此我们需要牢记,那些对营收数字贡献不大的客户也是对组织来说同样重要的。每位领导者都有责任不断向团队传达这一信息。

流程管理

软件开发生命周期

良好的软件开发生命周期(SDLC)可以帮助我们以可预测的方式持续提供高质量的软件。尽管我离开一线岗位已有一段时间了,而且工程总监可能都很少有时间来写代码,但我仍然要决定我们的具体工作方式。


在这里,一个平衡点是我自己专注于产出、价值和成本,同时让我的团队专注于具体的成果。我负责报告创建一项功能所需的时间、每个 sprint 可以获得的点数,以及保持团队运营所需的成本。我能管理的必须是我能衡量的事物。

扩大团队规模

我在扩大团队规模时肩负的职责是双向的。向下来说,我有责任为团队找到合适的人选,并要能将他们放在正确的位置上。向上而言,我要为组织考虑成本和优化的问题。我必须在预算范围内招聘新人,让公司的盈利能力不受影响。大手大脚花钱办事是很容易的,但要以一种在财务角度上负责任的方式来解决问题,帮助公司在成长时保持瘦身状态,这就困难得多了。


当新的成员加入我们的团队时,我负责建立入职流程,为他们提供必要的背景信息,让他们准备好踏上成功之路。为此,我将入职过程分为三个阶段。第一步是确保他们“领会”。具体来说就是让新人熟悉组织、问题的范围和我们现有的流程。下一步是确保他们“想要”。在入职期间,我要让新人获得正确的动机和动力。从这里开始,我会根据我们的核心价值观来评价他们,并为他们设定一些目标。最后,我要确保他们“可以做到”。他们能够挑战团队的其他成员吗?他们是晚会主角吗?对我而言,想要成功就需要维持一个不断发展以满足团队需求的过程,而我的措施是塑造一种健康的工程文化。

定义技术策略

Roundtrip 技术团队分为两个部分:工程和产品。工程团队侧重于“方法”,而产品团队则关注“内容”。尽管我不负责定义产品路线图,但我有责任解决团队所面临的挑战。我们每周开会讨论路线图上需要做哪些规划,从解决技术债务到开发基础设施增强措施都可以是规划的内容。


另一部分是设计产品以满足客户不断变化的需求。我曾经更偏重解决方案开发过程中的技术方面,但是最近我需要从这一领域抽身出来,专注其他方面的职责,所以要将技术层面的工作托付给我的团队。

EOS

经营公司是很困难的事情。Roundtrip 尝试了几种不同的系统来帮助组织全体向着同一方向前进,但最适合我们的系统是 EOS。作为组织的领导者,我的职责包括主持团队的 L10 会议,从而掌握我们每周的工作情况,并帮助我们以客观的视角看待业务,从而快速识别和解决问题。

产品方向

为路线图提供资源

Ben Horowitz 提出了一种非常好的理念,那就是将公司定义为两个阶段:和平时期和战争时期。在和平时期,我们会经历长期的增长,在此期间我们专注于构建产品以为客户创建更好的流程。在这一时期,产品团队定义了一个路线图,而我必须确保工程团队有足够的资源来完成工作。在战争时期,比如说当我们处于经济衰退期时,就该优化路线图和流程了。在这一时期内可用的资源可能受到限制,这意味着产品团队必须根据我们现有的资源来定义路线图。战争时期,组织更专注于提高收入和保留/获取客户的计划,因此我的职责也从找到符合岗位需求的合适人员,转变为让现有的员工找到合适的工作,从而尽可能保持预算平衡。

管理部署

作为工程总监,我必须确保我们的交付节奏。如果这里存在障碍,我必须引导我的团队跨过它们。部署通常是软件交付流程中最后也是最困难的部分,因此我的大部分精力都用在了打造可靠的流程上。


我还必须考虑部署对客户和我的团队的影响。我一方面要让客户尽量不受部署行为的干扰,另一方面还要让团队适应特殊的部署时间,保持健康的工作状态,这种平衡实在是很难掌握的

监督整合

与第三方合作可以帮助我们成长,但是从技术角度来看这些计划会带来巨大的风险,因为我们无法控制很多来自第三方的影响。从早期技术讨论到实现和采用过程,我一直在关注那些正在使用的流程,以确保一切顺利进行。归根结底,我们只有一次机会来建立良好的第一印象,因此我需要确保我们能给人展示最好的初始印象。

权限控制

这一部分是要确保人们只能获得自己所需的东西,从而控制风险。但这里也有另一个视角。我想让我的团队感到自己得到了充分的信任,并能主导他们正在创建的产品的控制权。我试着雇用聪明的人来做聪明的事情,将任务委派给他们,让他们获得权限并有掌控全局的感觉。

自行构建还是购买功能

如今,随着可用服务的数量不断增加,我们只需将各种第三方产品拼接在一起就能轻松创建自己的产品。但是这样做会让我们失去很多对功能的控制权,还会降低功能的独特性。作为开发人员,选择自己创建所有内容同样是很容易的。但是这样做会浪费时间并增加复杂性。


在我的立场来看,这就要不断思考并对比“构建与购买”的优劣,从而优化成本结构并简化工作。总的来说,我需要判断哪种决策可以给我带来最佳的投资回报。

总结

工程主管是具有挑战性的岗位。这一职位对人员和技术都要承担很多责任。这意味着你要肩负起最重要的使命,并且在危机时期往往责任也更为重大。没人给你提供时间表或者对未来的预测,而且这并不是那种朝九晚五的工作,而是要全力排除掉前路的障碍才算完事。但如果你能正面迎接挑战,就会在你的员工和产品中看到直接的成果,这会是非常有成就感的事情。

延伸阅读

https://www.hashtagcoder.dev/blog/director-of-engineering


2020-05-11 15:242505

评论

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

最新攻略!掌握这些技巧,推特视频下载so easy!

frank

twitter

推荐系统[八]算法实践总结V1:淘宝逛逛and阿里飞猪个性化推荐:召回算法实践总结【冷启动召回、复购召回、用户行为召回等算法实战】

汀丶人工智能

自然语言处理 推荐系统 推荐算法 推荐引擎算法

JVM课程作业

追随哆咪

DNSPod十问简丽荣:国产数据库的月亮与六便士

酷克数据HashData

SaaS 行业垂直数据库需求5点思考:成本、计费、库表量、多云、低代码

B Impact

Python学生管理系统

漫步桔田

2023-02-24:请用go语言调用ffmpeg,解码mp4文件并保存为YUV420SP格式文件,采用YUV420P转YUV420SP的方式。

福大大架构师每日一题

golang ffmpeg 福大大

收割不易,五面Alibaba终拿Java岗offer

程序知音

Java java面试 Java进阶 后端技术 Java面试八股文

详解Apache Sentry->Ranger平滑升级方案

华为云开发者联盟

开发 华为云 企业号 2 月 PK 榜 华为云开发者联盟

你知道CleanMyMac是什么吗软件?好用吗

茶色酒

CleanMyMac X2023

FL Studio21水果最新完整版音乐编曲软件

茶色酒

FL Studio 21 FL Studio21

吞吐量最高提升 400%!百度智能云联合 NVIDIA 完成首批 17 个自动驾驶模型优化

Baidu AICLOUD

自动驾驶 模型训练

2023最新版网络安全保姆级指南,手把手带你从零基础进阶渗透攻防工程师

网络安全学海

黑客 网络安全 信息安全 计算机 渗透测试

Airbyte,数据集成的未来

CnosDB

数据库 时序数据库 开源社区 CnosDB

Stripe 不再受硅谷宠爱:高层与销售分裂、限制型股票拖后腿

B Impact

Tapdata Connector 实用指南:实时数仓场景之数据实时同步至 ClickHouse

tapdata

数据库 实时数仓

7 理解企业的战略

涛哥 数字产品和业务架构

企业架构 业务架构 战略

JPEX宣布将在香港申请加密货币交易牌照,促进全球生态布局

股市老人

金三银四吃透这份微服务笔记,面试保准涨10K+

小小怪下士

Java 程序员 面试 微服务

华为云 UCS (On-Premises):运行在您本地数据中心的CCE集群

华为云开发者联盟

云计算 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

FL Studio2023中文电脑版本下载

茶色酒

FL Studio2023

Oracle在“AI云战”比AWS、Azure的优势:多云、无竞争、收费低训练快

B Impact

Python电影售票系统

漫步桔田

零基础解读ChatPGT:对人类未来工作是威胁还是帮助?

华为云开发者联盟

人工智能 华为云 ChatGPT 企业号 2 月 PK 榜 华为云开发者联盟

极光笔记 | 埋点体系建设与实施方法论

极光GPTBots-极光推送

精细化运营 数据埋点 用户运营

2023年1月综合预订类APP用户洞察——旅游市场复苏明显,三年需求春节集中释放

易观分析

App 旅游 后疫情时代

Python银行取款系统

漫步桔田

ABBYY16绿色免费pdf编辑器下载

茶色酒

ABBYY16

技术科普|模糊测试背后的2个核心逻辑

云起无垠

模糊测试

会声会影2023终极版下载安装教程

茶色酒

会声会影2023

数据库行业的 “叛逆者”:大数据已“死”,MotherDuck 当立

CnosDB

数据库 时序数据库 开源社区 CnosDB

工程主管有哪些职责?_大前端_Sha Alibhai_InfoQ精选文章