相信大部分人对于团队管理和技术管理在认知上,存在一定隔阂,无形之中会将【管理岗】和【技术岗】进行对立比较。

在国内一些大研发团队,一般会同时设置两类角色来更好地做团队运行管理。

  • 研发经理/总监,主要负责团队价值输出和业务目标管理;

  • 技术Leader/架构师,主要负责技术攻坚和技术架构落地。

本文结合本人自身一些浅薄的技术管理认知,跟大家聊一下如何成长为优秀的技术Leader。

是否需要一个技术Leader?

首先,第一个问题:我们是否需要一个技术Leader?

也许会有人反对这个角色,并觉得优秀的开发人员可以自己做出决策,并做好部分技术Leader的工作。

即使存在以上这些完美的情况,在团队成员间公开谈论彼此,在达成一致同意的解决方案之前讨论利弊,这些种种工作vs利益间微妙的平衡,或许需要技术Leader 这样的一个角色。

我觉得不应该关注于这个角色是否应该存在,而最好将重点放在其职责可能会带来的收益上。

技术Leader 与每个领导职位一样,糟糕的领导者会使事情变得更糟。

技术Leader 需要具备什么能力?

可以明确的一点是:一个合格的技术 Leader 有责任来帮助团队的进步。

作为该角色的人员,他应该具有非常不错的技术视野/经验以及良好的沟通技巧。他对项目或产品的技术方向负责(准确地说是对结果负责),并作为跨团队沟通的首选人。

对于大中型团队而言,Tech Leader 主要的职责包括:

1)指导项目的技术设计及制定开发规范

例如。我们将使用什么技术,我们将如何交付项目,我们将使用哪些模式等。

2)分析风险和跨功能要求

分析风险意味着降低风险:我们可以选择某种方法,还是说有太多未知数。

在承担一定风险时,对项目的影响是什么?例如。介绍您在会议上看到的新技术。

3)指导/教练经验不足的新人

很可能在你的团队中有不同的经验的同学。一旦谈到项目成本,考虑匹配技能和经验时,它就变得很有意义。因此,需要重视对经验不足新人的培养。

4)关注跨团队协助与沟通

一个项目团队包含各个相关联角色群体,研发、测试、产品、运营甚至需求业务方等等,其他角色同学可能在技术上不如开发人员,他们将使用不同的语言,技术Leader 将需要关注于这一点,并做好协调与沟通。

如何做一个合格的技术Leader?

正如职位所描述的那样,技术 Leader是一份包含技术和管理双重责任的工作,准确地说应该是:先技术,后领导。

那在实际工作过程中,需要注意做好哪些点呢?

1)倡导技术创新与变革

倡导技术创新与变革,建立积极的思维模式。当一个流程缓慢或者繁琐时,要尝试去改变它,使其变得更好。这样做的一种方法是使用 OODA 循环:

  • 观察(Observe)

  • 定位(Orient)

  • 决定(Decide)

  • 行动(Act)

为了正确观察缓慢或繁琐的流程细节,最好的方式就是成为其中的一员(例如:著名的现场主义),并体验与团队中其他人一样的痛苦。

你应该采取一种不断改善某种状况的心态。日本称之为“Kaizen”(改善法,其起源于丰田公司在生产、机械和商务管理中持续改进的管理法)。

在我们的研发过程中,希望改进的是团队的效率和乐趣,以及软件项目的最终交付。

2)坦然面对失败与成功

  • 事情有可能会失败,不用过分担心失败

技术方案落地可能失败,项目开发建设可能失败、部署上线可能失败、系统重要监控点可能被遗漏、系统宕机崩溃可能会发生。

如果你已经为失败做好了十足的准备,那么应该会比较容易应对。

当事情失败时,不要寻找责怪的人!你是技术 Leader,有承担的责任和义务。

花费你的精力来解决手头的问题并从中吸取教训。当然,不要在一个坑里摔倒两次,如果你需要经历两次相同的失败来解决同一个错误,那么你应该是做出了错误的决定。

从失败中汲取教训,将塑造您的方向,并在未来做出更好的决策。

  • 学会为成功喝彩

当团队有成就感时,成员们会感受到快乐,同时积极的情绪会让后面的工作尽可能做到最好。庆祝阶段的小成就非常重要,例如成功地冲刺或完成的功能。

当有人想出一个新想法时,也许是他们在会议上看到的一种方法或框架,如果这个想法得以实现,重要的是任何带有新想法的人都应该被认可。这是非常有益的,将带来更多的合作,创造力和开箱即用的思维。

形式也许没那么重要,一顿小午餐,也许是一个团队建设都是一个很好的想法,同样可以凝聚一个快乐和积极的团队。

3)保持技术

技术主管有很多非编码职责,但不要忽视实践技术活动是非常重要的:

  • 编写代码,进行概念验证,定义接口等,根据团队的成熟程度,您的参与会有所不同。

  • 进行代码CR,并审核您的代码。当新人参与项目时,我倾向于进行大部分代码审查,而且我会非常严格:我会编写导致 NullPointerExceptions 的测试,我会要求他们遵守惯例,使用单一责任原则,小心包装和命名等。我还将详细说明这些评论的推理和所做出的选择。这可能会挑战现有的工作方式并提高代码库的成熟度。他们必须做的更改(审核后)将很快变得更少。

  • 确保技术愿景存在,并由团队共享。这一愿景需要符合客户的需求。客户需求将导致重要的限制,例如。关于重用(一个一次性的营销项目与多年的企业努力……但要注意这种类型的约束也可能会改变)。分享您与团队实现这一愿景的方式,将会对其采用产生巨大影响。尝试让团队参与到技术愿景中。并确保他们知道他们如何为实现这一愿景做出贡献。

  • 密切关注代码的演变:一段时间后,您所做的实际编码量可能会更低,但您需要及时了解代码的演变。您需要了解系统及其技术限制。

大多数(如果不是全部)开发人员将乐于定义框架,提倡某些方法等。但是,一些非功能性需求(也称为质量属性)(如网络,安全性,部署和一致性)经常被忽视。

4)良好的时间管理

作为技术Leader,您应始终为您的团队服务;提问、支持、指导或做出决定。

  • 技术设计 为团队(包括您)准备工作。确保清楚需要实施什么以及如何实施。这通常会考虑很多质量属性,如网络,安全性等。

  • 业务:与客户交谈,查看他们的需求和目标,并将这些与项目的技术愿景相匹配。

  • 项目管理:定义用户故事,估算,跟进。

  • 代码:编写代码,进行代码审查等。

对于每个人和每个项目,分配的百分比显然会有所不同。查看实际情况也很重要,因为这些可以帮助您了解所花费的时间。

5)成为团队导师

  • 调解员:技术主管应该是调解员,便于讨论。当人们有不同的意见时,你应该接受这一点。因为这意味着他们足够关心某些事情来讨论它。最后,我们朝着同一个目标努力。每个人都可以从别人的意见中学习。获得团队的意见并尝试达成共识。如果达成共识真的不可能并且需要做出决定,那就做出决定。不决定总是会引发更多的讨论。

  • 导师:技术主管应该是开发人员的导师,当老师。当您查看代码或解释某些约定时,请务必清楚地解释您为何以特定方式执行某些操作的原因。

  • 有效的授权:一段时间后,您的团队将采用某些最佳实践,并且需要较少(严格)的审核或更多人将进行审核。在这一点上,您还可以向更多开发人员提供用户故事的所有权。通过将所有权转让给开发人员,他们将非常积极地做好工作。技术主管不应该试图承担所有责任。技术主管需要确保某人承担责任。

  • 匹配目标:将开发人员的个人目标与项目和组织的更大目标相匹配。这是专门针对性的动态指导。动态,因为目标可以改变。在匹配目标时,沟通非常重要:它会让人感到受到重视。

  • 针对小组进行优化:团队中的个人非常重要,但是当难以找到共识时,您应该关注的是团队。合作良好的团队将表现得更好,表现良好的团队成员是快乐的成员。

一个好的技术 Leader:

  • 知道什么时候给予输入

  • 知道何时做出决定

  • 知道什么时候退后一步,让团队获得更多的所有权。

分担责任,给予所有权,但同时要保持负责。

6)学会做评估

霍夫施塔特定律:即使考虑到霍夫施塔特定律,它也总是比你预期的要长。——Douglas Hofstadter



项目工时评估很难,如果你经常这样做,你会变得更好,但你仍然会有可能犯错。

作为 Tech Leader,可能需要在团队实际需求开发之前进行预估。更便于了解实现成本及优先级的安排调整。

为了达到这个目的,我建议使用三点估计,做一个乐观的(Optimism 简称:O),一个最好的猜测(Best Guess 简称:BG)和一个悲观的估计(Pessimism 简称:P),并使用这个公式:

(O + 4BG + P)÷ 6 //得到加权平均值



掌握评估是一生的旅程,它会让你与众不同。合作方会将你与专业、稳定和高质量的工作联系起来。

7)擅长与外部沟通对接

非技术利益相关者使用的语言可能与开发团队的语言是不同的。技术 Leader 必须找到一种以非技术人员可以理解的方式交流思想的方法。

这在 DDD (领域驱动设计)世界中,这意味着建立一种连接上下文通用语言。

与客户密切合作,尝试从他们那里检测需求,并不断地将他们的需求与正在进行的实施相关联。

作为技术 Leader,在外部沟通合作中作为关键联系人,与其他技术Leader 的沟通协作同样也不可或缺。

有很多理由将自己与其他技术Leader 联系在一起。

  • 在个人层面上,它提供了向同行学习的机会:他们如何为团队提供意见,以及他们如何在角色的不同职责之间分配时间。

  • 在组织层面,应该考虑到是否有明确理解的总体目标。跟进技术架构设计的落地非常重要,以确保您的产品能够很好地与其他组件一起使用,并确保更大的系统保持一致。有可能依赖于其他团队的产品或其他团队的成员,要确保在编制项目排期时考虑到这些因素。

这种协调在较大型的组织或客户时是一个真正的问题。投入一些时间是必要的,以避免超出您的控制范围的意外。

总结

作为技术Leader,也许除了以上列举的几项内容之外,还存在其他很多软性的素质能力。

欲求木之长者必固其本, 欲求流之远者必浚其源:

  • 业务感知的背后, 是对商业社会的理解, 是对需求的洞察;

  • 人员培养激励的背后, 是对人的理解, 是对人性的洞察。

拥抱文化差异,多样性非常宝贵。所有人都不同,过着不同的生活。

总结就是:每个人都是团队的一员,应该重视每个人的意见。

因为你团队的力量不是单个成员的才能,而是他们的合作,坚韧和相互尊重的整体效能的体现。

如何成为一名优秀的技术 Leader?(转)相关推荐

  1. 如何成为一名优秀的技术Leader?

    相信大部分人对于团队管理和技术管理在认知上,存在一定隔阂,无形之中会将[管理岗]和[技术岗]进行对立比较. 在国内一些大研发团队,一般会同时设置两类角色来更好地做团队运行管理. 研发经理/总监,主要负 ...

  2. 如何成为优秀的技术Leader?做到这三点就够了

    技术主管,又叫技术经理,英文一般是 Tech Leader ,简称 TL.随着工作经验的不断积累,能力的不断提升,每个人都有机会成为 Team Leader. 然而在机会到来前,我们必须提前做好准备, ...

  3. 优秀工程师应该具备哪些素质_想成为一名合格的技术工程师需要具备哪些能力?...

    今天小编要跟大家分享的文章是关于想成为一名合格的工程师需要具备哪些能力.技术人员追求的也不仅是知识点,而是在专业领域正确做事的方法及达成目标的能力.两个同时入职的员工,一段时间后技术好的那个就发展得好 ...

  4. 优秀的开发≠优秀的技术管理人

    我们都知道技术开发,到了一定的工作年龄后,都会考虑转技术管理,有些会很成功,有些会完全不适应.开发做了技术管理才明白做技术管理有多不容易. 我们提到过优秀开发需要的能力涉及到基础能力,包括记忆力,想象 ...

  5. 2022年如何成为一名优秀的大前端Leader?

    大家好,我是 漫步,2021已经过去了,感谢你在过去一年对我的支持和帮助,尽管我们未能十全十美.2022年已经到来,我还会每天坚持分享好文章.优秀的技术教程和很酷的资源.希望我们继续同行,一起变得更好 ...

  6. 2023年如何成为一名优秀的大前端Leader?

    目录 一.0-1开发vs低代码 二.优点与缺点 先以JNPF为例,展开说说优点: 1.开发周期短(这点我愿称之为神): 2.开发成本低 3.助力企业适用市场 再来说说缺点: 1.平台越成熟,费用越高 ...

  7. 优秀技术Leader应具备的六项能力!

        技术Leader是互联网公司中,战斗在一线的技术领导者,技术Leader们能力的强弱,决定着公司整个技术团队的战斗力,结合我之前管理上百人技术团队的经验,谈谈我心目中优秀技术Leader五个方 ...

  8. 项目管理学习总结(14)——优秀技术Leader应该具备什么哪些方面的能力

    一.技术能力 系统设计和开发能力.技术Leader要熟悉业务领域内的系统架构和相关技术,能根据业务特性,合理进行分层设计,实现最高效率.低运维成本等等.对于重要而复杂的系统,要求做好过载保护措施,以及 ...

  9. 尝试做一个好的技术Leader, 建立“去中心化团队”

    前言 心中早已有将近几年的心中所想和收获以及实践付诸笔下做下整理,苦于不知道什么才是正确的方式,也困扰于1+1如何让大于2的问题,猛然回首,竟已惘然.思量再三,还是静下心来讲讲感悟心得,说不定若干年后 ...

最新文章

  1. 20145101《Java程序设计》第4周学习总结
  2. 漫画:什么是 JVM 的垃圾回收?
  3. SSH-publickey
  4. android-6.0不支持FloatMath.sqrt(x * x + y * y)
  5. python中csv文件的读写
  6. sqlserver拼接sql插入table_10个SQL技巧
  7. Visual C++ 2008入门经典 第四章数组 字符串
  8. functools.partial()==>预先设置参数,使得之后调用的时候,减少函数的参数
  9. java简单ai聊天_一个hello/hi的简单的网络聊天程序——JAVA
  10. ffmpeg filter 实现画面旋转
  11. Linux嵌入式开发_主设备号与次设备号详解
  12. Haswell 事务内存相关的一些资源介绍
  13. Python基础练习题,含答案解析
  14. 2022世界机器人大会开幕,有屋智能主动终止IPO,《2022人工智能发展白皮书》发布,2022可穿戴设备出货量将达3.44亿台
  15. 4.3 CMMI4级——定量项目管理(Quatitative Project Management)
  16. linux 用户权限不够,linux .权限不够怎么办
  17. AiTrust下预训练和小样本学习在中文医疗信息处理挑战榜CBLUE表现
  18. 网站做SEO优化的5个理由
  19. 荣耀4a鸿蒙,华为荣耀4A上手评测:599元也可以很拉轰
  20. 利用canvas和vue_qrcodes生成带二维码头像的海报(一)

热门文章

  1. 利用matplotlib绘制多个实时刷新的动态图表
  2. table表格表头合并单元格问题
  3. Material studio 中如何构建方形晶胞
  4. H5 iOS 自动调起软键盘
  5. 从什么地方获取大数据_在哪里找大数据
  6. Qt 之 QLineEdit
  7. (二十四) 单链表的逆置(java)
  8. python 处理pdf文件 转成txt 批量提取pdf中的文字
  9. Vue + element-ui 实现分页功能完整流程
  10. 计算机图形学孔令德基础知识,计算机图形学基础教程孔令德答案