写点什么

当你成为一个 Tech Lead

作者:码猿外
  • 2023-07-18
    北京
  • 本文字数:2134 字

    阅读完需:约 7 分钟

当你成为一个Tech Lead

原文参见本人博客:当你成为一个Tech Lead


作为一个程序员,随着在各种项目上的经验积累,你的技术思维会越来越成熟,经验也会逐渐丰富,开始承担开发团队中的核心工作,掌握项目的业务和技术全貌,大概率你会成为一个Tech Lead


在很多公司里,组织结构相对稳定,想成为 Tech Lead 并不是件容易的事情,然而在专业服务公司中,由于项目众多,Tech Lead 作为软件开发活动中非常重要的角色,始终是个稀缺资源。


成为 Tech Lead 可能是突然发生的事情。有些同学可能早就期待着成为一个 Tech Lead 大展拳脚,在日常的工作中积极朝这个方向努力;也有些同学热衷于技术本身,并不想成为 Tech Lead,但由于日常表现突出,能力强,确实是 Tech Lead 的最佳人选。不管怎样,大家都会带上 Tech Lead 的帽子,开始一段新的旅程。

把自己定位为为团队解决问题的人

讲一个在我刚加入公司时印象深刻的小故事:


记得在加入公司后的第一个项目上,一次跟老骚窝的沟通中,讨论起了团队里的技术和流程,我说出了在项目上经历过一段时间后看到的一些问题,当时跟那个老骚窝的对话改变了我的很多想法:


我:……

老骚窝:那就把问题解决掉。

我:PM 和 TL 都忙的不行,没时间。

老骚窝:你可以自己 Drive 解决这个问题。


积极努力解决问题在任何时刻都是被鼓励的,开发人员可以站出来 Lead 一件事推动解决,作为 Tech Lead,更要改变对自己的定位,主动积极解决项目上的问题自然是责无旁贷。


软件开发工作是复杂的,虽然我们在极力用各种工程实践让一切变得有序可控,但它依然是依赖个人能力的一种创造性活动,产品设计是否合理,解决方案是否完备,实施过程是否符合方案预期,实施结果质量是否可靠,每一步都需要团队协作来实施和确认,再加上因成本原因而做的各种妥协,一定会存在各种因知识传递效率、能力差异和协作带来的各种问题。


Tech Lead 往往是团队的技术权威,对解决方案涉及的业务和技术理解相对更全面,更有机会发现这些问题,也有责任在交付过程中通过各种手段尽快找到这些问题,并带领团队解决。

不要让自己一个人忙死

然而,成为 Tech Lead 一段时间的同学都会觉得力不从心,什么事情都应该 Tech Lead 做,我又不是超人,哪有那么多时间,每天跟各种人开会就花去了大部分时间,还要解决各种突发的问题,连参加 Code Review 的时间都没有,今天线上出个问题,明天有个需求要估算,后天说开发的速率低交付有风险……


被戴上 Tech Lead 帽子的那一刻,不管之前是不是有经验(即便是被各种诱惑戴上了 Tech Lead 的帽子),团队对你的预期并不会改变,既然戴上了帽子,那就要成为一个合格的 Tech Lead。但这并不意味着所有的事情都要 Tech Lead 一个人完成。


从经验数据来看,一个人做稍有挑战的事情,既能得到成长,也会因更专心更投入而获得更好的结果。Tech Lead 一般是从团队的核心开发成长起来,在团队中一定有很多非常熟练且可以高效完成的工作,在成为 Tech Lead 之后,身上自然会多出很多工作,那么自己非常熟练的工作就要让其他人来做,也给其他团队成员一个成长的机会。


时间管理是个永恒的话题,初为 Tech Lead,这个问题尤为明显。要解决这个问题,Tech Lead 还是要自己问问自己,哪些事情才是非你做不可的内容。要解决时间的问题,方式并不复杂,但执行起来并不简单:


  • 首先要把所有的事情梳理一下,排好优先级,把工作安排给合适的人

  • 其次就是梯队和人员培养,Tech Lead 要清楚当前团队需要的能力以及当前人员的基本情况,才能把工作分配给合适的人

对内、对外构建专业影响力

要把工作安排给合适的人,能把自己的想法在团队内推进,Tech Lead 也需要在团队内构建起自己的专业影响力。


Tech Lead在技术上是有优势的,但技术也分很多方向,Tech Lead 很难在所有方面都成为专家,前端、后端、基础设施、大数据等等。在项目交付过程中,会有非常多的场景,Tech Lead 很难仅仅靠自己就给出好的解决方案,因此,Tech Lead 需要了解团队内成员的优势,知人善用,有效利用团队内的技术资源来解决问题,切记凭借自己不多的经验武断的下结论。


Tech Lead 对内构建影响力的关键在于帮助团队解决问题,让项目成功,体现团队价值。有些 Tech Lead 比较强势,喜欢一个人做决定,这往往会让一些技术不错的同学感到不舒服,意见不被尊重,甚至被质疑。团队是一个整体,Tech Lead 要能带领团队做决策,解决问题,也需要照顾到团队成员的感受。


除了对内,对外的影响力也是至关重要的,如果说好的 Tech Lead 对内给团队的感受是靠谱和坦诚,那对外给客户或其他干系人的感受应该是专业。对外的专业体现在 Tech Lead 对技术的自信,能充分理解对方的需求,而给出相对全面的解决方案。


如果一个 Tech Lead 无法对外讲清楚自己的技术方案,在遇到相反的观点时轻易修改方案,在遇到别人质疑自己的估算时很难解释清楚,这个专业形象就很难立住。因此,在对外的沟通中,Tech Lead 需要做充分的准备,这种准备应该形成一种习惯,进而锻炼自己敏锐的洞察力,找到问题的关键点,给出合理的方案。

持续学习

作为团队的核心,Tech Lead 需要和各个角色保持紧密的沟通和协作,这远比一个程序员面对代码要复杂得多,既需要不断扩展自己的技术广度和深度,也需要提升自己的各种软技能。所以,每次遇到难题,Tech Lead 都可以把它当做一次挑战,一次学习的机会,不断提升自己,相信回过头来,你会感谢这段旅程。

发布于: 刚刚阅读数: 3
用户头像

码猿外

关注

功不求戾,但求有恒 2018-10-07 加入

麻广广,Thoughtworks Principal Consultant,CAC认证专业敏捷教练,资深软件架构师 专注于分布式软件架构设计、微服务架构设计、软件架构治理和敏捷软件开发管理。 个人主页:https://www.maguangguang.xyz

评论

发布
暂无评论
当你成为一个Tech Lead_技术管理_码猿外_InfoQ写作社区