Tech Lead的责任圈

作者:Patrick Kua
原文链接:https://www.thekua.com/atwork/2015/06/tech-lead-circles-of-responsibility/
翻译此文的目的在于介绍TL模型,尽管本文写于2015,但直到今天其模型仍然有现实指导意义

我今年的一项工作是开发Tech Lead的培训课程,在准备过程中我画了下面的一张图用来解释TL模型,透过这张图既能描述TL需要做什么,还能非常有效地帮助TL发现潜在的提升空间。从这个模型看,TL实际上是开发人员、领导者以及架构师三种角色的交集。

Tech Lead的责任圈_第1张图片
Tech Lead 模型

TL是开发人员中的领导者

TL首先是要具备开发技能,而且需要具有一系列开发技能。在敏捷开发背景下,TL需要掌握其中的工程实践,例如重构、BDD、TDD等。

普通开发人和TL都具备开发技能,但两者完全不同。两者的差异体现在TL能更全面地运用领导力来帮助研发团队实现目标,要实现这一点TL就需要接收来自团队反馈并及时地响应这些反馈来帮助团队进行更有效率的开发活动,而普通开发人员是不能时刻做到这一点的。因此TL不仅需要专注于技术领域,还需要关注团队与人,例如团队内关系构建、人员激励、授权以及影响力。

此外TL还需努力解决团队中冲突,营造一个良好的环境。

发展领导者角色需要的技能

普通的开发者通常很少有机会去学习和实践领导力,成为TL则需要去接触领导力圈中的很多东西。因为无论哪个行业或职位,领导力对于领导者来说都非常重要,而相关方面的书籍、网站或者培训课程也都十分丰富

TL是亲身实践的架构师

我在“how do I still write code as a tech lead”一文中阐述过我希望TL和架构师拥有相同水平的编码能力,甚至建议TL和架构师应当花30%的时间来进行编码。在编码之外我希望TL在架构上做的更多,因为开发人员通常会花很多时间在编码上,长时间的编码造成了他们过于专注某些细节进而对整体或全局缺乏思考,而TL有责任让他们意识到一个重要的事实:

Build systems, not software

这种思维方式的变化将触发开发人员思考更多,他们会去思考系统的质量属性以及其他非功能性需求。当有人开始承担架构师角色时,他们自然会对软件进行更深层次和全面的思考和考量,比如软件如何演进。

发展架构师角色需要的技能

软件架构师角色所需要的技能相对领导力这种通用的技能而言非常新,现有的资源要么聚焦在工具上,要么就是对帮助人们弥合差距的知识三缄其口,因此不太推荐这些资源。尽管人们不断在架构领域出书、撰文、设计培训课程,但实际上这方面的技能还是太少了。

我打算做些什么

目前大多数培训课程都聚集于单个工具或方法,很少关注开发人员对于TL的理解,尤其是在架构方面。我亲身实践了一套TL课程用于帮助人们练习上面模型提到的技能。尽管在这其中会接触不少有关“领导力”的技能,不过我的焦点更多地放在“架构”上,因为这方面目前的资料确实很少。如果你对这门课程感兴趣,请联系我,我计划写另一篇日志,详细介绍我们的内容。

如果你喜欢这篇文章,你也一定会对"Talking with Tech Leads”这本书感兴趣,书中分享了全球35位TL的人生经历。

你可能感兴趣的:(Tech Lead的责任圈)